/* --------------------------------------------------------------------------
   Dr. Çetin CMS v1.6.0 — Inter Font & Theme Tokens
   Inter — kendi sunucumuzda barındırılıyor.
   Google Fonts'a istek gitmez: CSP font-src 'self' ile uyumlu ve ziyaretçi
   verisi üçüncü tarafa aktarılmaz.

   İki alt küme de zorunlu: Türkçe karakterler ikiye bölünmüş durumda.
     latin      → ç ö ü ı ve temel Latin
     latin-ext  → ğ ş İ (U+011E-011F, U+015E-015F, U+0130)
   unicode-range sayesinde tarayıcı yalnızca ihtiyaç duyduğunu indirir.
   -------------------------------------------------------------------------- */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/inter-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/inter-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* --------------------------------------------------------------------------
   Renk sistemi

   Marka rampası turkuaz: sağlık sektörünün güven rengi ailesinde ama
   kurumsal mavi kadar tüketilmemiş, dolayısıyla ayırt edici. Aksan altın —
   turkuazın tamamlayıcısı olduğu için birincil eylem (MHRS randevu) gerçekten
   öne çıkar.

   KONTRAST KISITLARI (tests/contrast.php bunları ölçer, elle bozulamaz):
     brand-600  beyaz yüzeyde bağlantı olarak okunur → beyazla >= 4.5   (6.13)
     brand-500  beyaz METİN taşır (rozet zemini)     → beyazla >= 4.5   (4.75)
     brand-900  hero zemini, beyaz metin taşır       → beyazla >= 7.0  (13.45)
   Bu yüzden 600 ile 500 birbirine yakın koyuluktadır; parlak turkuaz
   (brand-400) yalnızca KOYU zeminde metin, açık temada ise yalnızca
   dekoratif yüzey/gradyan olarak kullanılır. Parlak bir turkuaz beyaz
   üstünde ~2.6:1 verir, metin için asla kullanılamaz.

   Altın rampası ikiye ayrılır:
     accent-500/600  koyu altın — ÜSTÜNDE BEYAZ metin taşıyabilir
     accent-400      parlak altın — üstünde KOYU metin taşır (--on-accent)
   Birincil buton parlak altın + koyu lacivert metindir: 9.47:1, yani AAA.
   Önceki tasarımda beyaz metin koyu amber üstündeydi ve çamurlu duruyordu.

   Renkler doğrudan kullanılmaz; aşağıdaki semantik değişkenler üzerinden
   okunur. Koyu tema yalnızca semantik katmanı değiştirir.
   -------------------------------------------------------------------------- */
:root {
  --brand-950: #04222e;
  --brand-900: #053343;
  --brand-800: #064b5d;
  --brand-700: #076176;
  --brand-600: #0a6b80;
  --brand-500: #0c7d93;
  --brand-400: #22b8cf;
  --brand-300: #5fd4e0;
  --brand-200: #a5e9f0;
  --brand-100: #d4f5f9;
  --brand-50:  #eefbfd;

  --accent-700: #7a4c08;
  --accent-600: #8a5709;
  --accent-500: #a1660c;
  --accent-400: #f0b429;
  --accent-300: #ffd166;
  --accent-100: #fef3d8;
  --on-accent: #0b1a26;

  --ok-600: #147a52;
  --ok-100: #e4f5ec;
  --warn-600: #8a5709;
  --warn-100: #fef3d8;
  --danger-600: #a32c2c;
  --danger-100: #fdecec;

  /* Semantik — açık tema: buzul beyazı. Zemin saf beyaz değil, hafif mavi
     kırılmalı; kartlar saf beyaz kalınca aralarındaki katman farkı gölgeye
     ihtiyaç duymadan okunur. */
  --bg: #f4f8fb;
  --surface: #ffffff;
  --surface-alt: #eaf2f8;
  --surface-sunken: #dfeaf2;
  --text: #0b1a26;
  --text-muted: #3d4f5e;      /* zemin üstünde 7.94:1 — AAA */
  --text-soft: #5b6b7a;       /* 5.14:1 */
  --on-brand: #ffffff;
  --on-brand-muted: rgba(255, 255, 255, .85);
  --line: #d8e4ee;
  --line-strong: #b4c6d6;

  /* İki katmanlı gölge: yakın kenar keskinliği + uzak yumuşak derinlik. */
  --shadow-sm: 0 1px 2px rgba(5, 51, 67, .06), 0 2px 8px rgba(5, 51, 67, .05);
  --shadow: 0 4px 12px rgba(5, 51, 67, .07), 0 16px 40px rgba(5, 51, 67, .09);
  --shadow-lg: 0 8px 24px rgba(5, 51, 67, .10), 0 32px 72px rgba(5, 51, 67, .14);
  --glow-accent: 0 6px 22px rgba(240, 180, 41, .38);
  --glow-brand: 0 6px 22px rgba(12, 125, 147, .30);

  /* Cam efekti yalnızca başlık şeridinde. Gövde metninin veya menü
     bağlantılarının arkasında saydamlık olursa gerçek zemin rengi arkadaki
     içeriğe göre değişir; kontrast ölçülemez hâle gelir ve AAA hedefi
     anlamını yitirir. Opaklık bu yüzden .92 — bulanıklık ve doygunluk
     efekti görünür kalırken renk büyük ölçüde yüzeyin kendisidir. */
  --glass-bg: rgba(255, 255, 255, .92);
  --glass-border: rgba(255, 255, 255, .9);
  --glass-blur: 20px;

  --hero-gradient: radial-gradient(circle at 78% 12%, rgba(34, 184, 207, .34), transparent 46%),
                   radial-gradient(circle at 12% 88%, rgba(240, 180, 41, .16), transparent 44%),
                   linear-gradient(135deg, #04222e 0%, #064b5d 52%, #0a6b80 100%);
  --brand-mark: linear-gradient(135deg, var(--brand-700), var(--brand-400));

  --focus: #f0b429;
  --radius-sm: .65rem;
  --radius: 1.1rem;
  --radius-lg: 1.8rem;
  --container: 1440px;

  color-scheme: light;
}

/* Koyu tema değerleri iki yerde tanımlanır: sistem tercihi ve kullanıcının
   açık seçimi. CSS'te değişken grubu yeniden kullanılamadığı için blok
   tekrarlanıyor; İKİSİ DE AYNI LİSTEYİ TAŞIMALIDIR.

   Zemin, önceki #081119 yerine derin safir laciverte çekildi: siyaha yakın
   zemin metni keskinleştirmiyor, yalnızca boğuyor. Yüzey zeminden belirgin
   biçimde ayrıldığı için kartlar gölgeye bel bağlamadan okunur. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0e1626;
    --surface: #18233a;
    --surface-alt: #131c2e;
    --surface-sunken: #202d47;
    --text: #eaf1f8;           /* zemin üstünde 15.87:1 */
    --text-muted: #b3c2d6;     /* 9.99:1 — AAA */
    --text-soft: #8496ad;      /* 5.98:1 */
    --line: #26334d;
    --line-strong: #3a4a68;

    --brand-50: #10203a;
    --brand-100: #16294a;

    --shadow-sm: 0 1px 2px rgba(0, 0, 0, .5), 0 2px 8px rgba(0, 0, 0, .35);
    --shadow: 0 4px 12px rgba(0, 0, 0, .45), 0 16px 40px rgba(0, 0, 0, .45);
    --shadow-lg: 0 8px 24px rgba(0, 0, 0, .5), 0 32px 72px rgba(0, 0, 0, .55);
    --glow-accent: 0 6px 26px rgba(240, 180, 41, .30);
    --glow-brand: 0 6px 26px rgba(34, 184, 207, .28);

    --glass-bg: rgba(24, 35, 58, .92);
    --glass-border: rgba(120, 150, 190, .22);

    --hero-gradient: radial-gradient(circle at 78% 12%, rgba(34, 184, 207, .26), transparent 48%),
                     radial-gradient(circle at 12% 88%, rgba(240, 180, 41, .12), transparent 46%),
                     linear-gradient(135deg, #0b1322 0%, #10243a 52%, #0f3448 100%);

    color-scheme: dark;
  }
}

:root[data-theme="dark"] {
  --bg: #0e1626;
  --surface: #18233a;
  --surface-alt: #131c2e;
  --surface-sunken: #202d47;
  --text: #eaf1f8;
  --text-muted: #b3c2d6;
  --text-soft: #8496ad;
  --line: #26334d;
  --line-strong: #3a4a68;

  --brand-50: #10203a;
  --brand-100: #16294a;

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, .5), 0 2px 8px rgba(0, 0, 0, .35);
  --shadow: 0 4px 12px rgba(0, 0, 0, .45), 0 16px 40px rgba(0, 0, 0, .45);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, .5), 0 32px 72px rgba(0, 0, 0, .55);
  --glow-accent: 0 6px 26px rgba(240, 180, 41, .30);
  --glow-brand: 0 6px 26px rgba(34, 184, 207, .28);

  --glass-bg: rgba(24, 35, 58, .92);
  --glass-border: rgba(120, 150, 190, .22);

  --hero-gradient: radial-gradient(circle at 78% 12%, rgba(34, 184, 207, .26), transparent 48%),
                   radial-gradient(circle at 12% 88%, rgba(240, 180, 41, .12), transparent 46%),
                   linear-gradient(135deg, #0b1322 0%, #10243a 52%, #0f3448 100%);

  color-scheme: dark;
}

/* --------------------------------------------------------------------------
   Temel
   -------------------------------------------------------------------------- */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--text);
  background: var(--bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  transition: background-color .3s ease, color .3s ease;
}
img, video { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.container { width: min(calc(100% - 2rem), var(--container)); margin-inline: auto; }
/* "narrow" artık dar bir kolon değil, gövde metninin okunabilir ölçüsü.
   Düz metin satırı ~90 karakteri aşınca göz satır başını kaybeder; bu yüzden
   container 1440'a çıkarken metin blokları ölçülü genişletildi. Izgaralar,
   kart listeleri ve detay sayfaları ise tam genişliği kullanır. */
.container.narrow { max-width: 1080px; }
.skip-link { position: fixed; left: 1rem; top: -100px; background: var(--surface); color: var(--text); padding: .75rem 1rem; z-index: 9999; border-radius: .5rem; box-shadow: var(--shadow); }
.skip-link:focus { top: 1rem; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }

/* --------------------------------------------------------------------------
   Başlık ve navigasyon
   -------------------------------------------------------------------------- */
/* Cam efekti: header sayfanın üstünde yüzer, altındaki içerik bulanık geçer.
   backdrop-filter desteklenmeyen tarayıcıda @supports dışındaki opak zemin
   devrede kalır — metin hiçbir koşulda saydam bir yüzeyde kalmaz. */
.site-header { position: sticky; top: 0; z-index: 100; background: var(--surface); border-bottom: 1px solid var(--line); transition: box-shadow .25s ease, background-color .3s ease, border-color .3s ease; }
@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) {
  .site-header { background: var(--glass-bg); -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(1.6); backdrop-filter: blur(var(--glass-blur)) saturate(1.6); }
}
.site-header.scrolled { box-shadow: var(--shadow); border-bottom-color: var(--line-strong); }
.header-inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.brand { display: inline-flex; align-items: center; gap: .8rem; min-width: 0; }
.brand-mark { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--brand-mark); color: #fff; font-weight: 800; letter-spacing: -.03em; box-shadow: 0 8px 24px rgba(11, 79, 108, .28); flex: 0 0 auto; }
.brand span:last-child { display: grid; line-height: 1.2; }
.brand strong { font-size: .98rem; }
.brand small { color: var(--text-muted); font-size: .73rem; margin-top: .18rem; }
.main-nav { display: flex; align-items: center; gap: 1.25rem; font-size: .92rem; font-weight: 650; }
.main-nav > a:not(.btn) { position: relative; padding-block: .75rem; color: var(--text-muted); transition: color .2s ease; }
.main-nav > a:not(.btn):hover { color: var(--text); }
.main-nav > a:not(.btn)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: .4rem; height: 2px; background: var(--brand-500); transition: right .2s ease; }
.main-nav > a:not(.btn):hover::after { right: 0; }
.lang-link { border: 1px solid var(--line-strong); border-radius: 999px; padding: .3rem .65rem !important; }
.menu-toggle { display: none; width: 44px; height: 44px; border: 0; border-radius: .7rem; background: var(--surface-alt); padding: .7rem; }
.menu-toggle span { display: block; height: 2px; background: var(--text); margin: 5px 0; }

/* Tema değiştirici */
.theme-toggle { width: 40px; height: 40px; border: 1px solid var(--line-strong); border-radius: 999px; background: transparent; color: var(--text-muted); display: grid; place-items: center; flex: 0 0 auto; transition: color .2s ease, border-color .2s ease, transform .2s ease; }
.theme-toggle:hover { color: var(--text); border-color: var(--brand-400); transform: translateY(-1px); }
.theme-toggle svg { width: 18px; height: 18px; }
.theme-toggle .icon-moon { display: none; }
:root[data-theme="dark"] .theme-toggle .icon-sun,
:root:not([data-theme="light"]) .theme-toggle .icon-sun { display: block; }
:root[data-theme="dark"] .theme-toggle .icon-sun { display: none; }
:root[data-theme="dark"] .theme-toggle .icon-moon { display: block; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .theme-toggle .icon-sun { display: none; }
  :root:not([data-theme="light"]) .theme-toggle .icon-moon { display: block; }
  :root[data-theme="light"] .theme-toggle .icon-sun { display: block; }
  :root[data-theme="light"] .theme-toggle .icon-moon { display: none; }
}

/* --------------------------------------------------------------------------
   Butonlar
   -------------------------------------------------------------------------- */
.btn {
  position: relative; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  min-height: 48px; padding: .72rem 1.3rem; border-radius: .75rem;
  border: 1px solid transparent; font-weight: 750; letter-spacing: -.01em;
  transition: transform .18s cubic-bezier(.2,.8,.3,1), box-shadow .22s ease, background .2s ease, border-color .2s ease, color .2s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0) scale(.985); }

/* Üzerinden geçen ışık: yalnızca hover'da, tek seferlik. Sürekli dönen bir
   parlama dikkat dağıtır ve hareket hassasiyeti olan ziyaretçiyi rahatsız
   eder — bu yüzden animasyon değil, konum geçişi. */
.btn::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,.42) 50%, transparent 65%);
  transform: translateX(-120%);
  transition: transform .55s ease;
  pointer-events: none;
}
.btn:hover::after { transform: translateX(120%); }

/* Birincil eylem: parlak altın + koyu lacivert metin = 9.47:1 (AAA).
   Önceki tasarım beyaz metni koyu amber üstüne koyuyordu; erişilebilirdi
   ama çamurluydu ve hero'nun turkuazıyla ilişki kurmuyordu. */
.btn-primary { background: linear-gradient(135deg, var(--accent-300), var(--accent-400)); color: var(--on-accent); box-shadow: var(--glow-accent); }
.btn-primary:hover { box-shadow: 0 10px 30px rgba(240, 180, 41, .5); }
.btn-secondary { background: var(--surface); color: var(--text); border-color: var(--line-strong); }
.btn-secondary:hover { border-color: var(--brand-400); box-shadow: var(--glow-brand); }
.btn-light { background: #fff; color: var(--brand-900); box-shadow: var(--shadow-sm); }
.btn-small { min-height: 40px; padding: .5rem .9rem; font-size: .84rem; }

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */
.hero-section { position: relative; overflow: hidden; background: var(--hero-gradient); color: #fff; }
.hero-section::before { content: ""; position: absolute; inset: auto auto -160px -100px; width: 420px; height: 420px; border-radius: 50%; border: 80px solid rgba(255,255,255,.05); }
.hero-grid { min-height: 620px; display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: clamp(2rem,5vw,5rem); padding-block: 4.5rem; }
.hero-copy { position: relative; z-index: 2; }
.eyebrow { display: inline-block; text-transform: uppercase; letter-spacing: .14em; font-size: .74rem; font-weight: 800; color: var(--brand-600); margin-bottom: .7rem; }
.hero-copy .eyebrow, .light .eyebrow, .section-dark .eyebrow { color: var(--brand-200); }
h1, h2, h3 { margin: 0 0 .75rem; line-height: 1.13; letter-spacing: -.035em; color: var(--text); }
h1 { font-size: clamp(2.6rem, 6vw, 5.1rem); }
h2 { font-size: clamp(2rem, 4vw, 3.2rem); }
h3 { font-size: 1.35rem; }
.hero-copy h1 { color: #fff; max-width: 940px; }
.hero-copy > p { color: var(--on-brand-muted); font-size: clamp(1.05rem,2vw,1.22rem); max-width: 780px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin: 1.8rem 0 1.25rem; }
.hero-note { display: flex; align-items: center; gap: .55rem; color: rgba(255,255,255,.78); font-size: .85rem; }
.hero-note span { width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; flex: 0 0 auto; }
.hero-media { position: relative; display: grid; place-items: center; min-height: 470px; }
.hero-media-frame {
  width: min(100%, 420px);
  aspect-ratio: .86;
  border-radius: 48% 48% 22% 22% / 40% 40% 18% 18%;
  border: 9px solid rgba(255, 255, 255, 0.42);
  box-shadow: 0 38px 90px rgba(4, 32, 47, 0.45);
  overflow: hidden;
  position: relative;
  z-index: 2;
  background: rgba(255, 255, 255, 0.12);
}
.hero-media-frame img,
.hero-media > img {
  width: 100%;
  height: 100%;
  aspect-ratio: .86;
  object-fit: cover;
  object-position: 50% 28%;
  transform: scale(2.05);
  transform-origin: 50% 28%;
  display: block;
}
.hero-orbit { position: absolute; width: 480px; height: 480px; border-radius: 50%; border: 1px solid rgba(255,255,255,.22); animation: orbit-spin 46s linear infinite; }
.hero-orbit::after { content: ""; position: absolute; width: 28px; height: 28px; border-radius: 50%; background: #fff; right: 35px; top: 85px; box-shadow: 0 0 0 12px rgba(255,255,255,.12); }
@keyframes orbit-spin { to { transform: rotate(360deg); } }

/* --------------------------------------------------------------------------
   Bölümler ve kartlar
   -------------------------------------------------------------------------- */
.section { padding-block: clamp(4rem, 8vw, 7rem); }
.section-muted { background: var(--surface-alt); }
.section-dark { background: var(--brand-950); color: #fff; overflow: hidden; }
.section-heading { max-width: 920px; margin: 0 auto 3rem; text-align: center; }
.section-heading > p { color: var(--text-muted); font-size: 1.04rem; }
.section-heading.light h2 { color: #fff; }
.section-heading.light > p { color: var(--brand-200); }
.section-action { display: flex; justify-content: center; margin-top: 2.3rem; }
.card-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.25rem; }
.service-card {
  position: relative; background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius); padding: 1.7rem; min-height: 270px;
  box-shadow: var(--shadow-sm);
  transition: transform .25s cubic-bezier(.2,.8,.3,1), box-shadow .25s ease, border-color .25s ease;
  display: flex; flex-direction: column;
}
/* Üst kenarda marka çizgisi — yalnızca hover'da beliren ince bir vurgu.
   Kartın kendisi opak kalır; saydamlık metnin arkasına girmez. */
.service-card::before {
  content: ""; position: absolute; inset: 0 0 auto; height: 3px;
  border-radius: var(--radius) var(--radius) 0 0;
  background: linear-gradient(90deg, var(--brand-400), var(--accent-400));
  opacity: 0; transition: opacity .25s ease;
}
.service-card:hover { transform: translateY(-7px); box-shadow: var(--shadow-lg); border-color: var(--brand-300); }
.service-card:hover::before { opacity: 1; }
.service-icon { width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; background: var(--brand-mark); color: #fff; font-size: 1.25rem; margin-bottom: 1.35rem; box-shadow: var(--glow-brand); transition: transform .25s ease; }
.service-card:hover .service-icon { transform: scale(1.06) rotate(-4deg); }
.service-card h2, .service-card h3 { font-size: 1.18rem; }
.service-card p { color: var(--text-muted); flex: 1; }
.service-card a { color: var(--brand-600); font-weight: 750; }
.service-card a span { display: inline-block; transition: transform .2s ease; }
.service-card:hover a span { transform: translateX(4px); }

.split-feature { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(2.5rem,6vw,6rem); }
.feature-image img { width: 100%; aspect-ratio: 1.25; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow); background: var(--surface-alt); }
.feature-copy > p { color: var(--text-muted); }
.check-list { list-style: none; padding: 0; margin: 1.5rem 0 2rem; display: grid; gap: .8rem; }
.check-list li { position: relative; padding-left: 2rem; }
.check-list li::before { content: "✓"; position: absolute; left: 0; top: .1rem; width: 1.35rem; height: 1.35rem; border-radius: 50%; display: grid; place-items: center; color: var(--ok-600); border: 1px solid var(--ok-600); font-size: .75rem; font-weight: 900; }

/* --------------------------------------------------------------------------
   Operasyon listesi (Kompakt, Modern ve Şık Cam Efektli Kartlar)
   -------------------------------------------------------------------------- */
.operation-list { display: grid; gap: 2rem; max-width: 1180px; margin-inline: auto; }
.operation-list.compact { max-width: 1180px; }
.operation-row {
  display: grid;
  grid-template-columns: 290px 1fr;
  align-items: center;
  gap: clamp(1.8rem, 4vw, 3.5rem);
  padding: clamp(1.4rem, 2.8vw, 2rem);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 1.4rem;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.015));
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.28s ease, box-shadow 0.28s ease, background 0.28s ease;
}
.operation-row:hover {
  transform: translateY(-4px);
  border-color: rgba(53, 197, 219, 0.4);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.03));
  box-shadow: 0 20px 45px -10px rgba(4, 25, 45, 0.65), 0 0 25px rgba(53, 197, 219, 0.12);
}
.operation-row.reverse {
  grid-template-columns: 1fr 290px;
}
.operation-row.reverse .operation-media { order: 2; }
.operation-row.reverse .operation-copy { order: 1; }

.operation-media {
  position: relative;
  width: 100%;
  max-width: 290px;
  justify-self: center;
  border-radius: 1.15rem;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 14px 35px -8px rgba(0, 0, 0, 0.45);
  background: #091a2e;
}
.operation-media img {
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
  display: block;
  border-radius: 1.15rem;
  transition: transform 0.35s ease, filter 0.35s ease;
}
.operation-row:hover .operation-media img {
  transform: scale(1.04);
  filter: brightness(1.05);
}

.media-type-badge {
  position: absolute;
  top: .75rem;
  left: .75rem;
  z-index: 2;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .04em;
  padding: .25rem .6rem;
  border-radius: 999px;
  background: rgba(10, 25, 45, 0.85);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.3);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}

.play-badge {
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  width: 54px;
  height: 54px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #0c4a6e;
  font-size: 1.25rem;
  padding-left: 3px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
  transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease;
  z-index: 2;
}
.operation-row:hover .play-badge {
  transform: translate(-50%, -50%) scale(1.14);
  background: #38bdf8;
  color: #fff;
  box-shadow: 0 0 25px rgba(56, 189, 248, 0.6);
}

.operation-copy .number {
  display: inline-block;
  font-size: .88rem;
  letter-spacing: .16em;
  color: var(--brand-400);
  font-weight: 850;
  margin-bottom: .65rem;
}

.operation-copy h2, .operation-copy h3 {
  color: #fff;
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  font-weight: 800;
  line-height: 1.35;
  margin: 0 0 .75rem;
}
.operation-copy p {
  color: rgba(255, 255, 255, 0.78);
  font-size: .96rem;
  line-height: 1.62;
  margin: 0 0 1.25rem;
}
.operation-copy a.btn {
  font-weight: 750;
  display: inline-flex;
  align-items: center;
}
.dark-empty { background: rgba(255,255,255,.05) !important; color: var(--brand-200) !important; border-color: rgba(255,255,255,.12) !important; }

.cta-section { background: var(--surface-sunken); }
.cta-card { background: var(--surface); border-radius: var(--radius-lg); padding: clamp(2rem,5vw,4rem); display: flex; align-items: center; justify-content: space-between; gap: 2rem; box-shadow: var(--shadow); }
.cta-card h2 { max-width: 760px; font-size: clamp(1.7rem,3vw,2.5rem); }

/* --------------------------------------------------------------------------
   İçerik sayfaları
   -------------------------------------------------------------------------- */
.page-hero { background: var(--hero-gradient); color: #fff; padding-block: clamp(4.5rem,8vw,7rem); text-align: center; }
.page-hero h1 { color: #fff; font-size: clamp(2.4rem,5vw,4.3rem); }
.page-hero p { color: var(--on-brand-muted); font-size: 1.08rem; }
.content-layout { max-width: 1080px; }
.content-hero-image { width: 100%; max-height: 520px; object-fit: cover; border-radius: var(--radius-lg); margin-bottom: 2.5rem; box-shadow: var(--shadow); }
.rich-content { font-size: 1.05rem; color: var(--text-muted); }
.rich-content h2, .rich-content h3, .rich-content h4 { margin-top: 2.1rem; color: var(--text); }
.rich-content p { margin: 0 0 1.15rem; }
.rich-content ul { padding-left: 1.3rem; }
.rich-content li { margin-bottom: .5rem; }
.rich-content blockquote { border-left: 4px solid var(--brand-500); padding: 1rem 1.25rem; margin: 1.5rem 0; background: var(--brand-50); border-radius: 0 .8rem .8rem 0; color: var(--text); }
.rich-content a { color: var(--brand-600); text-decoration: underline; }
.info-panel, .medical-disclaimer { margin-top: 2.5rem; padding: 1.5rem; border-radius: var(--radius); background: var(--brand-50); border: 1px solid var(--line); }
.medical-disclaimer { max-width: 1080px; margin-inline: auto; }
.medical-disclaimer strong { color: var(--text); }

.operation-detail-grid { display: grid; grid-template-columns: minmax(270px,.72fr) minmax(0,1.28fr); gap: clamp(2.5rem,6vw,6rem); align-items: start; max-width: 1320px; }
.operation-detail-media { position: sticky; top: 110px; }
.operation-detail-media img, .operation-detail-media video { width: 100%; border-radius: var(--radius-lg); box-shadow: var(--shadow); background: var(--brand-900); }
.operation-detail-media img { aspect-ratio: 9/12; object-fit: cover; }
/* Taslak önizleme bandı */
.preview-banner { background: var(--accent-600); color: #fff; padding: .7rem 1rem; text-align: center; font-size: .9rem; position: sticky; top: 0; z-index: 200; }
.preview-banner strong { margin-right: .5rem; text-transform: uppercase; letter-spacing: .08em; font-size: .78rem; }

/* Tıkla-yükle video: iframe yalnızca oynatınca eklenir. */
.video-embed { position: relative; border-radius: var(--radius-lg); overflow: hidden; background: var(--brand-900); box-shadow: var(--shadow); }
.video-embed .video-poster, .video-embed picture { display: block; width: 100%; }
.video-embed picture img, .video-embed img.video-poster { width: 100%; aspect-ratio: 9/12; object-fit: cover; display: block; }
.video-poster-empty { aspect-ratio: 9/12; background: linear-gradient(135deg, var(--brand-800), var(--brand-600)); }
.video-play { position: absolute; inset: 50% auto auto 50%; transform: translate(-50%, -50%); width: 74px; height: 74px; border-radius: 50%; border: 0; background: rgba(255,255,255,.94); color: var(--brand-900); font-size: 1.5rem; display: grid; place-items: center; box-shadow: 0 12px 35px rgba(0,0,0,.3); transition: transform .2s ease, background-color .2s ease; }
.video-play:hover { transform: translate(-50%,-50%) scale(1.08); background: #fff; }
.video-note { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: .6rem .8rem; background: rgba(4,32,47,.82); color: rgba(255,255,255,.9); font-size: .74rem; line-height: 1.4; }
.video-embed.playing { aspect-ratio: 9/12; }
.video-embed.playing iframe { width: 100%; height: 100%; border: 0; display: block; }

.media-external-link { display: flex; align-items: center; justify-content: center; gap: .5rem; margin-top: 1rem; padding: .8rem 1rem; border: 1px solid var(--line-strong); border-radius: .8rem; background: var(--surface); color: var(--brand-600); font-weight: 750; font-size: .92rem; transition: all .2s ease; }
.media-external-link:hover { border-color: var(--brand-400); background: var(--surface-alt); color: var(--brand-500); transform: translateY(-1px); }

/* --------------------------------------------------------------------------
   İletişim ve formlar
   -------------------------------------------------------------------------- */
.contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 2rem; align-items: start; }
.contact-grid .contact-card { background: var(--brand-900); color: #fff; border-radius: var(--radius-lg); padding: 2rem; display: grid; gap: 1rem; }
.contact-grid .contact-card h2 { color: #fff; }
.contact-form { grid-column: 1 / -1; max-width: 1000px; width: 100%; margin: 2rem auto 0; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 2rem; background: var(--surface); box-shadow: var(--shadow); display: grid; gap: 1rem; }
.contact-form label { display: grid; gap: .4rem; font-weight: 700; }
.contact-form input, .contact-form textarea { width: 100%; border: 1px solid var(--line-strong); border-radius: .7rem; padding: .78rem .9rem; background: var(--surface); color: var(--text); transition: border-color .2s ease, box-shadow .2s ease; }
.contact-form input:focus, .contact-form textarea:focus { border-color: var(--brand-400); box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-400) 22%, transparent); outline: none; }
.form-warning { background: var(--warn-100); border: 1px solid var(--accent-400); color: var(--warn-600); padding: 1rem; border-radius: .7rem; }
.form-select { width: 100%; border: 1px solid var(--line-strong); border-radius: .7rem; padding: .78rem .9rem; background: var(--surface); color: var(--text); outline: none; transition: border-color .2s ease, box-shadow .2s ease; }
.form-select:focus { border-color: var(--brand-400); box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-400) 22%, transparent); }

.surface-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: clamp(1.5rem, 4vw, 2.2rem); box-shadow: var(--shadow); }
.review-form-card { max-width: 680px; margin: 3rem auto 0; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); padding: clamp(1.5rem, 4vw, 2.5rem); box-shadow: var(--shadow); }
.review-form-card h3 { margin-top: 0; margin-bottom: 0.5rem; text-align: center; font-size: 1.4rem; color: var(--text); }
.review-form-card p.subtitle { text-align: center; color: var(--text-muted); font-size: 0.92rem; margin-bottom: 1.5rem; line-height: 1.5; }

.empty-state { padding: 2rem; border: 1px dashed var(--line-strong); border-radius: var(--radius); text-align: center; color: var(--text-muted); background: var(--surface); }
.flash { margin-top: 1rem; padding: 1rem 1.2rem; border-radius: .8rem; }
.flash-success { background: var(--ok-100); color: var(--ok-600); border: 1px solid var(--ok-600); }
.flash-error { background: var(--danger-100); color: var(--danger-600); border: 1px solid var(--danger-600); }
.error-page, .maintenance-screen { min-height: 65vh; display: grid; place-items: center; text-align: center; padding: 4rem 1rem; }
.error-code { font-size: clamp(5rem,15vw,10rem); font-weight: 900; color: var(--brand-100); line-height: .8; }
.maintenance-screen { background: var(--hero-gradient); color: #fff; min-height: 100vh; }
.maintenance-card { max-width: 620px; }
.maintenance-card h1 { color: #fff; }

/* --------------------------------------------------------------------------
   Alt bilgi
   -------------------------------------------------------------------------- */
.site-footer { background: var(--brand-950); color: var(--brand-200); padding-top: 4rem; }
.footer-grid { display: grid; grid-template-columns: 1.5fr .8fr .8fr 1fr; gap: 2.5rem; }
.footer-grid h2 { color: #fff; font-size: 1rem; letter-spacing: 0; }
.footer-grid section { display: flex; flex-direction: column; gap: .65rem; }
.footer-grid a { transition: color .2s ease; }
.footer-grid a:hover { color: #fff; }
.footer-brand strong { color: #fff; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.12); margin-top: 3rem; padding-block: 1.4rem; font-size: .85rem; }

/* --------------------------------------------------------------------------
   Görünürlük animasyonu
   -------------------------------------------------------------------------- */
[data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .65s ease, transform .65s ease; }
[data-reveal].revealed { opacity: 1; transform: none; }
/* Aynı anda görünen kartlar sırayla girsin; hepsinin birden belirmesi
   hareketi ucuzlaştırıyor. */
[data-reveal].revealed { transition-delay: calc(var(--reveal-index, 0) * 70ms); }

/* --------------------------------------------------------------------------
   Duyarlı düzen
   -------------------------------------------------------------------------- */
@media (max-width: 1050px) {
  .menu-toggle { display: block; }
  .main-nav { position: fixed; inset: 82px 1rem auto 1rem; display: none; flex-direction: column; align-items: stretch; padding: 1rem; background: var(--surface); border: 1px solid var(--line); border-radius: 1rem; box-shadow: var(--shadow); }
  .main-nav.open { display: flex; }
  .main-nav .btn { width: 100%; }
  .hero-grid { grid-template-columns: 1fr 380px; }
  .card-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer-grid section:last-child { grid-column: 1 / -1; }
}

@media (max-width: 780px) {
  .header-inner { min-height: 72px; }
  .main-nav { inset-top: 72px; }
  .brand strong { font-size: .88rem; }
  .brand small { display: none; }
  .hero-grid { grid-template-columns: 1fr; min-height: auto; padding-block: 3.5rem; }
  .hero-media { min-height: 360px; order: -1; }
  .hero-media img { max-height: 380px; width: min(80vw,330px); }
  .hero-orbit { width: 350px; height: 350px; }
  .split-feature, .operation-detail-grid, .contact-grid { grid-template-columns: 1fr; }
  .operation-detail-media { position: static; max-width: 430px; margin-inline: auto; }
  .operation-row, .operation-row.reverse { grid-template-columns: 1fr; padding: 1.25rem; }
  .operation-row.reverse .operation-media, .operation-row.reverse .operation-copy { order: initial; }
  .operation-media { max-width: 300px; }
  .cta-card { flex-direction: column; align-items: flex-start; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid section:last-child { grid-column: auto; }
}

@media (max-width: 560px) {
  .container { width: min(calc(100% - 1.25rem), var(--container)); }
  .card-grid { grid-template-columns: 1fr; }
  .hero-actions { flex-direction: column; }
  .hero-actions .btn { width: 100%; }
  .service-card { min-height: auto; }
  .footer-grid { grid-template-columns: 1fr; }
  .contact-form { padding: 1.25rem; }
  h1 { font-size: 2.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  [data-reveal] { opacity: 1; transform: none; }
  .hero-orbit { animation: none; }
  /* Süreyi kısaltmak yetmez: dönüşüm yine uygulanır, yalnızca anında olur.
     Hareketten rahatsız olan ziyaretçi için ögenin hiç yer değiştirmemesi
     gerekir. Parlama efekti de tamamen kapatılır. */
  .btn:hover, .btn:active, .service-card:hover, .operation-card:hover { transform: none !important; }
  .btn::after { display: none; }
}

/* --------------------------------------------------------------------------
   Faz 4 — yeni içerik tipleri
   -------------------------------------------------------------------------- */

/* Ekmek kırıntısı */
.breadcrumbs { border-bottom: 1px solid var(--line); background: var(--surface-alt); font-size: .86rem; }
.breadcrumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: .8rem 0; }
.breadcrumbs li + li::before { content: "›"; margin-right: .5rem; color: var(--text-soft); }
.breadcrumbs a { color: var(--text-muted); text-decoration: underline; text-underline-offset: 2px; }
.breadcrumbs a:hover { color: var(--brand-600); }
.breadcrumbs [aria-current="page"] { color: var(--text); font-weight: 650; }

/* Kategori ve etiket çipleri */
.chip-filter { display: flex; flex-wrap: wrap; gap: .65rem; margin-bottom: 2.2rem; }
.chip { display: inline-flex; align-items: center; min-height: 42px; padding: .4rem 1.1rem; border: 1px solid var(--line-strong); border-radius: 999px; font-size: .88rem; font-weight: 700; color: var(--text-muted); background: var(--surface); box-shadow: var(--shadow-sm); transition: all .2s ease; }
.chip:hover { border-color: var(--brand-400); color: var(--text); transform: translateY(-1px); }
.chip.active { background: linear-gradient(135deg, #0a6b80, #139cb8); border-color: #22b8cf; color: #fff; box-shadow: 0 4px 14px rgba(10, 107, 128, .35); }
.chip.small { min-height: 0; padding: .22rem .75rem; font-size: .72rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; background: color-mix(in srgb, var(--brand-500) 14%, var(--surface)); color: var(--brand-400); border: 1px solid color-mix(in srgb, var(--brand-500) 30%, transparent); border-radius: 999px; align-self: flex-start; display: inline-block; }

/* Bilgi yazısı kartları */
.article-grid { align-items: stretch; }
.article-card { display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-sm); transition: transform .28s cubic-bezier(.2,.8,.3,1), box-shadow .28s ease, border-color .28s ease; position: relative; }
.article-card::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--brand-400), var(--accent-400)); opacity: 0; transition: opacity .25s ease; z-index: 2; }
.article-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); border-color: var(--brand-400); }
.article-card:hover::before { opacity: 1; }
.article-card-media img { width: 100%; aspect-ratio: 16/10; object-fit: cover; background: var(--surface-alt); }
.article-card-body { padding: 1.6rem; display: flex; flex-direction: column; gap: .75rem; flex: 1; }
.article-card h2, .article-card h3 { font-size: 1.22rem; line-height: 1.35; margin: 0; font-weight: 750; }
.article-card p { color: var(--text-muted); font-size: .95rem; line-height: 1.6; margin: 0; }
.article-card a { color: inherit; }
.article-card h2 a:hover, .article-card h3 a:hover { color: var(--brand-400); }
.article-meta { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .8rem; margin-top: auto !important; padding-top: 1rem; border-top: 1px solid var(--line); font-size: .82rem; color: var(--text-soft); }
.hero-meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; font-size: .88rem; color: var(--on-brand-muted); }

/* İçindekiler */
.toc { border: 1px solid var(--line); border-left: 4px solid var(--brand-500); border-radius: 0 var(--radius) var(--radius) 0; background: var(--surface-alt); padding: 1.2rem 1.4rem; margin-bottom: 2.2rem; }
.toc h2 { font-size: .82rem; text-transform: uppercase; letter-spacing: .12em; color: var(--text-soft); margin-bottom: .6rem; }
.toc ol { margin: 0; padding-left: 1.2rem; display: grid; gap: .35rem; }
.toc a { color: var(--brand-600); text-decoration: underline; text-underline-offset: 2px; }
.toc .toc-level-3 { margin-left: .9rem; font-size: .93rem; }

/* Otomatik iç bağlantı: normal bağlantıdan ayırt edilebilir ama gürültü yapmaz */
.rich-content a.auto-link { text-decoration-style: dotted; }

/* Kaynakça */
.references { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.references h2 { font-size: 1.1rem; }
.references .rich-content { font-size: .94rem; }
.reviewed-note { font-size: .86rem; color: var(--text-soft); margin-top: .5rem; }

/* İlgili içerik */
.related-block { margin-top: 3rem; }
.related-block h2 { font-size: 1.25rem; }
.related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.related-card { display: grid; gap: .35rem; padding: 1.1rem; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); transition: border-color .2s ease, transform .2s ease; }
.related-card:hover { border-color: var(--brand-400); transform: translateY(-3px); }
.related-card span { color: var(--text-muted); font-size: .88rem; }

/* Sıkça sorulan sorular */
.faq-block { margin-top: 3rem; }
.faq-group { margin-bottom: 2.5rem; }
.faq-group h2 { font-size: 1.4rem; }
.faq-list { display: grid; gap: .7rem; }
.faq-item { border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); overflow: hidden; }
.faq-item summary { cursor: pointer; padding: 1rem 1.2rem; font-weight: 700; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 48px; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; font-size: 1.35rem; line-height: 1; color: var(--brand-600); flex: 0 0 auto; }
.faq-item[open] summary::after { content: "−"; }
.faq-item[open] summary { border-bottom: 1px solid var(--line); }
.faq-item .rich-content { padding: 1rem 1.2rem 0; }
.faq-related { display: inline-block; padding: 0 1.2rem 1rem; color: var(--brand-600); font-weight: 650; font-size: .9rem; }
.faq-all { display: inline-block; margin-top: 1rem; color: var(--brand-600); font-weight: 700; }

/* Hasta yolculuğu */
.journey-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.2rem; counter-reset: journey; }
.journey-step { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 1.3rem; padding: 1.6rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow-sm); }
.journey-number { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--brand-mark); color: #fff; font-weight: 800; letter-spacing: -.02em; }
.journey-body h2 { display: flex; align-items: center; gap: .6rem; font-size: 1.3rem; }
.journey-icon svg { width: 26px; height: 26px; color: var(--brand-600); }
.journey-summary { color: var(--text); font-weight: 650; }

/* Akademik yayınlar */
.publication-total { color: var(--text-soft); font-size: .9rem; }
.publication-year { margin-bottom: 2.2rem; }
.publication-year h2 { font-size: 1.3rem; padding-bottom: .4rem; border-bottom: 1px solid var(--line); }
.publication-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.1rem; }
.publication-list li { display: grid; gap: .25rem; padding-left: 1rem; border-left: 3px solid var(--brand-200); }
.publication-type { font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; color: var(--brand-600); font-weight: 800; }
.publication-authors, .publication-venue, .publication-note { color: var(--text-muted); font-size: .92rem; }
.publication-note { font-style: italic; }
.publication-link { color: var(--brand-600); font-size: .88rem; font-weight: 650; text-decoration: underline; text-underline-offset: 2px; justify-self: start; }

/* Arama */
.search-form { display: flex; gap: .6rem; flex-wrap: wrap; max-width: 620px; margin-inline: auto; }
.search-form input { flex: 1 1 240px; min-height: 48px; border: 1px solid rgba(255,255,255,.4); border-radius: .7rem; padding: .7rem 1rem; background: rgba(255,255,255,.14); color: #fff; }
.search-form input::placeholder { color: rgba(255,255,255,.7); }
.search-count { color: var(--text-soft); }
.search-results { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.4rem; }
.search-results li { display: grid; gap: .35rem; padding-bottom: 1.4rem; border-bottom: 1px solid var(--line); }
.search-results a { font-size: 1.15rem; font-weight: 750; color: var(--brand-600); }
.search-results p { color: var(--text-muted); margin: 0; }

/* Uzmanlık ikonları artık SVG (BULGU-E4: tofu sorunu) */
.service-icon svg { width: 26px; height: 26px; }

/* Header içindeki arama simgesi */
.icon-link { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--line-strong); border-radius: 999px; color: var(--text-muted); flex: 0 0 auto; transition: color .2s ease, border-color .2s ease; }
.icon-link:hover { color: var(--text); border-color: var(--brand-400); }
.icon-link svg { width: 18px; height: 18px; }
.icon-link::after { display: none !important; }

/* Form alanı hata bildirimi (BULGU-E2) */
.field-error { color: var(--danger-600); font-size: .86rem; font-weight: 650; }
.contact-form [aria-invalid="true"] { border-color: var(--danger-600); box-shadow: 0 0 0 3px color-mix(in srgb, var(--danger-600) 18%, transparent); }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Acil durum bandı (G6.3) */
.emergency-band { background: var(--danger-100); border-top: 1px solid var(--danger-600); color: var(--danger-600); font-size: .9rem; }
.emergency-band .container { display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: baseline; padding-block: .9rem; }
.emergency-band span { color: var(--text-muted); }

/* --------------------------------------------------------------------------
   Erişilebilirlik araç çubuğu (G10.4)
   -------------------------------------------------------------------------- */
.a11y-panel { border-top: 1px solid var(--line); background: var(--surface-alt); }
.a11y-panel-inner { display: flex; flex-wrap: wrap; align-items: center; gap: 1.2rem; padding-block: .9rem; font-size: .9rem; }
.a11y-panel fieldset { display: flex; align-items: center; gap: .4rem; border: 0; margin: 0; padding: 0; }
.a11y-panel legend { float: left; margin-right: .6rem; color: var(--text-muted); font-weight: 650; }
.a11y-panel fieldset button { min-width: 44px; min-height: 40px; border: 1px solid var(--line-strong); border-radius: .55rem; background: var(--surface); color: var(--text); font-weight: 750; }
.a11y-panel fieldset button[aria-pressed="true"] { background: var(--brand-700); border-color: var(--brand-700); color: #fff; }
.a11y-switch { display: inline-flex; align-items: center; gap: .45rem; color: var(--text-muted); }
.a11y-panel a { color: var(--brand-600); text-decoration: underline; text-underline-offset: 2px; }

/* Yazı boyutu tercihi: rem tabanlı olduğu için tüm ölçekler birlikte büyür. */
:root[data-text-size="large"] { font-size: 112.5%; }
:root[data-text-size="xlarge"] { font-size: 125%; }
:root[data-text-size="large"] body,
:root[data-text-size="xlarge"] body { font-size: 1rem; }

/* Yüksek kontrast: gri tonlar koyulaşır, kenarlıklar belirginleşir. */
:root[data-contrast="high"] {
  --text-muted: #1e2a33;
  --text-soft: #26333d;
  --line: #7d8b96;
  --line-strong: #4a5763;
  --on-brand-muted: #ffffff;
}
:root[data-contrast="high"][data-theme="dark"],
:root[data-contrast="high"] { --focus: #ffcc4d; }
:root[data-contrast="high"][data-theme="dark"] {
  --text-muted: #eef4f7;
  --text-soft: #dae4ea;
  --line: #6d8494;
  --line-strong: #93a8b6;
}
:root[data-contrast="high"] .btn, :root[data-contrast="high"] .chip { border-width: 2px; }
:root[data-contrast="high"] .rich-content a { text-decoration-thickness: 2px; }

/* Kullanıcının elle seçtiği hareket azaltma (sistem tercihine ek). */
:root[data-motion="reduce"] *, :root[data-motion="reduce"] *::before, :root[data-motion="reduce"] *::after {
  animation-duration: .01ms !important; animation-iteration-count: 1 !important;
  transition-duration: .01ms !important; scroll-behavior: auto !important;
}
:root[data-motion="reduce"] [data-reveal] { opacity: 1; transform: none; }

@media (max-width: 1050px) {
  .a11y-panel-inner { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 780px) {
  .related-grid { grid-template-columns: 1fr; }
  .journey-step { grid-template-columns: 1fr; gap: .9rem; }
  .journey-number { width: 44px; height: 44px; }
  .search-form { flex-direction: column; }
}

/* --------------------------------------------------------------------------
   Başlık sadeleştirmesi — "Hasta Rehberi" açılır menüsü ve altbilgi araçları

   Üst seviyede yedi sekme vardı; hastaya dönük üç içerik tipi tek bir
   sekmenin altına toplandı, arama ve erişilebilirlik altbilgiye indi.
   -------------------------------------------------------------------------- */
.nav-group { position: relative; display: flex; align-items: center; }
.nav-group-toggle {
  display: inline-flex; align-items: center; gap: .35rem;
  padding: .75rem 0; border: 0; background: none;
  font: inherit; font-weight: 650; color: var(--text-muted);
  transition: color .2s ease;
}
.nav-group-toggle:hover, .nav-group-toggle[aria-expanded="true"] { color: var(--text); }
/* Alt sayfalardan birindeyken üst sekme de vurgulanır. */
.nav-group-toggle[data-active="1"] { color: var(--text); }
.nav-group-toggle svg { width: 15px; height: 15px; transition: transform .22s ease; }
.nav-group-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }

.nav-group-menu {
  position: absolute; top: calc(100% + .5rem); left: 50%; transform: translateX(-50%);
  min-width: 232px; display: flex; flex-direction: column;
  padding: .5rem; border-radius: var(--radius);
  background: var(--surface); border: 1px solid var(--line);
  box-shadow: var(--shadow-lg); z-index: 120;
}
/* Menü zemini bilinçli olarak OPAK. Cam efekti buraya da uygulanabilirdi ama
   saydam bir yüzeyin gerçek rengi arkasındaki içeriğe göre değişir; bağlantı
   metninin kontrastı o durumda ölçülemez ve tests/contrast.php'nin garantisi
   burada geçersiz kalırdı. Cam yalnızca başlık şeridinde. */
.nav-group-menu[hidden] { display: none; }
.nav-group-menu a {
  padding: .68rem .85rem; border-radius: .6rem; color: var(--text-muted);
  font-weight: 650; transition: background-color .18s ease, color .18s ease;
}
.nav-group-menu a:hover { background: var(--surface-alt); color: var(--text); }
.nav-group-menu a[aria-current="page"] { background: var(--brand-50); color: var(--brand-600); }

/* Altbilgi araçları */
.footer-tools { position: relative; }
.footer-tool {
  display: inline-flex; align-items: center; gap: .55rem;
  min-height: 44px; padding: 0; border: 0; background: none;
  font: inherit; color: inherit; text-align: left;
  transition: color .2s ease;
}
.footer-tool svg { width: 18px; height: 18px; flex: 0 0 auto; }
.footer-tool:hover { color: #fff; }

/* Panel artık koyu altbilginin içinde; kendi yüzeyini taşıması gerekiyor,
   aksi hâlde açık tema için yazılmış iç stiller koyu zeminde okunamaz. */
.site-footer .a11y-panel {
  position: absolute; bottom: calc(100% + .75rem); left: 0; z-index: 120;
  min-width: min(320px, 80vw);
  border: 1px solid var(--line); border-radius: var(--radius);
  background: var(--surface); color: var(--text);
  box-shadow: var(--shadow-lg);
}
.site-footer .a11y-panel[hidden] { display: none; }
.site-footer .a11y-panel-inner { flex-direction: column; align-items: flex-start; gap: .85rem; padding: 1rem; }
.site-footer .a11y-panel a { color: var(--brand-600); }

@media (max-width: 1050px) {
  /* Mobil menüde açılır liste yerinde açılır; konumlandırma kalkar. */
  .nav-group { display: block; width: 100%; }
  .nav-group-toggle { width: 100%; justify-content: space-between; }
  .nav-group-menu { position: static; transform: none; min-width: 0; width: 100%; box-shadow: none; background: var(--surface-alt); }
  .site-footer .a11y-panel { position: static; min-width: 0; }
}

/* --------------------------------------------------------------------------
   İletişim sayfası — bilgi kartları, harita ve sosyal bağlantılar
   -------------------------------------------------------------------------- */
.contact-info-section { padding-block: clamp(2.5rem, 5vw, 4rem); }
.contact-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.contact-card {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  gap: .35rem; padding: 1.9rem 1.5rem;
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius); box-shadow: var(--shadow-sm);
  transition: transform .25s cubic-bezier(.2,.8,.3,1), box-shadow .25s ease, border-color .25s ease;
}
.contact-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); border-color: var(--brand-300); }
/* Tıklanabilir kartlar: tüm yüzey hedef. Odak halkası kartın tamamını
   sarmalı, yoksa klavye kullanıcısı nereye geldiğini göremez. */
.contact-card-link { cursor: pointer; }
.contact-card-link:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.contact-card-link:hover .contact-icon { transform: scale(1.06); }
.contact-card .contact-icon { transition: transform .25s ease; }
.contact-card h2 { font-size: 1.05rem; margin: .35rem 0 .2rem; }
.contact-card p { margin: 0; color: var(--text-muted); font-size: .93rem; }
.contact-card .contact-strong { color: var(--text); font-weight: 700; }
.contact-card a { color: var(--brand-600); }
.contact-card a:hover { text-decoration: underline; text-underline-offset: 2px; }
.contact-card .btn { margin-top: .9rem; }
.contact-icon {
  width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center;
  background: var(--brand-mark); color: #fff; box-shadow: var(--glow-brand); flex: 0 0 auto;
}
.contact-icon svg { width: 26px; height: 26px; }
/* Randevu kartı birincil eylemi taşır; altın kenarla diğerlerinden ayrılır. */
.contact-card-cta { border-color: color-mix(in srgb, var(--accent-400) 45%, var(--line)); }
.contact-card-cta .contact-icon { background: linear-gradient(135deg, var(--accent-300), var(--accent-400)); color: var(--on-accent); box-shadow: var(--glow-accent); }

/* align-items: stretch (varsayılan) bilinçli: sol kolon, sağdaki haritanın
   yüksekliğine uzar ve MHRS bloğu kalan boşluğu doldurur. "start" olsaydı
   metin bittiği yerde kesilir, haritanın yanında geniş bir boşluk kalırdı. */
.contact-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: clamp(2rem, 4vw, 3.5rem); }
.contact-main { min-width: 0; display: flex; flex-direction: column; }
.contact-side { min-width: 0; }
.contact-side h2 { font-size: 1.15rem; }
.contact-layout .contact-form { max-width: none; margin: 2rem 0 0; }

/* Harita doğrudan gösterilir; loading="lazy" ile görünür alana girene kadar
   indirilmez. Çerez politikası bu durumu açıkça anlatır. */
.map-embed {
  position: relative; aspect-ratio: 4 / 3; border-radius: var(--radius);
  overflow: hidden; border: 1px solid var(--line); background: var(--surface-alt);
  box-shadow: var(--shadow-sm);
}
.map-embed iframe { width: 100%; height: 100%; border: 0; display: block; }
.map-note { margin-top: .6rem; font-size: .82rem; color: var(--text-soft); }
/* Kurum bilgisi haritanın yanında: ayrı bir adres kartına gerek kalmadı. */
.map-place { margin: 0 0 .15rem; font-weight: 700; color: var(--text); }
.map-address { margin: 0 0 1rem; color: var(--text-muted); font-size: .93rem; }

/* İletişim gövdesindeki birincil eylem.
   flex: 1 — kalan dikey boşluğu bu blok yutar; içerik dikeyde ortalanır.
   İletişim formu açıkken kolon zaten dolduğu için blok doğal boyutuna iner. */
.contact-cta {
  flex: 1;
  display: flex; flex-direction: column; align-items: flex-start; justify-content: center;
  gap: 1.15rem; min-height: 190px;
  margin-top: 1.75rem; padding: clamp(1.6rem, 3vw, 2.4rem);
  border: 1px solid color-mix(in srgb, var(--accent-400) 45%, var(--line));
  border-radius: var(--radius);
  background:
    radial-gradient(circle at 92% 12%, color-mix(in srgb, var(--accent-400) 16%, transparent), transparent 58%),
    var(--surface);
  box-shadow: var(--shadow-sm);
}
.contact-cta p { margin: 0; max-width: 46ch; color: var(--text-muted); font-size: 1.02rem; }
.contact-cta .btn { flex: 0 0 auto; }

@media (max-width: 1050px) {
  /* Tek kolona düşünce uzayacak boşluk kalmaz. */
  .contact-cta { flex: 0 0 auto; min-height: 0; }
}
.map-open { color: var(--brand-600); font-weight: 650; }
.map-open:hover { text-decoration: underline; text-underline-offset: 2px; }

@media (max-width: 560px) {
  .contact-cards { grid-template-columns: 1fr; }
}

/* --------------------------------------------------------------------------
   Çerez Onayı (KVKK / GDPR Cookie Consent)
   -------------------------------------------------------------------------- */
.cookie-banner {
  position: fixed;
  bottom: 1.5rem;
  left: 50%;
  transform: translateX(-50%) translateY(140%);
  width: min(calc(100% - 2rem), 760px);
  background: var(--surface);
  color: var(--text);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-lg);
  padding: 1.15rem 1.4rem;
  box-shadow: 0 16px 48px rgba(0, 0, 0, .45);
  z-index: 999;
  transition: transform .35s cubic-bezier(.2, .8, .3, 1), opacity .3s ease;
  opacity: 0;
  pointer-events: none;
}
.cookie-banner.show {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
  pointer-events: auto;
}
.cookie-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  width: 100%;
}
.cookie-content p {
  margin: 0;
  font-size: .88rem;
  line-height: 1.5;
  color: var(--text-muted);
}
.cookie-content a {
  color: var(--brand-400);
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 650;
}
.cookie-actions {
  display: flex;
  gap: .5rem;
  flex: 0 0 auto;
}
@media (max-width: 680px) {
  .cookie-content {
    flex-direction: column;
    align-items: stretch;
    gap: .85rem;
  }
  .cookie-actions .btn {
    width: 100%;
  }
}


/* --------------------------------------------------------------------------
   Tıbbi Vurgu Kutuları (Callout Boxes), Tablolar ve Görseller
   -------------------------------------------------------------------------- */
.callout {
  display: flex;
  gap: 1.1rem;
  align-items: flex-start;
  padding: 1.2rem 1.5rem;
  margin: 1.8rem 0;
  border-radius: var(--radius, 1rem);
  border-left: 4px solid;
  line-height: 1.65;
  box-shadow: var(--shadow-sm);
}
.callout-icon {
  font-size: 1.45rem;
  line-height: 1;
  flex-shrink: 0;
  margin-top: .15rem;
}
.callout-body, .callout-content {
  flex: 1;
  font-size: .98rem;
}
.callout-info {
  background: color-mix(in srgb, var(--brand-500) 10%, var(--surface));
  border-left-color: var(--brand-500);
}
.callout-warning {
  background: rgba(245, 158, 11, .1);
  border-left-color: #f59e0b;
}
.callout-doctor {
  background: rgba(16, 185, 129, .1);
  border-left-color: #10b981;
}

.table-wrap {
  width: 100%;
  overflow-x: auto;
  margin: 1.8rem 0;
  border-radius: var(--radius, 1rem);
  border: 1px solid var(--line);
  background: var(--surface);
  box-shadow: var(--shadow-sm);
}
.data-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-size: .95rem;
}
.data-table th, .data-table td {
  padding: .9rem 1.2rem;
  border-bottom: 1px solid var(--line);
}
.data-table th {
  background: var(--surface-alt);
  font-weight: 750;
  color: var(--text);
}
.data-table tr:last-child td {
  border-bottom: 0;
}

.content-media {
  margin: 2.2rem 0;
  text-align: center;
}
.content-media img {
  max-width: 100%;
  height: auto;
  border-radius: var(--radius-lg, 1.25rem);
  box-shadow: var(--shadow);
  border: 1px solid var(--line);
}
.content-media figcaption {
  margin-top: .6rem;
  font-size: .86rem;
  color: var(--text-soft);
  font-style: italic;
}
/* --------------------------------------------------------------------------
   Kayan Hasta Yorumları Bandı (Marquee Ticker) & Yatay Görüş Kartı
   -------------------------------------------------------------------------- */
.reviews-marquee-section {
  padding-block: clamp(2rem, 4vw, 3.2rem);
  background: var(--surface-alt);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  overflow: hidden;
  position: relative;
}
.marquee-header {
  margin-bottom: 1.5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}
.marquee-container {
  display: flex;
  overflow: hidden;
  user-select: none;
  width: 100%;
  position: relative;
  mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, black 5%, black 95%, transparent);
}
.marquee-track {
  display: flex;
  gap: 1.35rem;
  width: max-content;
  animation: marquee-scroll 45s linear infinite;
}
.marquee-track:hover {
  animation-play-state: paused;
}

@keyframes marquee-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.review-ticker-card {
  flex: 0 0 350px;
  max-width: 350px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.35rem 1.5rem;
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.review-ticker-card:hover {
  transform: translateY(-4px);
  border-color: var(--brand-400);
  box-shadow: var(--shadow);
}
.review-ticker-stars {
  color: #f59e0b;
  font-size: 1.1rem;
  letter-spacing: 2px;
  margin-bottom: .6rem;
}
.review-ticker-text {
  font-size: .92rem;
  line-height: 1.6;
  color: var(--text-muted);
  font-style: italic;
  margin: 0 0 1.1rem 0;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.review-ticker-author {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--line);
  padding-top: .75rem;
  font-size: .86rem;
}
.review-ticker-author strong {
  color: var(--text);
}
.review-ticker-author span {
  color: var(--text-soft);
  font-size: .8rem;
}

/* Yatay Geniş Yorum Gönderme Kartı */
.review-horizontal-card {
  max-width: 1080px;
  margin: 0 auto;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: clamp(1.8rem, 4vw, 3rem);
  box-shadow: var(--shadow);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: center;
}
.review-horizontal-card h2 {
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  margin: 0 0 .75rem;
}
@media (max-width: 860px) {
  .review-horizontal-card {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

/* Buton grupları arasındaki boşluğu kesin olarak garantiye al */
.section-action {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 1.25rem !important;
  flex-wrap: wrap !important;
  margin-top: 2.5rem !important;
}
.hero-actions {
  display: flex !important;
  gap: 1rem !important;
  flex-wrap: wrap !important;
}
/* Dark Mode Brand-600 AAA Contrast Fix */
:root[data-theme="dark"],
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --brand-600: #35c5db !important;
  }
}
:root[data-theme="dark"] {
  --brand-600: #35c5db !important;
}

/* SSS Danışma Grid & Tablet Uyumu */
.faq-consultation-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 380px);
  gap: clamp(1.5rem, 4vw, 2.5rem);
  align-items: start;
}
@media (max-width: 880px) {
  .faq-consultation-grid {
    grid-template-columns: 1fr;
  }
}

/* İletişim Kartları Tablet Uyumu */
@media (max-width: 960px) {
  .contact-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Yorum Formu Giriş Satırı Mobilde 1 Kolona Geçiş */
.review-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.9rem;
  margin-bottom: 0.9rem;
}
@media (max-width: 520px) {
  .review-form-row {
    grid-template-columns: 1fr !important;
  }
}

/* Feragatname ve Bilgi Paneli Aksiyon Butonu Boşluğu */
.medical-disclaimer .btn, .info-panel .btn {
  margin-top: 1.15rem !important;
  display: inline-flex !important;
}

/* Hata Sayfaları (404, 500, 419) */
.error-page {
  min-height: 65vh;
  display: grid;
  place-items: center;
  text-align: center;
  padding: clamp(3rem, 8vw, 6rem) 1.25rem;
}
.error-code {
  display: inline-block;
  font-size: clamp(5rem, 14vw, 8.5rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -.04em;
  background: linear-gradient(135deg, var(--brand-500), var(--brand-300));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 1rem;
}
.error-page h1 {
  font-size: clamp(1.8rem, 4vw, 2.6rem);
  margin-bottom: 1rem;
}
.error-page p {
  max-width: 520px;
  margin: 0 auto 2rem;
  color: var(--text-muted);
  font-size: 1.1rem;
  line-height: 1.6;
}

/* Boş Durum (Empty State) */
.empty-state {
  padding: 3rem 1.5rem;
  text-align: center;
  background: var(--surface);
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius);
  color: var(--text-muted);
  font-size: 1.02rem;
  margin: 1.5rem 0;
}

/* Mobil Dokunmatik Alan Standardı */
@media (max-width: 768px) {
  .lang-link {
    min-height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
  }
}
/* Google Haritalar Hasta Memnuniyet Rozeti (4.9 ★) */
.google-rating-badge {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
  padding: 1rem 1.35rem;
  margin-bottom: 1.6rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.google-rating-badge:hover {
  transform: translateY(-2px);
  border-color: var(--brand-400);
  box-shadow: var(--shadow);
}
.google-badge-left {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.google-rating-score {
  display: flex;
  align-items: center;
  gap: .5rem;
}
.score-num {
  font-size: 1.35rem;
  font-weight: 900;
  color: var(--text);
  line-height: 1;
}
.google-rating-score .stars {
  color: #f59e0b;
  font-size: 1.15rem;
  letter-spacing: 1px;
}
.google-rating-label {
  font-size: .82rem;
  color: var(--text-muted);
  font-weight: 600;
  margin-top: .15rem;
}
.google-badge-link {
  color: var(--brand-600);
  font-weight: 750;
  font-size: .88rem;
  padding: .45rem .85rem;
  border-radius: .6rem;
  background: var(--surface-alt);
  border: 1px solid var(--line);
  transition: all .2s ease;
  white-space: nowrap;
}
.google-badge-link:hover {
  background: var(--brand-500);
  color: #fff;
  border-color: var(--brand-500);
}
@media (max-width: 600px) {
  .google-rating-badge {
    flex-direction: column;
    align-items: flex-start;
    gap: .85rem;
  }
  .google-badge-link {
    width: 100%;
    text-align: center;
  }
}
/* --------------------------------------------------------------------------
   Doğrudan Video Modal / Lightbox Sistemi
   -------------------------------------------------------------------------- */
.operation-media.has-video {
  cursor: pointer;
  position: relative;
  overflow: hidden;
}
.operation-media.has-video:hover img {
  transform: scale(1.03);
}
.operation-media.has-video img {
  transition: transform .3s ease;
}
.play-badge-pulse {
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: rgba(53, 197, 219, .4);
  pointer-events: none;
  animation: pulse-ring 2s infinite cubic-bezier(.215,.61,.355,1);
}
@keyframes pulse-ring {
  0% { transform: translate(-50%, -50%) scale(.9); opacity: .8; }
  70% { transform: translate(-50%, -50%) scale(1.6); opacity: 0; }
  100% { transform: translate(-50%, -50%) scale(1.8); opacity: 0; }
}

.operation-title-link {
  color: inherit;
  text-decoration: none;
  transition: color .2s ease;
}
.operation-title-link:hover {
  color: var(--brand-400);
}
.operation-actions {
  display: flex;
  align-items: center;
  gap: .85rem;
  flex-wrap: wrap;
  margin-top: 1.35rem;
}

.video-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 1rem;
}
.video-modal[hidden] {
  display: none !important;
}
.video-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(4, 15, 29, .88);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  animation: modal-fade-in .2s ease;
}
.video-modal-container {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 500px;
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: 0 25px 60px rgba(0, 0, 0, .5);
  animation: modal-slide-up .25s cubic-bezier(.16, 1, .3, 1);
}
.video-modal-close {
  position: absolute;
  top: .8rem;
  right: .8rem;
  z-index: 10;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(0, 0, 0, .7);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .2);
  font-size: 1.2rem;
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: transform .15s ease, background .15s ease;
}
.video-modal-close:hover {
  transform: scale(1.1);
  background: #000;
}
.video-modal-frame-wrap {
  width: 100%;
  aspect-ratio: 9/13;
  background: #000;
  position: relative;
}
.video-modal-frame-wrap iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
.video-modal-footer {
  padding: 1.1rem 1.4rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  background: var(--surface-alt);
  border-top: 1px solid var(--line);
}
.video-modal-title {
  margin: 0;
  font-size: .95rem;
  font-weight: 750;
  color: var(--text);
  line-height: 1.3;
}

@keyframes modal-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes modal-slide-up {
  from { opacity: 0; transform: translateY(20px) scale(.96); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
/* --------------------------------------------------------------------------
   İçerik İçi Gömülü Video (Instagram / YouTube)
   -------------------------------------------------------------------------- */
.content-video-embed {
  margin: 2rem 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--surface-alt);
  border: 1px solid var(--line-strong);
  box-shadow: var(--shadow);
  max-width: 540px;
  margin-inline: auto;
}
.content-video-embed.instagram-embed iframe {
  width: 100%;
  aspect-ratio: 9/13;
  min-height: 520px;
  border: 0;
  display: block;
}
.content-video-embed.youtube-embed iframe {
  width: 100%;
  aspect-ratio: 16/9;
  border: 0;
  display: block;
}
.content-video-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: .75rem 1rem;
  background: var(--surface);
  border-top: 1px solid var(--line);
  color: var(--brand-600);
  font-weight: 750;
  font-size: .88rem;
  text-decoration: none !important;
  transition: all .2s ease;
}
.content-video-link:hover {
  background: var(--surface-alt);
  color: var(--brand-400);
}
.map-doctor {
  font-size: 1.05rem;
  color: var(--text);
  margin-bottom: .25rem;
}
.map-doctor strong {
  color: var(--brand-400);
  font-weight: 800;
}
.map-doctor-sub {
  color: var(--text-muted);
  font-size: .92rem;
}