/* =========================================================
   Nanodent Centre Turkey — Ana Stil Dosyası
   Sadece HTML + CSS | SEO / GEO / AIO uyumlu
   ========================================================= */

/* ---------- Değişkenler (nanodentturkey.com gerçek tasarım tokenları) ---------- */
:root {
  --gold: #d6a12e;          /* marka altın / border */
  --gold-2: #c8912b;
  --gold-light: #e7be5b;
  --gold-dark: #8a6510;      /* açık zemin üstünde metin / beyaz metin altında zemin — AA (5.3:1) */
  --black: #000000;
  --dark: #1f2937;          /* link / koyu metin */
  --dark-2: #1c1c1c;
  --gray: #374151;          /* ikincil metin */
  --gray-light: #6b6b6b;
  --white: #ffffff;
  --off-white: #f5f5f5;
  --green: #07821f;         /* WhatsApp / GET PRICE NOW — beyaz metinle AA (5.0:1) */
  --green-dark: #05661a;
  --input-border: #f3f3f3;
  --radius: 4px;            /* temel radius (kartlar) */
  --btn-radius: 8px;        /* tüm butonlar: ne köşeli ne yuvarlak — arada */
  --shadow: 0 10px 30px rgba(0, 0, 0, .12);
  --container: 1240px;
  --font: "Mulish", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* ---------- Reset ---------- */
*,
*::before,
*::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: var(--font);
  color: var(--dark);
  background: var(--white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;   /* mobilde yatay taşmayı engelle (sticky header korunur) */
}

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

a { text-decoration: none; color: inherit; }

ul { list-style: none; margin: 0; padding: 0; }

h1, h2, h3, h4 { margin: 0 0 .4em; line-height: 1.15; }

.container {
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 20px;
}

.visually-hidden {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0);
  white-space: nowrap; border: 0;
}

/* ---------- Butonlar ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  border: none;
  border-radius: var(--btn-radius);
  cursor: pointer;
  padding: 14px 26px;
  font-size: 15px;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
  font-family: inherit;
}
.btn:hover { transform: translateY(-2px); }

.btn-whatsapp {
  background: var(--green);
  color: var(--white);
}
.btn-whatsapp:hover { background: var(--green-dark); }

/* Tüm WhatsApp butonlarında TEK ve tutarlı marka ikonu (FAB ile birebir aynı).
   Eskiden bazı butonlarda ✆ (&#9990;) telefon glifi, bazılarında hiç ikon yoktu;
   site genelinde aynı WhatsApp logosunu kullanıyoruz — ambiyansa uygun. */
.btn-whatsapp > span[aria-hidden="true"] { display: none; }   /* eski telefon glifini gizle */
.btn-whatsapp::before {
  content: ""; flex: none; width: 19px; height: 19px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='%23fff'%3E%3Cpath d='M16 .5C7.4.5.5 7.4.5 16c0 2.8.7 5.4 2 7.7L.5 31.5l8-2.1c2.2 1.2 4.8 1.9 7.5 1.9 8.6 0 15.5-6.9 15.5-15.5S24.6.5 16 .5zm0 28.3c-2.4 0-4.7-.6-6.7-1.8l-.5-.3-4.8 1.3 1.3-4.7-.3-.5C3.9 20.9 3.2 18.5 3.2 16 3.2 8.9 9 3.2 16 3.2S28.8 8.9 28.8 16 23 28.8 16 28.8zm7.9-9.6c-.4-.2-2.5-1.2-2.9-1.4-.4-.1-.7-.2-1 .2-.3.4-1.1 1.4-1.4 1.7-.3.3-.5.3-.9.1-.4-.2-1.8-.7-3.4-2.1-1.3-1.1-2.1-2.5-2.4-2.9-.3-.4 0-.6.2-.8.2-.2.4-.5.6-.7.2-.2.3-.4.4-.7.1-.3.1-.5 0-.7-.1-.2-1-2.4-1.4-3.3-.4-.9-.7-.7-1-.7h-.8c-.3 0-.7.1-1.1.5-.4.4-1.4 1.4-1.4 3.4s1.5 3.9 1.7 4.2c.2.3 2.9 4.5 7.1 6.3 1 .4 1.8.7 2.4.9 1 .3 1.9.3 2.6.2.8-.1 2.5-1 2.8-2 .3-1 .3-1.8.2-2-.1-.2-.4-.3-.8-.5z'/%3E%3C/svg%3E") center/contain no-repeat;
}

.btn-dark {
  background: var(--black);
  color: var(--gold);
  border: 1px solid var(--gold);
}
.btn-dark:hover { background: #222; }

.btn-outline-gold {
  background: transparent;
  color: var(--gold-dark);
  border: 1.5px solid var(--gold);
}
.btn-outline-gold:hover { background: var(--gold); color: var(--black); }
/* Koyu zeminli bölümlerde metin parlak altın kalır (siyah üstünde 9:1);
   açık zeminde yukarıdaki koyu altın kullanılır (beyaz üstünde 5.3:1). */
.treatments-sec .btn-outline-gold,
.anesthesia .btn-outline-gold,
.tr-viewall {
  color: var(--gold);
  border-color: var(--gold);
}

/* Yukarı-sağ ok: iOS'ta "\2197" karakteri mavi emoji olarak render oluyordu.
   Bunun yerine currentColor'ı takip eden temiz bir SVG ikon (her cihazda aynı). */
.arrow::after {
  content: "";
  display: inline-block;
  width: .8em;
  height: .8em;
  margin-left: .12em;
  vertical-align: -.05em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M7 7h10v10'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M7 7h10v10'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* =========================================================
   1. ÜST BAR
   ========================================================= */
.topbar {
  background: linear-gradient(90deg, #b8871f 0%, #e2b955 50%, #b8871f 100%);
  color: #2a1c00;
  font-size: 13px;
}
.topbar .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-top: 7px;
  padding-bottom: 7px;
  /* Alttaki .site-header ile ayni kenar hizasi — ikisi tek blok gibi okunur. */
  max-width: none;
  padding-left: clamp(20px, 2.5vw, 52px);
  padding-right: clamp(20px, 2.5vw, 52px);
}

/* İnce inline telefon — ağır siyah kutu kaldırıldı */
.topbar-phone {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  color: #2a1c00;
  white-space: nowrap;
}
.topbar-phone .tb-ico { width: 15px; height: 15px; color: #2a1c00; flex: none; opacity: .85; }
.topbar-phone a { display: inline-flex; align-items: center; gap: 7px; color: #2a1c00; }
.topbar-phone a:hover { color: #000; }
.tb-cc {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .5px;
  color: var(--gold-light);
  background: rgba(0, 0, 0, .65);
  padding: 2px 6px;
  border-radius: 4px;
}
.tb-div { width: 1px; height: 15px; background: rgba(0, 0, 0, .28); }

.topbar-email {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-weight: 600;
  color: #2a1c00;
}
.topbar-email .tb-ico { width: 15px; height: 15px; flex: none; opacity: .85; }
.topbar-email:hover { color: #000; }

.topbar-social {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-left: auto;
}
.social-icons { display: flex; gap: 12px; }
.social-icons a {
  display: inline-flex;
  align-items: center;
  color: #2a1c00;
  transition: transform .2s ease, color .2s ease;
}
.social-icons a svg { width: 16px; height: 16px; }
.social-icons a:hover { color: #000; transform: translateY(-1px); }
/* =========================================================
   MANAGEMENT butonu — üst bardaki en dikkat çekici öğe.
   Nabız (büyüyüp küçülme + halka) ve üstünden geçen parıltı ile
   kendini belli eder.

   ERİŞİLEBİLİRLİK NOTU: Efekt kasıtlı olarak "yanıp sönme" değil,
   yumuşak bir nabız. Döngü 2.6sn → saniyede ~0,38 değişim; WCAG 2.3.1'in
   3 flaş/sn sınırının çok altında, nöbet riski yok. WCAG 2.2.2 (Duraklat/
   Durdur/Gizle) iki mekanizmayla karşılanır: işletim sistemindeki
   "hareketi azalt" ayarı ve erişilebilirlik panelindeki "Animasyonları
   durdur" seçeneği. Fareyle üzerine gelince de durur.
   ========================================================= */
.topbar-mgmt {
  position: relative;
  overflow: hidden;
  padding: 8px 22px;
  font-size: 12.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1px;
  border-width: 2px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .3);
  animation: mgmt-pulse 2.6s ease-in-out infinite;
}
.topbar-mgmt > span { position: relative; z-index: 1; }

/* Parıltı bandı — butonun üstünden soldan sağa süzülür */
.topbar-mgmt::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: -60%;
  width: 42%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .22), transparent);
  transform: skewX(-18deg);
  animation: mgmt-shine 2.6s ease-in-out infinite;
  pointer-events: none;
}

@keyframes mgmt-pulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 2px 10px rgba(0, 0, 0, .3), 0 0 0 0 rgba(255, 255, 255, .6);
  }
  50% {
    transform: scale(1.07);
    box-shadow: 0 5px 18px rgba(0, 0, 0, .38), 0 0 0 8px rgba(255, 255, 255, 0);
  }
}
@keyframes mgmt-shine {
  0%       { left: -60%; }
  50%, 100% { left: 118%; }
}

/* Kullanıcı butonla ilgilenirken hareket tamamen dursun; buton büyük kalsın
   ve parıltı bandı metnin üstünde donup kalmasın (kadraj dışına park eder). */
.topbar-mgmt:hover,
.topbar-mgmt:focus-visible {
  animation: none;
  transform: scale(1.07);
  background: #1c1c1c;
  box-shadow: 0 5px 18px rgba(0, 0, 0, .38);
}
.topbar-mgmt:hover::after,
.topbar-mgmt:focus-visible::after {
  animation: none;
  left: 118%;
}

/* =========================================================
   2. HEADER / NAV
   ========================================================= */
.site-header {
  background: var(--black);
  color: var(--white);
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid rgba(214, 161, 46, .22);
}
.site-header .container {
  display: flex;
  align-items: center;
  gap: clamp(20px, 2.4vw, 44px);
  padding-top: 12px;
  padding-bottom: 12px;
  /* Baslik, sayfanin 1240px'lik kapsayicisina hapsolmasin: logo tam sola,
     menu + aksiyonlar tam saga yaslansin. Yan bosluk ekranla birlikte acilir,
     dar masaustunde 20px'e dusup tasmayi onler. */
  max-width: none;
  padding-left: clamp(20px, 2.5vw, 52px);
  padding-right: clamp(20px, 2.5vw, 52px);
}
.logo {
  display: flex;
  align-items: center;
  margin-right: 6px;
}

/* --- Ana menü (masaüstü) --- */
.main-nav { margin-left: auto; }
/* Management: masaüstünde üst barda zaten var → menüde gizli.
   Mobilde üst bar butonu gizlenince menüde gösterilir (aşağıdaki medya sorgusu). */
.m-manage { display: none; }
.main-nav > ul {
  display: flex;
  align-items: center;
  /* 8 menu ogesi var: bosluk ekranla birlikte acilir ama daralinca kuculur,
     boylece satir kirilmadan tek sirada kalir. */
  gap: clamp(14px, 1.9vw, 34px);
}
.main-nav > ul > li > a {
  display: inline-block;
  font-weight: 600;
  /* Punto ve harf araligi da akiskan: dar masaustunde "Before After" gibi
     iki kelimelik ogeler kendi icinde bolunmesin diye nowrap ile birlikte. */
  font-size: clamp(11.5px, .92vw, 13px);
  letter-spacing: clamp(.4px, .07vw, 1px);
  white-space: nowrap;
  text-transform: uppercase;
  color: #fff;
  padding: 10px 0;
  background-image: linear-gradient(var(--gold), var(--gold));
  background-size: 0% 2px;
  background-position: left bottom;
  background-repeat: no-repeat;
  transition: color .2s ease, background-size .25s ease;
}
.main-nav > ul > li > a:hover { color: var(--gold); background-size: 100% 2px; }

.has-dropdown { position: relative; }
.has-dropdown > a::after { content: " \25BE"; font-size: 10px; opacity: .85; margin-left: 3px; }

.dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 8px;
  background: #161616;
  min-width: 240px;
  border-radius: 12px;
  padding: 8px;
  box-shadow: 0 20px 44px rgba(0, 0, 0, .45);
  border: 1px solid rgba(214, 161, 46, .18);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: .22s ease;
  z-index: 200;
}
.dropdown::before {           /* hover köprüsü — menü ile link arası boşluğu kapatır */
  content: "";
  position: absolute;
  top: -10px; left: 0; right: 0; height: 10px;
}
.has-dropdown:hover .dropdown,
.has-dropdown:focus-within .dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.dropdown li a {
  display: block;
  padding: 11px 16px;
  font-weight: 500;
  font-size: 14px;
  color: #e8e8e8;
  border-radius: 8px;
}
.dropdown li a:hover { background: rgba(214, 161, 46, .15); color: var(--gold); }

/* --- Sağ aksiyonlar --- */
.header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
.tour-btn {
  border: 1.5px solid var(--gold);
  color: var(--gold);
  padding: 9px 16px;
  border-radius: var(--btn-radius);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .5px;
  text-transform: uppercase;
  white-space: nowrap;
  transition: background .2s ease, color .2s ease;
}
.tour-btn svg { width: 16px; height: 16px; }
.tour-btn:hover { background: var(--gold); color: var(--black); }

.lang-switch {
  position: relative;
  display: inline-block;
}
.lang-switch > summary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--gold);
  color: var(--black);
  padding: 9px 14px;
  border-radius: var(--btn-radius);
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
  user-select: none;
  list-style: none;
}
.lang-switch > summary::-webkit-details-marker { display: none; }
.lang-switch > summary::marker { content: ""; }
.flag {
  display: inline-block;
  width: 21px;
  height: 14px;
  flex: none;
  border-radius: 2px;
  background-size: cover;
  background-position: center;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .12);
}
.flag-gb,
.flag-en { background-image: url("../img/flags/gb.svg"); }
.flag-de { background-image: url("../img/flags/de.svg"); }
.flag-fr { background-image: url("../img/flags/fr.svg"); }
.flag-ru { background-image: url("../img/flags/ru.svg"); }
.flag-nl { background-image: url("../img/flags/nl.svg"); }
.flag-ar { background-image: url("../img/flags/sa.svg"); }
.lang-caret {
  font-size: 10px;
  line-height: 1;
  transition: transform .2s ease;
}
.lang-switch[open] .lang-caret { transform: rotate(180deg); }
.lang-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  min-width: 100%;
  margin: 0;
  padding: 6px;
  list-style: none;
  background: var(--white);
  border: 1px solid rgba(214, 161, 46, .3);
  border-radius: var(--btn-radius);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .18);
  z-index: 200;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.lang-menu a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 6px;
  font-weight: 700;
  font-size: 13px;
  color: var(--black);
  white-space: nowrap;
  transition: background .18s ease;
}
.lang-menu a:hover { background: rgba(214, 161, 46, .16); text-decoration: none; }

/* --- Hamburger + mobil panel --- */
.nav-burger { display: none; }
.nav-overlay { display: none; }

/* Klavye erişilebilirliği */
.main-nav a:focus-visible,
.tour-btn:focus-visible,
.lang-switch:focus-visible,
.nav-burger:focus-visible,
.social-icons a:focus-visible,
.topbar-mgmt:focus-visible {
  outline: 2px solid var(--gold-light);
  outline-offset: 2px;
}

.accessibility-fab {
  position: fixed;
  left: 0;
  top: 25%;
  transform: translateY(-50%);
  z-index: 520;
  background: #fff;
  padding: 11px 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 0 6px 6px 0;
  box-shadow: var(--shadow);
  cursor: pointer;
  font: inherit;
  -webkit-appearance: none;
  appearance: none;
  transition: background .2s ease, box-shadow .2s ease, left .3s ease;
}
.accessibility-fab:hover { background: #f2f2f2; }
.accessibility-fab:focus-visible {
  outline: 3px solid #14120c;
  outline-offset: 2px;
}
.accessibility-fab svg { width: 27px; height: 27px; display: block; }
html.a11y-open .accessibility-fab {
  background: #f2f2f2;
  box-shadow: 0 0 0 2px rgba(0, 0, 0, .18), 0 8px 22px rgba(0, 0, 0, .25);
}

/* =========================================================
   ERİŞİLEBİLİRLİK — kompakt yüzen kart (fab yanında)
   ========================================================= */
.a11y-overlay {
  position: fixed;
  inset: 0;
  z-index: 500;
  background: rgba(0, 0, 0, .32);
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s ease, visibility .25s ease;
  pointer-events: none;
}
html.a11y-open .a11y-overlay {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.a11y-panel {
  position: fixed;
  top: max(10px, calc(25% - 190px));
  left: 48px;
  bottom: auto;
  z-index: 510;
  width: min(268px, calc(100vw - 60px));
  max-height: min(84vh, 600px);
  background: #fff;
  color: #1a1a1a;
  border-radius: 12px;
  border: 1px solid rgba(0, 0, 0, .12);
  box-shadow: 0 16px 40px rgba(0, 0, 0, .22);
  display: flex;
  flex-direction: column;
  transform: translateX(-12px) scale(.96);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: transform .25s cubic-bezier(.22, .8, .28, 1), opacity .25s ease, visibility .25s ease;
  overflow: hidden;
}
html.a11y-open .a11y-panel {
  transform: translateX(0) scale(1);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.a11y-head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 10px 10px 12px;
  border-bottom: 1px solid rgba(0, 0, 0, .1);
  background: #f7f7f7;
  flex: none;
}
.a11y-ico {
  flex: none;
  width: 28px; height: 28px;
  border-radius: 6px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .14);
  display: flex;
  align-items: center;
  justify-content: center;
}
.a11y-ico svg { width: 20px; height: 20px; display: block; }
.a11y-head h2 {
  margin: 0;
  flex: 1;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: .01em;
  color: #111;
  line-height: 1.2;
}
.a11y-x {
  flex: none;
  width: 28px; height: 28px;
  border: 1px solid rgba(0, 0, 0, .14);
  border-radius: 6px;
  background: #fff;
  color: #333;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  font-family: inherit;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.a11y-x:hover { background: rgba(214,161,46,.16); color: var(--gold-dark); border-color: rgba(214,161,46,.5); }
.a11y-x:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }

.a11y-body {
  padding: 10px;
  overflow-y: auto;
  overscroll-behavior: contain;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
  background: #fff;
}

.a11y-group { display: flex; flex-direction: column; gap: 5px; }
.a11y-glabel {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold-dark);
  margin: 0 0 1px 2px;
}

/* Text size segment (Normal / Large) */
.a11y-seg {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
}
.a11y-opt {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 6px;
  border: 1px solid rgba(0, 0, 0, .14);
  border-radius: 7px;
  background: #fafafa;
  color: #222;
  font-family: inherit;
  font-size: 11.5px;
  font-weight: 700;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
}
.a11y-opt:hover { border-color: rgba(214,161,46,.55); color: #111; background: #fff; }
.a11y-opt.is-on {
  border-color: var(--gold-dark);
  background: rgba(214, 161, 46, .16);
  color: #111;
  box-shadow: inset 0 0 0 1px rgba(214,161,46,.3);
}
.a11y-opt:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.a11y-aa {
  display: inline-flex;
  align-items: baseline;
  gap: 1px;
  line-height: 1;
  color: var(--gold-dark);
}
.a11y-aa i { font-style: normal; font-size: 10px; font-weight: 700; opacity: .7; }
.a11y-aa b { font-size: 13px; font-weight: 900; }
.a11y-aa-lg i { font-size: 11px; }
.a11y-aa-lg b { font-size: 16px; }

/* Toggle rows */
.a11y-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 8px 10px;
  border: 1px solid rgba(0, 0, 0, .14);
  border-radius: 7px;
  background: #fafafa;
  color: #1a1a1a;
  font-family: inherit;
  font-size: 12.5px;
  font-weight: 650;
  text-align: left;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, color .2s ease;
}
.a11y-toggle:hover { border-color: rgba(214,161,46,.5); background: #fff; }
.a11y-toggle.is-on {
  border-color: var(--gold-dark);
  background: rgba(214, 161, 46, .16);
}
.a11y-toggle:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.a11y-ti {
  flex: none;
  width: 22px; height: 22px;
  border-radius: 5px;
  background: rgba(214, 161, 46, .2);
  color: #6f4f0a;                       /* #f3e8d1 üstünde AA (5.4:1) */
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 800;
}
.a11y-ul { text-decoration: underline; text-underline-offset: 2px; }
.a11y-tt { flex: 1; }
.a11y-dot {
  flex: none;
  width: 14px; height: 14px;
  border-radius: 50%;
  border: 2px solid rgba(0, 0, 0, .28);
  position: relative;
  transition: border-color .2s ease, background .2s ease;
}
.a11y-toggle.is-on .a11y-dot {
  border-color: var(--gold-dark);
  background: var(--gold);
  box-shadow: inset 0 0 0 2px #fff;
}

/* Reset */
.a11y-reset {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  margin-top: 2px;
  padding: 8px 12px;
  border: 1px solid rgba(214, 161, 46, .55);
  border-radius: 7px;
  background: #fff;
  color: var(--gold-dark);
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.a11y-reset:hover {
  background: var(--gold);
  color: #1a1200;
  border-color: var(--gold);
}
.a11y-reset:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 2px; }

/* Yazı boyutu adımlayıcı (A− 100% A+) */
.a11y-stepper {
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  align-items: stretch;
  gap: 5px;
}
.a11y-step {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  border: 1px solid rgba(0, 0, 0, .14);
  border-radius: 7px;
  background: #fafafa;
  color: #222;
  font-family: inherit;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, color .2s ease;
}
.a11y-step:hover:not(:disabled) { border-color: rgba(214, 161, 46, .6); background: #fff; }
.a11y-step:disabled { opacity: .4; cursor: not-allowed; }
.a11y-step:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.a11y-scale {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(214, 161, 46, .45);
  border-radius: 7px;
  background: rgba(214, 161, 46, .12);
  line-height: 1.15;
}
.a11y-scale b { font-size: 13px; font-weight: 900; color: #111; }
.a11y-scale i {
  font-style: normal;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--gold-dark);
}

/* Sesli okuma ipucu ve durdurma düğmesi */
.a11y-hint {
  margin: 0 2px;
  font-size: 10.5px;
  line-height: 1.45;
  color: #555;
}
.a11y-stop {
  width: 100%;
  padding: 7px 10px;
  border: 1px solid #b3261e;
  border-radius: 7px;
  background: #fff;
  color: #b3261e;
  font-family: inherit;
  font-size: 11.5px;
  font-weight: 800;
  cursor: pointer;
}
.a11y-stop:hover { background: #b3261e; color: #fff; }
.a11y-stop:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.a11y-toggle:disabled { opacity: .45; cursor: not-allowed; }

@media (max-width: 420px) {
  .a11y-panel {
    left: 44px;
    width: min(300px, calc(100vw - 56px));
    top: max(8px, calc(25% - 170px));
    max-height: 82vh;
  }
}

@media (prefers-reduced-motion: reduce) {
  .a11y-panel, .a11y-overlay { transition: none; }
}

/* ---- Erişilebilirlik efektleri (yalnızca .a11y-viewport içeriğine) ---- */

/* Yazı boyutu JS ile her öğeye px olarak yazılır (px tanımlı başlıklar da büyüsün).
   Burada yalnızca taban ölçek tutulur. */
html.a11y-viewport-scaled { font-size: 100%; }

/* Satır aralığı — WCAG 1.4.12 (metin aralığı) */
html.a11y-line-height .a11y-viewport p,
html.a11y-line-height .a11y-viewport li,
html.a11y-line-height .a11y-viewport dd,
html.a11y-line-height .a11y-viewport td,
html.a11y-line-height .a11y-viewport label,
html.a11y-line-height .a11y-viewport blockquote,
html.a11y-line-height .a11y-viewport h1,
html.a11y-line-height .a11y-viewport h2,
html.a11y-line-height .a11y-viewport h3,
html.a11y-line-height .a11y-viewport h4 {
  line-height: 2 !important;
}
html.a11y-line-height .a11y-viewport p { margin-bottom: 2em !important; }

/* Harf / kelime aralığı — WCAG 1.4.12 eşikleri */
html.a11y-letter-spacing .a11y-viewport p,
html.a11y-letter-spacing .a11y-viewport li,
html.a11y-letter-spacing .a11y-viewport a,
html.a11y-letter-spacing .a11y-viewport span,
html.a11y-letter-spacing .a11y-viewport label,
html.a11y-letter-spacing .a11y-viewport td,
html.a11y-letter-spacing .a11y-viewport h1,
html.a11y-letter-spacing .a11y-viewport h2,
html.a11y-letter-spacing .a11y-viewport h3,
html.a11y-letter-spacing .a11y-viewport h4,
html.a11y-letter-spacing .a11y-viewport .btn {
  letter-spacing: .12em !important;
  word-spacing: .18em !important;
}

/* Okunaklı (disleksi dostu) yazı tipi */
html.a11y-readable .a11y-viewport,
html.a11y-readable .a11y-viewport p,
html.a11y-readable .a11y-viewport li,
html.a11y-readable .a11y-viewport h1,
html.a11y-readable .a11y-viewport h2,
html.a11y-readable .a11y-viewport h3,
html.a11y-readable .a11y-viewport h4,
html.a11y-readable .a11y-viewport a,
html.a11y-readable .a11y-viewport button,
html.a11y-readable .a11y-viewport input,
html.a11y-readable .a11y-viewport textarea,
html.a11y-readable .a11y-viewport .btn {
  font-family: "Atkinson Hyperlegible", Verdana, Tahoma, Arial, Helvetica, sans-serif !important;
  letter-spacing: .02em;
  word-spacing: .04em;
  font-style: normal !important;
}

html.a11y-underline .a11y-viewport a:not(.btn):not(.fab-call):not(.whatsapp-fab) {
  text-decoration: underline !important;
  text-underline-offset: 3px;
  text-decoration-thickness: 1.5px;
}

/* ---- Renk şemaları (aynı anda yalnızca biri) ---- */

/* High contrast — koyu zemin, yüksek kontrast metin/altın vurgu.
   Zorlanmış bir renk kipidir: arka planlar TÜM öğelerde sıfırlanır, yoksa
   altın/yeşil rozetlerin üstündeki metin okunmaz kalıyor. Sözde öğeler
   (::before/::after) hedeflenmez — ikonlar görünür kalsın. */
html.a11y-contrast .a11y-viewport,
html.a11y-contrast .a11y-viewport *:not(img):not(video):not(picture):not(iframe):not(svg):not(svg *) {
  background-color: #000 !important;
  background-image: none !important;
  color: #fff !important;
  border-color: #fff !important;
  text-shadow: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
}
html.a11y-contrast .a11y-viewport a { color: #ffe08a !important; }
html.a11y-contrast .a11y-viewport a:hover,
html.a11y-contrast .a11y-viewport a:focus { color: #fff !important; }
html.a11y-contrast .a11y-viewport button,
html.a11y-contrast .a11y-viewport .btn,
html.a11y-contrast .a11y-viewport input,
html.a11y-contrast .a11y-viewport select,
html.a11y-contrast .a11y-viewport textarea {
  border: 2px solid #fff !important;
}
html.a11y-contrast .a11y-viewport ::placeholder { color: #d8d8d8 !important; opacity: 1; }
html.a11y-contrast .a11y-viewport img,
html.a11y-contrast .a11y-viewport video { outline: 1px solid #fff; }

/* Açık zemin — düşük görme / ışığa duyarlılık için yumuşak, yüksek okunurluk.
   High contrast ile aynı mantık: arka planlar tümüyle sıfırlanır. */
html.a11y-light .a11y-viewport,
html.a11y-light .a11y-viewport *:not(img):not(video):not(picture):not(iframe):not(svg):not(svg *) {
  background-color: #fffdf6 !important;
  background-image: none !important;
  color: #14120c !important;
  border-color: #6b5a2a !important;
  text-shadow: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
}
html.a11y-light .a11y-viewport a { color: #6d4c00 !important; text-decoration: underline; }
html.a11y-light .a11y-viewport button,
html.a11y-light .a11y-viewport .btn,
html.a11y-light .a11y-viewport input,
html.a11y-light .a11y-viewport select,
html.a11y-light .a11y-viewport textarea {
  border: 2px solid #6b5a2a !important;
}
html.a11y-light .a11y-viewport ::placeholder { color: #4a4436 !important; opacity: 1; }

/* Filtre tabanlı şemalar — kombinasyonlar açıkça yazıldı, yoksa biri diğerini ezer */
html.a11y-negative .a11y-viewport { filter: invert(1) hue-rotate(180deg); }
html.a11y-grayscale .a11y-viewport { filter: grayscale(1) contrast(1.1); }
html.a11y-saturate .a11y-viewport { filter: saturate(1.9); }
html.a11y-negative.a11y-saturate .a11y-viewport { filter: invert(1) hue-rotate(180deg) saturate(1.9); }
html.a11y-grayscale.a11y-saturate .a11y-viewport { filter: grayscale(1) contrast(1.1); }

/* Negatifte görseller ikinci kez çevrilir → doğal görünür */
html.a11y-negative .a11y-viewport img,
html.a11y-negative .a11y-viewport video,
html.a11y-negative .a11y-viewport picture,
html.a11y-negative .a11y-viewport svg,
html.a11y-negative .a11y-viewport iframe {
  filter: invert(1) hue-rotate(180deg);
}

/* ---- Gezinme & odak yardımcıları ---- */

/* Odak vurgusu — sarı halka + koyu kontur, her zeminde görünür */
html.a11y-focus .a11y-viewport :focus,
html.a11y-focus .a11y-viewport :focus-visible,
html.a11y-focus .skip-link:focus {
  outline: 4px solid #ffe600 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 7px rgba(0, 0, 0, .85) !important;
  border-radius: 3px;
}

/* Büyük imleç — düşük görme ve motor becerileri için */
html.a11y-cursor,
html.a11y-cursor * {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24'%3E%3Cpath d='M5 2.2 19 11.6l-6.1 1.1 2.9 6.6-2.7 1.2-2.9-6.6-4.6 3.7z' fill='%23000' stroke='%23fff' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") 4 2, auto !important;
}
html.a11y-cursor a,
html.a11y-cursor button,
html.a11y-cursor label,
html.a11y-cursor summary,
html.a11y-cursor [role="button"] {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24'%3E%3Cpath d='M9 11V4.6a1.6 1.6 0 0 1 3.2 0V10m0 0V8.4a1.6 1.6 0 0 1 3.2 0V11m0 0V9.6a1.6 1.6 0 0 1 3.2 0v5.2c0 3.4-2.4 6.2-6 6.2-3.1 0-4.7-1.4-6.2-3.6l-2.1-3.1a1.6 1.6 0 0 1 2.5-2l1.2 1.4V11z' fill='%23000' stroke='%23fff' stroke-width='1.4' stroke-linejoin='round'/%3E%3C/svg%3E") 12 3, pointer !important;
}

/* Animasyonları durdur — vestibüler rahatsızlık / dikkat dağınıklığı */
html.a11y-no-motion .a11y-viewport *,
html.a11y-no-motion .a11y-viewport *::before,
html.a11y-no-motion .a11y-viewport *::after {
  animation-duration: .001ms !important;
  animation-iteration-count: 1 !important;
  animation-delay: 0s !important;
  transition-duration: .001ms !important;
  transition-delay: 0s !important;
}
html.a11y-no-motion { scroll-behavior: auto !important; }

/* Görselleri gizle — bilişsel yük azaltma; düzen korunur */
html.a11y-no-images .a11y-viewport img,
html.a11y-no-images .a11y-viewport picture,
html.a11y-no-images .a11y-viewport video,
html.a11y-no-images .a11y-viewport iframe {
  visibility: hidden !important;
}
html.a11y-no-images .a11y-viewport [style*="background-image"],
html.a11y-no-images .a11y-viewport .hero-slider,
html.a11y-no-images .a11y-viewport .page-hero {
  background-image: none !important;
}

/* Okuma çizgisi ve okuma maskesi — imleci/odağı takip eder */
.a11y-ruler {
  position: fixed;
  left: 0;
  width: 100%;
  height: 5px;
  margin-top: -2px;
  background: var(--gold, #d6a12e);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .55);
  z-index: 495;
  pointer-events: none;
}
.a11y-mask-top,
.a11y-mask-bottom {
  position: fixed;
  left: 0;
  width: 100%;
  background: rgba(0, 0, 0, .72);
  z-index: 494;
  pointer-events: none;
}
.a11y-mask-top { top: 0; height: 0; }
.a11y-mask-bottom { bottom: 0; top: 50%; }

html.a11y-open { overflow: hidden; }

/* Floating action buttons — elegant round WhatsApp (desktop) + action bar (mobile) */
.fab-bar {
  position: fixed;
  left: 22px;
  bottom: 22px;
  z-index: 300;
  display: flex;
  gap: 10px;
}
.fab-bar a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: inherit;               /* same font as the site's buttons (Mulish) */
  font-weight: 600;
  font-size: 15px;
  letter-spacing: .2px;
  padding: 14px 28px;
  border-radius: var(--btn-radius);   /* 8px — neither square nor pill */
  box-shadow: 0 8px 22px rgba(0,0,0,.16);
  white-space: nowrap;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.fab-bar a:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0,0,0,.2); }

/* WhatsApp button (icon + label) */
.whatsapp-fab { background: var(--green); color: #fff; }
.whatsapp-fab:hover { background: var(--green-dark); }
.whatsapp-fab::before {
  content: ""; flex: none; width: 20px; height: 20px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='%23fff'%3E%3Cpath d='M16 .5C7.4.5.5 7.4.5 16c0 2.8.7 5.4 2 7.7L.5 31.5l8-2.1c2.2 1.2 4.8 1.9 7.5 1.9 8.6 0 15.5-6.9 15.5-15.5S24.6.5 16 .5zm0 28.3c-2.4 0-4.7-.6-6.7-1.8l-.5-.3-4.8 1.3 1.3-4.7-.3-.5C3.9 20.9 3.2 18.5 3.2 16 3.2 8.9 9 3.2 16 3.2S28.8 8.9 28.8 16 23 28.8 16 28.8zm7.9-9.6c-.4-.2-2.5-1.2-2.9-1.4-.4-.1-.7-.2-1 .2-.3.4-1.1 1.4-1.4 1.7-.3.3-.5.3-.9.1-.4-.2-1.8-.7-3.4-2.1-1.3-1.1-2.1-2.5-2.4-2.9-.3-.4 0-.6.2-.8.2-.2.4-.5.6-.7.2-.2.3-.4.4-.7.1-.3.1-.5 0-.7-.1-.2-1-2.4-1.4-3.3-.4-.9-.7-.7-1-.7h-.8c-.3 0-.7.1-1.1.5-.4.4-1.4 1.4-1.4 3.4s1.5 3.9 1.7 4.2c.2.3 2.9 4.5 7.1 6.3 1 .4 1.8.7 2.4.9 1 .3 1.9.3 2.6.2.8-.1 2.5-1 2.8-2 .3-1 .3-1.8.2-2-.1-.2-.4-.3-.8-.5z'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* We Call You — gold pill (mobile only) */
.fab-call { background: var(--gold); color: #1a1200; }
.fab-call:hover { background: var(--gold-light); }
.fab-call > span { display: none; }   /* swap glyph for a clean stroked icon */
.fab-call::before {
  content: ""; flex: none; width: 17px; height: 17px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1200' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.8 19.8 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.9.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.fab-bar .fab-call { display: none; }   /* desktop: WhatsApp only */

/* Mobile language item — only inside the slide-in menu */
.m-lang { display: none; }

/* nav.js ile açılır menüye eklenen "All …" (genel bakış) bağlantısı:
   yalnızca mobil menüde görünür, masaüstü hover menüsünde gizli. */
.m-overview { display: none; }

.logo-img { height: 52px; width: auto; }

/* =========================================================
   3. HERO / AWARD BANNER
   ========================================================= */
/* Gerçek slider görseli */
.hero-slider { background: var(--black); line-height: 0; }
.hero-slider img { width: 100%; height: auto; display: block; }
/* İç sayfa banner'ı (page-hero'nun üstündeki): ana sayfa slider'ından daha kısa */
.hero-slider:has(+ .page-hero) img {
  height: clamp(150px, 24vw, 280px);
  object-fit: cover;
  object-position: center;
}

.hero {
  background:
          radial-gradient(circle at 20% 30%, rgba(212, 161, 42, .25), transparent 40%),
          linear-gradient(120deg, #2a1e08 0%, #4a350f 40%, #1a1206 100%);
  color: var(--white);
  overflow: hidden;
  position: relative;
}
.hero-inner {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 30px;
  align-items: center;
  min-height: 520px;
  padding: 40px 20px;
}
.hero-badges {
  display: flex;
  gap: 18px;
  margin-bottom: 24px;
}
.hero-badge {
  width: 92px; height: 92px;
  border-radius: 50%;
  border: 3px solid var(--gold);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  background: radial-gradient(circle, #3a2a0c, #1a1206);
  color: var(--gold-light);
  padding: 6px;
}
.hero-badge b { font-size: 15px; color: var(--white); }
.hero-titles .eyebrow {
  font-size: 24px;
  font-weight: 700;
  color: var(--gold-light);
  letter-spacing: 1px;
}
.hero-titles .big {
  font-size: clamp(48px, 9vw, 120px);
  font-weight: 900;
  line-height: .95;
  letter-spacing: 2px;
  color: var(--gold);
  text-shadow: 0 4px 12px rgba(0, 0, 0, .5);
  text-transform: uppercase;
}
.hero-award {
  justify-self: end;
  width: 100%;
  max-width: 420px;
  aspect-ratio: 3/4;
  border-radius: 12px;
  border: 6px solid var(--gold);
  background:
          radial-gradient(circle at 50% 40%, rgba(212,161,42,.3), transparent 60%),
          linear-gradient(160deg, #241a08, #0d0a04);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 30px;
  color: var(--gold-light);
}
.hero-award .trophy { font-size: 70px; }
.hero-award .winner {
  font-size: 40px;
  font-weight: 900;
  color: var(--gold);
  letter-spacing: 3px;
}

/* =========================================================
   4. QUICK OFFER FORM
   ========================================================= */
.offer {
  padding: 44px 0;
  background: var(--white);
}
.offer .container {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 60px;
  align-items: start;
}
.offer-form-wrap {
  background: var(--gold);
  border-radius: 4px;
  padding: 54px 60px;
}
.offer-form-wrap h2 {
  font-size: 46px;
  font-weight: 800;
  color: var(--dark);
  margin-bottom: 24px;
}
/* Baslik altina aciklama satiri (konsultasyon formu). Baslik ile form
   arasindaki bosluk bu satir varken ondan yonetilir. */
.offer-form-wrap h2 + .offer-lead { margin-top: -12px; }
.offer-lead {
  margin-bottom: 24px;
  font-size: 16px;
  line-height: 1.65;
  color: var(--dark);
  opacity: .82;
  max-width: 58ch;
}
/* Serbest metin alani: form-grid girdileriyle ayni gorunum. */
.form-note {
  width: 100%;
  margin-top: 20px;
  padding: 18px 22px;
  border: 1px solid var(--input-border);
  border-radius: 0;
  font-size: 16px;
  font-family: inherit;
  line-height: 1.6;
  background: var(--white);
  resize: vertical;
  display: block;
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.form-grid input {
  width: 100%;
  padding: 20px 22px;
  border: 1px solid var(--input-border);
  border-radius: 0;
  font-size: 16px;
  font-family: inherit;
  background: var(--white);
}
.form-phone {
  display: flex;
  align-items: stretch;
  background: var(--white);
  border: 1px solid var(--input-border);
  /* overflow:hidden kaldırıldı → ülke kodu açılır menüsü kesilmesin */
  position: relative;
}
.form-phone .cc {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0 14px;
  background: #ededed;
  font-weight: 600;
  font-size: 14px;
  white-space: nowrap;
}
.form-phone input { border-radius: 0; }
.form-consent {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 18px 0;
  font-size: 15px;
}
.form-consent a { text-decoration: underline; }
.offer-form-wrap .btn-dark {
  padding: 20px 44px;
  font-size: 17px;
}

.offer-contact .mail-icon { font-size: 40px; color: var(--gold); }
.offer-contact h3 {
  color: var(--gold-dark);
  font-size: 26px;
  font-weight: 800;
  margin: 0 0 14px;
}
/* Bölüm başlıklarının altındaki altın çizgi — site genelindeki h2::after ile aynı dil */
.offer-contact h3::after,
.offer-contact .wa-title::after {
  content: "";
  display: block;
  width: 48px; height: 3px;
  background: var(--gold);
  border-radius: 2px;
  margin-top: 12px;
}
.offer-contact p { margin: 0 0 14px; color: var(--gray); }
.offer-contact strong { color: var(--dark); }

/* İletişim bilgileri: altın ikon + metin satırları, aralarında ince ayraç */
.oc-list { margin: 0 0 4px; }
.oc-list li {
  display: grid;
  grid-template-columns: 26px 1fr;
  gap: 12px;
  align-items: start;
  padding: 10px 0;
  border-bottom: 1px solid rgba(214, 161, 46, .22);
  color: var(--gray);
  font-size: 15.5px;
  line-height: 1.6;
}
.oc-list li:last-child { border-bottom: 0; }
.oc-ico {
  color: var(--gold);
  display: flex;
  justify-content: center;
  /* ilk metin satırının optik ortasına hizala */
  padding-top: 3px;
}
.oc-ico svg { width: 19px; height: 19px; }
.oc-text a { color: var(--gray); text-decoration: none; border-bottom: 0; }
.oc-text a:hover { color: var(--gold-dark); }

.offer-contact .wa-title {
  color: var(--gold-dark);
  font-size: 20px;
  font-weight: 800;
  margin: 22px 0 14px;
}
/* Telefon satırları: tıklanabilir, altın çerçeveli rozetler — yan yana */
.wa-rows { display: flex; flex-wrap: wrap; gap: 10px; }
.offer-contact .wa-num {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  align-self: start;
  font-weight: 700;
  font-size: 15px;
  color: var(--dark);
  padding: 9px 14px;
  border: 1px solid rgba(214, 161, 46, .38);
  border-radius: var(--btn-radius);
  background: rgba(214, 161, 46, .06);
  transition: background .18s ease, border-color .18s ease;
}
.offer-contact .wa-num:hover {
  background: rgba(214, 161, 46, .13);
  border-color: var(--gold);
}
.wa-cc {
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: .06em;
  color: var(--white);
  background: var(--gold-dark);
  border-radius: 3px;
  padding: 3px 7px;
  line-height: 1;
}
.offer-contact .btn-whatsapp { margin-top: 20px; }

/* Masaüstü: sarı form paneli section'ı sol yarıda tamamen kaplar — sola,
   üste ve alta dayanır; sağ sütundaki yazılar container hizasında kalır. */
@media (min-width: 1025px) {
  .offer { padding: 0; }
  .offer .container {
    max-width: none;
    padding: 0;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    align-items: stretch;
  }
  .offer-form-wrap {
    border-radius: 0;
    padding: 76px 60px;
    /* İçerik, sayfanın sol kenar boşluğuyla aynı hizada başlar */
    padding-left: max(60px, calc((100vw - var(--container)) / 2 + 20px));
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .offer-contact {
    padding: 76px max(20px, calc((100vw - var(--container)) / 2 + 20px)) 76px 60px;
    align-self: center;
  }
}

/* =========================================================
   5. RELIABLE SERVICES (siyah)
   ========================================================= */
.services-dark {
  position: relative;
  overflow: hidden;
  background: var(--black);
  color: var(--white);
  padding: 56px 0 40px;
}
/* Fiyat listesindeki altin isik. Rastgele degil, kompozisyona gore:
   key = basligi tasiyan ana isik, fill = capraz karsi kosede denge,
   ambient = ikisini birbirine baglayan cok genis ve soluk kat.
   Gorsel solda / metin sagda oldugu icin key sag ustte. Sadece dekoratif. */
.services-dark::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
          radial-gradient(72% 62% at 78% 14%, rgba(214,161,46,.27), transparent 66%),
          radial-gradient(66% 58% at  8% 84%, rgba(214,161,46,.18), transparent 70%),
          radial-gradient(120% 92% at 46% 52%, rgba(214,161,46,.07), transparent 72%);
}
.services-dark .container {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: clamp(48px, 6vw, 84px);
  align-items: center;
}
.services-dark .img-box {
  border-radius: 10px;
  overflow: hidden;
  aspect-ratio: 4/3;
  background: linear-gradient(135deg, #3a3a3a, #666);
}
.services-dark .img-box img { width: 100%; height: 100%; object-fit: cover; }
.services-dark h2 {
  font-size: clamp(30px, 3.2vw, 42px);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -.5px;
  margin: 0 0 22px;
  max-width: 22ch;
}
.services-dark h2::after {
  content: "";
  display: block;
  width: 56px; height: 3px;
  background: var(--gold);
  border-radius: 2px;
  margin-top: 20px;
}
.services-dark .lead {
  color: rgba(255, 255, 255, .72);
  font-size: 16.5px;
  line-height: 1.8;
  max-width: 56ch;
  margin: 0 0 20px;
}
.services-dark .accent {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--gold);
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 2.2px;
  text-transform: uppercase;
  margin: 26px 0 14px;
}
.services-dark .accent::before {
  content: "";
  width: 26px; height: 2px;
  background: var(--gold);
  flex: none;
}
.services-dark .actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin-top: 32px;
}

/* =========================================================
   6. NOT ALL ABOUT TREATMENT
   ========================================================= */
.treatment-intro {
  position: relative;
  overflow: hidden;
  background: var(--black);
  color: var(--white);
  padding: 0 0 56px;
}
/* .services-dark ile ayni isik sistemi, aynalanmis hali: burada gorsel
   sagda / metin solda oldugu icin key de sag tarafta. Baslik altin
   oldugundan key onun arkasina degil gorselin arkasina alindi, boylece
   altin metin sicak zeminde erimiyor. Sadece dekoratif. */
.treatment-intro::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
          radial-gradient(70% 62% at 84% 70%, rgba(214,161,46,.25), transparent 68%),
          radial-gradient(60% 52% at 10% 16%, rgba(214,161,46,.17), transparent 70%),
          radial-gradient(120% 92% at 54% 48%, rgba(214,161,46,.07), transparent 72%);
}
.treatment-intro .container {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: clamp(48px, 6vw, 84px);
  align-items: center;
  border-top: 1px solid rgba(255, 255, 255, .1);
  padding-top: 40px;
}
.treatment-intro h2 {
  color: var(--gold);
  font-size: clamp(28px, 3vw, 40px);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -.5px;
  margin: 0 0 22px;
}
.treatment-intro p {
  color: rgba(255, 255, 255, .72);
  font-size: 16.5px;
  line-height: 1.8;
  max-width: 56ch;
  margin: 0 0 20px;
}
.treatment-intro .actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  margin-top: 32px;
}
.treatment-media {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  aspect-ratio: 16/10;
  background: linear-gradient(120deg, #2a1e08, #b8871f);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
}
.play-btn {
  width: 84px; height: 84px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .9);
  color: var(--gold-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 34px;
  cursor: pointer;
}
.treatment-media .gift-label {
  position: absolute;
  bottom: 20px;
  right: 20px;
  text-align: right;
}
.treatment-media .gift-label small {
  background: var(--black);
  color: var(--gold);
  padding: 4px 10px;
  font-size: 12px;
}
.treatment-media .gift-label strong {
  display: block;
  color: var(--gold);
  font-size: 22px;
  font-weight: 800;
  margin-top: 6px;
}

/* =========================================================
   7. WHY CHOOSE US
   ========================================================= */
.why {
  position: relative;
  background: #ffffff;
  color: #374151;
  padding: 100px 0;
  overflow: hidden;
}
.why-glow { display: none; }
.why-grid {
  position: relative;
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 76px;
  align-items: center;
}

/* --- Sol: ödül töreni fotoğrafı + gerçek kanıt --- */
.why-aside { text-align: center; --why-photo-w: 520px; }
/* Ödül töreni fotoğrafı — sol sütundaki boşluğu doldurur */
.why-photo {
  position: relative;
  margin: 0 auto;
  max-width: var(--why-photo-w);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 18px 44px rgba(0, 0, 0, .18);
}
.why-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 14px;
  border: 1px solid rgba(214, 161, 46, .55);
  pointer-events: none;
}
.why-photo img {
  display: block;
  width: 100%;
  height: auto;
}
.why-award {
  color: var(--gold-dark);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  line-height: 1.5;
  max-width: 380px;
  margin: 18px auto 34px;
}
.why-aside .why-stats {
  display: flex;
  justify-content: center;
  gap: 30px;
  padding-top: 28px;
  border-top: 1px solid rgba(0, 0, 0, .12);
}
.why-stat { display: flex; flex-direction: column; }
.why-stat .num {
  font-size: 34px;
  font-weight: 800;
  color: var(--gold-dark);
  line-height: 1;
  letter-spacing: -1px;
}
.why-stat .num .unit { font-size: 17px; color: var(--gray-light); font-weight: 700; }
.why-stat .lbl {
  font-size: 11px;
  color: var(--gray);
  margin-top: 9px;
  text-transform: uppercase;
  letter-spacing: .6px;
}

/* --- Sağ: fark / argüman --- */
.why-main .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--gold-dark);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.eyebrow-line { width: 34px; height: 2px; background: var(--gold); }
.why-main h2 {
  font-size: clamp(32px, 3.4vw, 50px);
  font-weight: 800;
  color: var(--dark);
  line-height: 1.05;
  letter-spacing: -.5px;
  margin-bottom: 30px;
}
.why-diff { display: flex; flex-direction: column; margin-bottom: 36px; }
.why-diff li {
  padding: 20px 0;
  border-bottom: 1px solid rgba(0, 0, 0, .1);
}
.why-diff li:first-child { padding-top: 0; }
.d-was {
  margin: 0 0 9px;
  padding-left: 30px;
  color: #9aa0a6;
  font-size: 14px;
  text-decoration: line-through;
  text-decoration-color: rgba(0, 0, 0, .25);
}
.d-is {
  margin: 0;
  display: flex;
  gap: 12px;
  align-items: baseline;
  color: var(--dark);
  font-size: 17px;
  font-weight: 600;
  line-height: 1.45;
}
.d-is .tick {
  flex: none;
  width: 18px;
  color: #fff;
  background: var(--gold);
  border-radius: 50%;
  font-size: 11px;
  font-weight: 900;
  line-height: 18px;
  text-align: center;
}
.why-cta { align-self: flex-start; }

/* =========================================================
   8/9/10. CAROUSEL (Treatments / Experts / Team)
   ========================================================= */
.section-dark { background: var(--black); color: var(--white); padding: 70px 0; text-align: center; }
.section-light { background: var(--off-white); color: var(--dark); padding: 70px 0; text-align: center; }

.section-head-center { margin-bottom: 20px; }
.section-head-center .btn-whatsapp { margin-bottom: 24px; }

.section-title-row {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-bottom: 40px;
}
.section-title-row h2 {
  font-size: 56px;
  font-weight: 800;
  color: var(--gold);
}
.section-light .section-title-row h2 { color: var(--dark); }
.section-title-row .view-all {
  position: absolute;
  right: 0;
}

.hscroll {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(340px, 1fr);
  gap: 26px;
  overflow-x: auto;
  padding: 10px 4px 24px;
  scroll-snap-type: x mandatory;
}
.hscroll::-webkit-scrollbar { height: 8px; }
.hscroll::-webkit-scrollbar-thumb { background: var(--gold); border-radius: 8px; }

/* ===== 8. OUR TREATMENTS — görsel galeri ===== */
.treatments-sec { text-align: left; padding: 64px 0; }
.tr-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 44px;
}
.tr-head-text { max-width: 640px; }
.tr-head .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--gold);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 16px;
}
.tr-head h2 {
  font-size: clamp(30px, 3.2vw, 46px);
  font-weight: 800;
  color: #fff;
  letter-spacing: -.5px;
  margin-bottom: 14px;
}
.tr-head p { color: #b9b9b9; font-size: 16px; margin: 0; }
.tr-viewall { flex: none; }

/* Etkileşimli vitrin + liste: sağdaki isme gelince soldaki büyük vitrin değişir */
.tr-showcase {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: stretch;
}
.sc-stage { height: auto; }

/* Sol vitrin — kart (görsel üstte, yazılar altında); hover ile içerik değişir */
.sc-panel {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: calc(50% - 24px);
  margin: 0;
  background: #141414;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 26px 60px rgba(0, 0, 0, .45);
  opacity: 0;
  transition: opacity .45s ease;
  pointer-events: none;
}
.sc-panel img { width: 100%; height: 268px; object-fit: cover; display: block; }
.sc-panel figcaption {
  padding: 22px 26px 26px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.sc-ptitle { color: #fff; font-size: 23px; font-weight: 800; letter-spacing: -.3px; }
.sc-pdesc { color: #b6b6b6; font-size: 14.5px; line-height: 1.55; }
.sc-more { margin-top: 6px; color: var(--gold); font-weight: 700; font-size: 13.5px; }
.sc-item:first-child .sc-panel { opacity: 1; }               /* JS yoksa: ilki görünür */
.tr-showcase.js-rotating .sc-item:first-child .sc-panel { opacity: 0; }
.sc-item.is-active .sc-panel { opacity: 1; z-index: 2; }      /* otomatik döngü */
.sc-item:hover .sc-panel,
.sc-item:focus-within .sc-panel { opacity: 1; z-index: 3; }   /* elle üzerine gelme */

/* Sağ liste */
.sc-list { list-style: none; margin: 0; padding: 0; }
.sc-h { margin: 0; }
.sc-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  padding: 11.5px 8px 11.5px 6px;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  transition: padding-left .28s ease, background .28s ease;
}
.sc-item:first-child .sc-row { border-top: 1px solid rgba(255, 255, 255, .1); }
.sc-name {
  font-size: 20px;
  font-weight: 700;
  color: #cfcfcf;
  letter-spacing: -.2px;
  transition: color .25s ease;
}
.sc-tag {
  font-size: 12px;
  color: #808080;
  letter-spacing: .8px;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color .25s ease;
}
.sc-item.is-active .sc-row { background: rgba(214, 161, 46, .07); }
.sc-item.is-active .sc-name { color: var(--gold); }
.sc-item.is-active .sc-tag { color: var(--gold-light); }
.sc-item:hover .sc-row,
.sc-row:focus-visible { padding-left: 16px; background: rgba(214, 161, 46, .1); }
.sc-item:hover .sc-name { color: var(--gold); }
.sc-item:hover .sc-tag { color: var(--gold-light); }
.sc-row:focus-visible { outline: none; }

/* Experts / Team member */
.member {
  scroll-snap-align: start;
  text-align: center;
}
.member .photo {
  width: 210px; height: 260px;
  margin: 0 auto 16px;
  border-radius: 8px;
  background: linear-gradient(160deg, #cfcfcf, #8f8f8f);
  overflow: hidden;
}
.member .photo img { width: 100%; height: 100%; object-fit: cover; }
.member .name { color: var(--gold); font-size: 22px; font-weight: 700; }
.section-light .member .name { color: var(--gold-dark); }
.member .role {
  color: var(--gray);
  font-size: 13px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

/* =========================================================
   11. ANESTHESIA / VIDEO
   ========================================================= */
.anesthesia {
  background: var(--black);
  color: var(--white);
  padding: 0;
  overflow: hidden;
}
.anesthesia .container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  align-items: stretch;
  max-width: none;
  padding: 0;
  margin: 0;
}
.anesthesia .left { padding: 0; position: relative; }
.anesthesia .right {
  background: var(--black);
  padding: 60px 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.anesthesia .right h2 {
  color: var(--gold);
  font-size: 36px;
  font-weight: 800;
  text-transform: uppercase;
  margin-bottom: 24px;
}
.anesthesia .right p { color: #d8d8d8; margin-bottom: 26px; }
.anesthesia .right .actions { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
.anesthesia .video-frame {
  width: 100%;
  height: 100%;
  min-height: 320px;
  border-radius: 0;
  overflow: hidden;
  background: #333;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
}
.anesthesia .video-frame .play-btn {
  background: #ff0000;
  color: var(--white);
  width: 70px; height: 50px;
  border-radius: 10px;
}

/* =========================================================
   12. 360 TOUR BANNER
   ========================================================= */
.tour-banner { background: var(--off-white); padding: 70px 0; }
.tour-banner .inner {
  background: var(--gold);
  border-radius: 10px;
  padding: 34px 44px;
  display: flex;
  align-items: center;
  gap: 24px;
  color: #241a00;             /* altın panel üstünde koyu metin — AA (7.4:1) */
}
/* 360 turun ne gösterdiğini anlatan önizleme: merkezin gerçek fotoğrafı + 360 rozeti */
.tour-banner .t-media {
  position: relative;
  flex: 0 0 auto;
  width: 190px;
  margin: 0;
  border-radius: 8px;
  overflow: hidden;
  line-height: 0;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .22);
}
.tour-banner .t-media img { display: block; width: 100%; height: auto; }
.tour-banner .t-360 {
  position: absolute;
  left: 8px;
  bottom: 8px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px;
  border-radius: 99px;
  background: rgba(0, 0, 0, .62);
  color: var(--white);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .6px;
  line-height: 1.4;
}
.tour-banner .t-360::before {
  content: "\21BB";           /* dönme oku — turun gezilebilir olduğunu ima eder */
  font-size: 13px;
}
.tour-banner .t-text h2 { font-size: 26px; font-weight: 700; margin: 0 0 4px; }
.tour-banner .t-text p { margin: 0; color: #2e2200; }
.tour-banner .btn-dark { margin-left: auto; padding: 16px 34px; }

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer {
  background: linear-gradient(105deg, #0d0d0d 0%, #1b1b1b 55%, #2c2c2c 100%);
  color: #cfcfcf;
  padding: 70px 0 30px;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.05fr 1.05fr 1.55fr;
  gap: 0;
}
.footer-grid > div { padding: 0 42px; }
.footer-grid > div:first-child { padding-left: 0; }
.footer-links,
.footer-contact { border-left: 1px solid rgba(255, 255, 255, .09); }

.footer-brand .logo-text .brand { font-size: 28px; }
.footer-health {
  margin: 24px 0;
  font-weight: 700;
  color: var(--white);
}
.footer-brand p { font-size: 15px; max-width: 380px; line-height: 1.7; }
.footer-social { display: flex; align-items: center; gap: 16px; margin-top: 30px; }
.footer-social span { font-size: 15px; margin-right: 6px; }
.footer-social a { color: var(--gold); display: inline-flex; transition: color .2s ease; }
.footer-social a:hover { color: var(--gold-light); }
.footer-social a svg { width: 22px; height: 22px; display: block; }

.footer-contact h2 { color: var(--gold); font-size: 20px; font-weight: 700; margin: 0 0 18px; }
.fc-mail { color: var(--gold); margin-bottom: 8px; }
.fc-mail svg { width: 34px; height: 34px; display: block; }

.footer-links ul {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.footer-links a { font-weight: 600; letter-spacing: .3px; color: var(--white); }
.footer-links a:hover { color: var(--gold); }
.footer-links a.trustpilot,
.footer-links a.trustpilot:hover {
  color: #1a1a1a;
  font-weight: 600;
}
.footer-links a.trustpilot strong { color: #111; font-weight: 800; }
.trustpilot {
  margin-top: 42px;
  background: #fff;
  color: #1a1a1a;
  padding: 13px 18px;
  border-radius: 4px;
  display: block;
  text-align: center;
  font-size: 14px;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}
.trustpilot:hover {
  color: #1a1a1a;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0,0,0,.18);
}
.trustpilot .star { color: #00b67a; }

.footer-contact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 28px;
  align-items: start;
}
.footer-contact > *:not(.footer-certs) { grid-column: 1; }
.footer-contact p { margin: 0 0 12px; font-size: 15px; line-height: 1.6; }
.footer-contact strong { color: var(--gold); }
.footer-certs {
  grid-column: 2;
  grid-row: 1 / span 30;
  align-self: start;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 4px 0 0;
}

.footer-bottom {
  border-top: 1px solid #2a2a2a;
  margin-top: 50px;
  padding-top: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  font-size: 14px;
}
.footer-bottom .partners { display: flex; align-items: center; gap: 16px; opacity: .95; }
.footer-moon {
  display: block;
  height: 36px;
  width: auto;
  max-width: min(240px, 55vw);
  object-fit: contain;
}

/* Mobil footer — 3 açılır menü (Hakkımızda/Menü/İletişim); görseller/logolar altta ayrı blokta */
.footer-mobile-acc { display: none; }

/* =========================================================
   RESPONSIVE
   ========================================================= */
/* =========================================================
   GERÇEK GÖRSEL ÖĞE DÜZELTMELERİ
   ========================================================= */
/* Why-us ikonları artık görsel */
.feature-card img.fc-icon {
  width: 70px; height: 70px;
  object-fit: contain;
  margin: 0 auto 20px;
}
/* Doctor/team member fotoğrafı */
.member .photo img { width: 100%; height: 100%; object-fit: cover; }
.member { text-decoration: none; }
/* Video / medya kutuları */
.treatment-media img,
.anesthesia .video-frame img { width: 100%; height: 100%; object-fit: cover; }
.treatment-media .play-btn,
.anesthesia .video-frame .play-btn {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
}
.treatment-media.is-playing,
.anesthesia .video-frame.is-playing { cursor: default; }
.treatment-media iframe,
.anesthesia .video-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  background: #000;
}
/* Footer health görseli */
img.footer-health { margin: 24px 0; height: auto; }
/* Footer sertifikaları */
.footer-certs img { width: 210px; max-width: 100%; border-radius: 6px; display: block; }

@media (max-width: 1024px) {
  /* Language switcher stays in the header, next to the burger, on mobile */
  .m-lang { display: none; }
  .lang-switch > summary { padding: 8px 10px; font-size: 12px; gap: 6px; }
  .lang-switch .flag { width: 19px; height: 13px; }

  .offer .container,
  .services-dark .container,
  .treatment-intro .container,
  .anesthesia .container,
  .why-grid,
  .footer-grid { grid-template-columns: 1fr; }
  .why-grid { gap: 46px; }
  .footer-grid { gap: 46px; }
  .footer-grid > div { padding: 0; }
  .footer-links,
  .footer-contact { border-left: 0; }
  .footer-contact { grid-template-columns: 1fr; }
  .footer-certs { grid-column: 1; grid-row: auto; margin-top: 18px; }
  .footer-certs img { width: 260px; }

  /* Mobil footer: 3 açılır menü, görseller/logolar altta */
  .footer-grid { display: none; }
  .footer-mobile-acc { display: block; }
  .ftr-acc { border-top: 1px solid rgba(255, 255, 255, .12); }
  .ftr-acc:last-of-type { border-bottom: 1px solid rgba(255, 255, 255, .12); }
  .ftr-acc summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 2px;
    cursor: pointer;
    list-style: none;
    font-size: 16px;
    font-weight: 700;
    color: var(--white);
  }
  .ftr-acc summary::-webkit-details-marker { display: none; }
  .ftr-acc-ico { position: relative; flex: none; width: 16px; height: 16px; }
  .ftr-acc-ico::before,
  .ftr-acc-ico::after {
    content: "";
    position: absolute;
    background: var(--gold);
    transition: transform .2s ease;
  }
  .ftr-acc-ico::before { top: 50%; left: 0; width: 100%; height: 2px; margin-top: -1px; }
  .ftr-acc-ico::after { left: 50%; top: 0; height: 100%; width: 2px; margin-left: -1px; }
  .ftr-acc[open] .ftr-acc-ico::after { transform: rotate(90deg) scaleX(0); }
  .ftr-acc-body { padding: 0 2px 20px; font-size: 15px; line-height: 1.7; color: #cfcfcf; }
  .ftr-acc-body p { margin: 0 0 12px; }
  .ftr-acc-body p:last-child { margin-bottom: 0; }
  .ftr-acc-body strong { color: var(--gold); }
  .fma-links { display: flex; flex-direction: column; gap: 14px; margin: 0; padding: 0; list-style: none; }
  .fma-links a { color: var(--white); font-weight: 600; }
  .fma-links a:hover { color: var(--gold); }

  .site-footer { padding-top: 36px; }
  .fma-top { display: flex; flex-direction: column; align-items: center; gap: 28px; margin-bottom: 8px; text-align: center; }
  .fma-top .footer-health { margin: 0; width: 110px; }
  .fma-logo img { width: 160px; height: auto; }
  .fma-social { display: flex; align-items: center; gap: 16px; }
  .fma-social a { color: var(--gold); display: inline-flex; }
  .fma-social a svg { width: 22px; height: 22px; display: block; }

  .fma-media { display: flex; flex-direction: column; align-items: center; gap: 20px; margin-top: 30px; text-align: center; }
  .fma-media .trustpilot { width: 100%; margin-top: 0; }
  .fma-media .footer-certs { align-self: center; align-items: center; }
  .hero-inner { grid-template-columns: 1fr; }
  .hero-award { justify-self: center; }
  .anesthesia .right { padding: 40px 24px; justify-content: center; }
  /* Mobilde uzun büyük-harf başlık çok iriydi — küçült */
  .anesthesia .right h2 { font-size: clamp(20px, 5.2vw, 28px); margin-bottom: 18px; }
  .anesthesia .left { padding: 0; min-height: 220px; }
  .anesthesia .video-frame { min-height: 220px; }

  /* Hamburger görünür, masaüstü aksiyonları gizli */
  .header-actions { margin-left: auto; }
  .tour-btn { display: none; }
  .nav-burger {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 46px; height: 44px;
    padding: 11px;
    border: 1px solid rgba(214, 161, 46, .45);
    border-radius: var(--btn-radius);
    cursor: pointer;
  }
  .nav-burger span {
    display: block;
    height: 2px;
    background: var(--gold);
    border-radius: 2px;
    transition: transform .25s ease, opacity .2s ease;
  }
  .nav-toggle:checked ~ .header-actions .nav-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav-toggle:checked ~ .header-actions .nav-burger span:nth-child(2) { opacity: 0; }
  .nav-toggle:checked ~ .header-actions .nav-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  /* Header sticky + z-index:100 olduğu için kendi yığın bağlamını kuruyor.
     Menü paneli bu bağlamın içinde kaldığından WhatsApp/We Call You çubuğunun
     (.fab-bar, z-index:300) altında kalıyordu — header'ı onun üstüne çıkarıyoruz. */
  .site-header { z-index: 400; }

  /* Hamburger/X panelin üstünde kalsın ki menü açıkken kapatma tıklanabilsin */
  .header-actions { position: relative; z-index: 260; }

  /* Tam ekran panel */
  .main-nav {
    position: fixed;
    inset: 0;
    height: 100vh;
    height: 100dvh;
    width: 100%;
    margin: 0;
    padding: 0;
    background: #111;
    box-shadow: none;
    transform: translateX(100%);
    transition: transform .3s ease;
    overflow: hidden;
    z-index: 250;
  }
  .nav-toggle:checked ~ .main-nav { transform: translateX(0); }

  /* Menu listesi, hamburger/X ve dil dugmesinin ALTINDAN baslar ve kaydirma
     panelin tamaminda degil kendi kutusunda olur. Aksi halde ilk satirin
     (Treatments) sagdaki ▾ kulakcigi X butonunun altinda kaliyor, gorunmuyor
     ve dokunulunca menu aciliyor yerine kapaniyordu.
     --nav-panel-top = .site-header'in alt kenari; js/nav.js olcup yaziyor
     (ust bar dar ekranda sarilinca yukseklik degisiyor, sabit deger yetmiyor). */
  .main-nav > ul {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin-top: calc(var(--nav-panel-top, 78px) + 12px);
    max-height: calc(100dvh - var(--nav-panel-top, 78px) - 52px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .main-nav > ul > li { border-bottom: 1px solid rgba(255, 255, 255, .08); }
  .main-nav > ul > li > a {
    display: block;
    padding: 16px 26px;
    font-size: 15px;
    background-image: none;
  }
  .has-dropdown > a::after {
    float: right;
    display: inline-block;
    transition: transform .25s ease;
  }
  .has-dropdown.open > a::after { transform: rotate(180deg); }

  /* Alt menü mobilde kulakçık — varsayılan kapalı, başlığa dokununca açılır.
     display:none DEĞİL: linkler DOM'da kalıyor, tarayıcılar görmeye devam ediyor. */
  .dropdown {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    margin: 0;
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease, padding .3s ease;
  }
  .has-dropdown.open > .dropdown { max-height: 640px; padding: 4px 0 10px; }
  .dropdown li a { padding: 9px 40px; color: #bdbdbd; }

  /* Mobilde: ana sayfaya (ör. Treatments) götüren genel bakış bağlantısı görünür */
  .m-overview { display: block; }
  .m-overview > a { color: var(--gold); font-weight: 700; }

  /* Arka plan karartma — tıklayınca kapanır */
  .nav-overlay {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .5);
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s ease, visibility .3s ease;
    z-index: 240;
  }
  .nav-toggle:checked ~ .nav-overlay { opacity: 1; visibility: visible; }

  /* Management sayfası mobil menüde görünür. Hamburger menü ≤1024px'te aktif;
     bu genişlikte üst bardaki Management butonunu gizle ki tablet aralığında
     (721–1024) menü + üst bar aynı linki iki kez göstermesin. */
  .m-manage { display: block; }
  /* Mobilde de belirgin: altın çerçeveli, nabız atan satır */
  .m-manage > a {
    position: relative;
    overflow: hidden;
    margin: 10px 26px;
    padding: 13px 18px;
    border: 2px solid var(--gold);
    border-radius: var(--btn-radius);
    color: var(--gold);
    font-weight: 800;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-align: center;
    animation: mgmt-pulse 2.6s ease-in-out infinite;
  }
  .m-manage > a > span { position: relative; z-index: 1; }
  .m-manage > a::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -60%;
    width: 42%;
    background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .2), transparent);
    transform: skewX(-18deg);
    animation: mgmt-shine 2.6s ease-in-out infinite;
    pointer-events: none;
  }
  .topbar-mgmt { display: none; }

  /* Erişilebilirlik ikonu mobil menünün üzerine gelmesin:
     menü açıkken (html.nav-open) gizlenir, kapanınca geri döner. */
  html.nav-open .accessibility-fab {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}

/* Our Treatments — tablet/mobil: tek sütun, hover'a bağlı vitrin kapanır,
   liste dokunulabilir satırlara dönüşer (her satır tedavi sayfasına link) */
@media (max-width: 900px) {
  .tr-showcase { grid-template-columns: 1fr; gap: 0; }
  .sc-stage { display: none; }
  .sc-panel { display: none; }
  .sc-row { padding: 17px 6px; }
  .sc-item:first-child .sc-row { border-top: none; }
  .sc-name { font-size: 18px; }
  .sc-item.is-active .sc-row { background: none; }
  .sc-item.is-active .sc-name { color: #cfcfcf; }
  .sc-item.is-active .sc-tag { color: #808080; }
  .sc-item:hover .sc-row,
  .sc-row:focus-visible { padding-left: 6px; }
}

@media (prefers-reduced-motion: reduce) {
  .main-nav, .nav-burger span, .nav-overlay,
  .main-nav > ul > li > a, .dropdown { transition: none; }
}

@media (max-width: 720px) {
  /* 360 / randevu banner: görsel → yazı → CTA (buton yazının altında) */
  .tour-banner .inner {
    flex-direction: column;
    align-items: stretch;
    padding: 24px;
    gap: 16px;
  }
  .tour-banner .t-media { width: 100%; order: 1; }
  .tour-banner .t-text { order: 2; width: 100%; }
  .tour-banner .btn-dark {
    order: 3;
    margin-left: 0;
    align-self: stretch;
    width: 100%;
    text-align: center;
    justify-content: center;
  }

  /* Topbar — her iki numara + UK/BE etiketi */
  .topbar { font-size: 11px; }
  .topbar .container {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 10px;
    text-align: center;
    flex-wrap: wrap;
    padding-top: 6px;
    padding-bottom: 6px;
  }
  .topbar-phone {
    gap: 6px;
    flex-wrap: wrap;
    justify-content: center;
    white-space: normal;
  }
  .topbar-phone .tb-ico { display: none; }
  .topbar-phone .tb-cc { font-size: 9px; padding: 1px 5px; }
  .topbar-phone a { gap: 5px; }
  /* Sosyal ikonlar mobilde kendi tam-genişlik satırına iner:
     tüm ikonlar (Facebook, Instagram, YouTube, TikTok) görünür + yatay taşma yok.
     Web'deki ikonların hepsi mobilde de gösterilir. */
  .topbar-social { margin-left: 0; flex-basis: 100%; justify-content: center; }
  .social-icons { justify-content: center; gap: 16px; flex-wrap: wrap; }
  .social-icons a svg { width: 18px; height: 18px; }
  .topbar-email { display: none; }
  .topbar-mgmt { display: none; }

  /* Compact header on mobile */
  .site-header .container { padding-top: 9px; padding-bottom: 9px; }
  .logo-img { height: 36px; }

  /* Hero photo fills the screen width on mobile (was clamped tiny) */
  .hero-slider:has(+ .page-hero) img { height: auto; }

  /* Sabit alt aksiyon çubuğu (WE CALL YOU / WHATSAPP) footer içeriğini örtmesin.
     Boşluğu body'ye değil footer'a veriyoruz → altta beyaz boşluk kalmıyor,
     ayrılan alan koyu footer zemininde kalıyor. */
  .site-footer { padding-bottom: 88px; }

  /* Hide the offer-form contact aside on mobile (redundant with footer) */
  .offer-contact { display: none; }
  .logo-img { height: 40px; }
  .why { padding: 64px 0; }
  .why-aside { --why-photo-w: 360px; }
  .why-award { margin-top: 14px; margin-bottom: 0; }
  .why-main h2 { margin-bottom: 24px; }
  .why-diff li { padding: 18px 0; }
  .d-was { font-size: 13.5px; }
  .d-is { font-size: 16px; }
  .why-cta { align-self: stretch; justify-content: center; }
  .treatments-sec { padding: 60px 0; }
  .tr-head { flex-direction: column; align-items: flex-start; margin-bottom: 30px; }
  .tr-viewall { align-self: stretch; justify-content: center; }
  .treat-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px; }
  .treat-overlay { padding: 14px; }
  .treat-overlay h3 { font-size: 15px; gap: 7px; }
  .treat-overlay h3::before { width: 6px; height: 6px; }
  /* Mobilde altın renk tüm bölüm arka planı olsun — iç kutu değil, tam genişlik */
  .offer { background: var(--gold); padding: 48px 0; }
  .offer-form-wrap { background: transparent; border-radius: 0; padding: 0; }
  .offer-form-wrap h2 { font-size: 32px; }
  .form-grid { grid-template-columns: 1fr; }
  .section-title-row h2,
  .why h2 { font-size: 34px; }
  .section-title-row .view-all { position: static; margin-top: 14px; }
  .section-title-row { flex-direction: column; gap: 14px; }
  /* Mobilde sertifikalar ve MOON / Google Partner rozeti ortalanir —
     dar ekranda sola yasli kaldiklarinda sagda genis bosluk kaliyordu. */
  .footer-certs { align-items: center; }
  .footer-bottom { flex-direction: column; align-items: center; text-align: center; }
  /* Mobil alt bar: ekran genişliğince beyaz bir şerit, butonlar bu şeridin
     içinde duruyor. Butonlar kenara sıfırlanmıyor — beyaz zemin onları
     sayfadan ayırdığı için "havada uçuyor" görüntüsü kalkıyor. */
  .fab-bar {
    display: flex;
    left: 0; right: 0; bottom: 0;
    gap: 8px;
    background: #fff;
    padding: 10px 10px calc(10px + env(safe-area-inset-bottom, 0px));
    box-shadow: 0 -4px 18px rgba(0, 0, 0, .12);
  }
  .fab-bar .fab-call { display: inline-flex; }   /* show "We Call You" on mobile */
  .fab-bar a {
    flex: 1;
    padding: 14px 8px;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .3px;
    box-shadow: none;
  }
  .fab-bar a:hover,
  .fab-bar a:active { transform: none; }
  .fab-bar .whatsapp-fab::before { width: 18px; height: 18px; }
  .fab-call::before { width: 16px; height: 16px; }

  /* Beyaz zemin butonları zaten ayırdığı için beyaz halka + glow yok;
     yazı gölgesi düşük kontrastlı ekranlarda okunurluğu koruyor. */
  .fab-bar .whatsapp-fab {
    color: #fff;
    text-shadow: 0 1px 3px rgba(0, 0, 0, .45);
    animation: none;
  }
  .fab-bar .fab-call {
    color: #1a1200;
    text-shadow: 0 1px 1px rgba(255, 255, 255, .55);
    animation: none;
  }
  .fab-bar .whatsapp-fab:active { background: var(--green-dark); }
  .fab-bar .fab-call:active { background: var(--gold-light); }
}

@keyframes fabGlowWa {
  0%, 100% { box-shadow: 0 0 0 1px rgba(255,255,255,.9), 0 6px 18px rgba(0,0,0,.22), 0 0 14px 2px rgba(14,193,47,.5); }
  50%      { box-shadow: 0 0 0 1px rgba(255,255,255,.9), 0 6px 18px rgba(0,0,0,.22), 0 0 26px 5px rgba(14,193,47,.8); }
}
@keyframes fabGlowCall {
  0%, 100% { box-shadow: 0 0 0 1px rgba(255,255,255,.85), 0 6px 18px rgba(0,0,0,.22), 0 0 14px 2px rgba(214,161,46,.55); }
  50%      { box-shadow: 0 0 0 1px rgba(255,255,255,.85), 0 6px 18px rgba(0,0,0,.22), 0 0 26px 5px rgba(214,161,46,.85); }
}
@media (prefers-reduced-motion: reduce) {
  .whatsapp-fab, .fab-call { animation: none; }
}

/* =========================================================
   OUR TREATMENTS — interactive dental arch (numberless)
   ========================================================= */
.arch-wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:44px;align-items:center;margin-top:8px}
.arch-stage{position:relative;background:radial-gradient(130% 120% at 50% 8%,#191919,#0a0a0a 62%,#060606);
  border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:30px 26px 24px;min-height:360px}
.arch-stage .hint{position:absolute;top:18px;left:0;right:0;text-align:center;color:#6a6a6a;font-size:11px;letter-spacing:3px;text-transform:uppercase;font-weight:800}
.arch-stage .jaw{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:#585858;font-size:10.5px;letter-spacing:3px;text-transform:uppercase;font-weight:800}
/* Otomatik dönerken nerede olduğunu gösteren ve elle atlamayı mümkün kılan noktalar.
   Coverflow ile ayni dil (.cf-dot), boylece site genelinde ayni sey ayni gorunuyor. */
/* Nokta düğmeleri: görünen nokta küçük kalır, tıklama/dokunma hedefi 24×24'tür
   (WCAG 2.2 — 2.5.8 Hedef Boyutu). Hedefler bitişik ama üst üste binmez. */
.arch-dots{display:flex;justify-content:flex-start;gap:0;flex-wrap:wrap;margin:0;padding:0 20px 22px;position:relative;z-index:3}
.arch-dot{width:24px;height:24px;border:0;padding:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:width .25s}
.arch-dot::before{content:'';display:block;width:7px;height:7px;border-radius:50%;background:#3a3a3a;transition:.25s}
.arch-dot:hover::before{background:#8a7433}
.arch-dot.on{width:34px}
.arch-dot.on::before{background:var(--gold);width:22px;border-radius:4px}
.arch-dot:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}
#archSvg{width:100%;height:auto;display:block;overflow:visible;margin-top:6px}
.tooth{cursor:pointer}
.tooth .crown{fill:url(#enamel);stroke:#9a9a9a;stroke-width:.8;transition:stroke .28s,filter .28s}
.tooth .groove{fill:none;stroke:#a2a2a2;stroke-width:.7;opacity:.55;pointer-events:none;transition:stroke .28s,opacity .28s}
.tooth .dot{fill:var(--gold);opacity:.9;transition:opacity .25s;pointer-events:none}
.tooth.plain{cursor:default}
.tooth.on .crown{fill:url(#enamelGold);stroke:var(--gold-light);filter:drop-shadow(0 0 12px rgba(214,161,46,.65))}
.tooth.on .groove{stroke:#8a5f14;opacity:.6}
.tooth.on .dot{opacity:0}
#linker{fill:none;stroke:var(--gold);stroke-width:2.4;stroke-linecap:round;opacity:0;filter:drop-shadow(0 0 6px rgba(214,161,46,.7));transition:opacity .25s;stroke-dasharray:2 7}
.arch-read{background:#0c0c0c;border:1px solid rgba(255,255,255,.09);border-radius:18px;overflow:hidden;box-shadow:0 26px 60px rgba(0,0,0,.5);text-align:left}
.arch-read .ph{height:200px;background:#161616;position:relative}
.arch-read .ph img{width:100%;height:100%;object-fit:cover;display:block}
.arch-read .ph .pos{position:absolute;right:16px;top:14px;font-weight:800;font-size:11px;color:#cfcfcf;background:rgba(0,0,0,.55);padding:5px 10px;border-radius:999px;letter-spacing:1px}
/* Sabit gövde yüksekliği: hover'da içerik değişince kart büyüyüp küçülmesin
   (ortalanmış grid'de yandaki diş sahnesini zıplatıyordu) */
.arch-read .body{padding:22px 24px 26px;min-height:196px;display:flex;flex-direction:column;align-items:flex-start}
.arch-read .body a.more{margin-top:auto}
.arch-read .tag{color:var(--gold);font-size:12px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}
.arch-read h3{margin:8px 0 8px;font-size:25px;font-weight:900;letter-spacing:-.3px;color:#fff}
.arch-read p{margin:0 0 18px;color:#b6b6b6;font-size:14.5px;line-height:1.55}
.arch-read a.more{color:#000;background:var(--gold);font-weight:800;font-size:13px;padding:11px 17px;border-radius:8px;display:inline-block;transition:.2s}
.arch-read a.more:hover{background:var(--gold-light)}

/* Mobile treatments carousel — replaces the interactive arch on phones */
.tr-mobile{display:none}
.tr-wrap{position:relative}
.tr-rail{
  display:grid;grid-auto-flow:column;grid-auto-columns:78%;gap:16px;
  overflow-x:auto;padding:2px 2px 14px;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;-ms-overflow-style:none;
  overscroll-behavior-x:contain;
  /* touch-action:pan-x KULLANMA — şerit üzerinde başlayan dikey kaydırmayı
     tamamen iptal ediyor, parmak kutunun üstündeyken sayfa aşağı/yukarı
     kaymıyordu. auto'da tarayıcı yön kilidi yapar: yatay jest şeridi,
     dikey jest sayfayı kaydırır; pinch-zoom da korunur. */
  touch-action:auto;
  cursor:grab;
}
.tr-rail:active{cursor:grabbing}
.tr-rail::-webkit-scrollbar{display:none}
.tr-side{
  display:none;position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:38px;height:56px;padding:0;border:0;border-radius:0;
  background:transparent;box-shadow:none;
  color:var(--gold);font-size:34px;line-height:1;
  text-shadow:0 1px 6px rgba(0,0,0,.4);
  cursor:pointer;
  transition:color .2s ease,transform .2s ease;
}
.tr-side-prev{left:2px}
.tr-side-next{right:2px}
.tr-side:hover{color:var(--gold-dark);transform:translateY(-50%) scale(1.18)}
.tr-side:active{transform:translateY(-50%)}
.tr-card{
  scroll-snap-align:start;display:flex;flex-direction:column;
  background:#0c0c0c;border:1px solid rgba(255,255,255,.09);border-radius:16px;
  overflow:hidden;color:#fff;transition:border-color .2s ease;
  -webkit-user-drag:none;user-select:none;
}
.tr-card:active{border-color:var(--gold)}
.tr-card-ph{display:block;height:150px;background:#161616}
.tr-card-ph img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.tr-card-body{display:flex;flex-direction:column;flex:1;padding:16px 18px 18px}
.tr-card-tag{color:var(--gold);font-size:11.5px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}
.tr-card-h3{display:block;margin:7px 0;font-size:20px;font-weight:900;letter-spacing:-.3px;color:#fff}
.tr-card-p{display:block;margin:0 0 16px;color:#b6b6b6;font-size:14px;line-height:1.55}
.tr-card-more{margin-top:auto;align-self:flex-start;color:#000;background:var(--gold);font-weight:800;font-size:12.5px;padding:10px 15px;border-radius:8px}
/* Nokta düğmeleri: görünen nokta küçük kalır, tıklama/dokunma hedefi 24×24'tür
   (WCAG 2.2 — 2.5.8 Hedef Boyutu). Hedefler bitişik ama üst üste binmez. */
.tr-dots{display:none;justify-content:center;align-items:center;gap:0;margin:4px 0 0;flex-wrap:wrap}
.tr-dot{
  width:24px;height:24px;padding:0;border:0;background:transparent;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;transition:width .25s ease;
}
.tr-dot::before{
  content:'';display:block;width:7px;height:7px;border-radius:50%;
  background:rgba(255,255,255,.28);transition:background .25s ease,width .25s ease,border-radius .25s ease;
}
.tr-dot.on{width:34px}
.tr-dot.on::before{background:var(--gold);width:22px;border-radius:4px}
.tr-mobile-all{width:100%;justify-content:center;margin-top:18px}
@media(max-width:760px){
  .treatments-sec .arch-wrap{display:none}
  .treatments-sec .tr-head-text p{display:none}
  .treatments-sec .tr-viewall{display:none}
  .tr-mobile{display:block}
  .tr-side{display:inline-flex;align-items:center;justify-content:center}
  .tr-dots{display:flex}
  .tr-rail{
    grid-auto-columns:min(86%, 320px);
    gap:14px;
    padding-left:28px;padding-right:28px;
  }
}

/* =========================================================
   OUR EXPERTS — editorial rail (white)
   ========================================================= */
.expsec{background:#fff;padding:82px 0 12px;text-align:left}
.expsec .exp-head{max-width:640px;margin-bottom:34px}
.expsec .exp-head h2{font-size:clamp(34px,4.3vw,58px);font-weight:900;letter-spacing:-1.4px;color:#141414;line-height:1;margin:15px 0 12px}
.expsec .exp-head p{color:var(--gray);font-size:16px;line-height:1.6;margin:0}
.exp-rail{display:grid;grid-auto-flow:column;grid-auto-columns:296px;gap:24px;overflow-x:auto;padding:6px 4px 8px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--gold) #eee}
.exp-rail::-webkit-scrollbar{height:8px}
.exp-rail::-webkit-scrollbar-track{background:#efece6;border-radius:8px}
.exp-rail::-webkit-scrollbar-thumb{background:var(--gold);border-radius:8px}
.exp-card{position:relative;scroll-snap-align:start;aspect-ratio:3/3.9;border-radius:16px;overflow:hidden;background:#e9e7e2;border:1px solid #e8e6e0;box-shadow:0 10px 26px rgba(20,20,20,.08);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s;text-decoration:none}
.exp-card .exp-ph{position:absolute;inset:0}
.exp-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.exp-num{position:absolute;top:12px;left:12px;z-index:3;font-size:12px;font-weight:900;letter-spacing:.5px;color:#fff;background:rgba(20,20,20,.42);backdrop-filter:blur(4px);width:34px;height:26px;display:grid;place-items:center;border-radius:7px}
.exp-go{position:absolute;top:11px;right:11px;z-index:3;width:34px;height:34px;border-radius:50%;background:var(--gold);color:#111;display:grid;place-items:center;font-size:15px;opacity:0;transform:translateY(-6px);transition:.3s cubic-bezier(.2,.7,.2,1)}
.exp-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;flex-direction:column;padding:20px 18px 18px;background:linear-gradient(180deg,transparent,rgba(10,10,10,.28) 42%,rgba(8,8,8,.9))}
.exp-disc{color:var(--gold-light);font-size:10.5px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase}
.exp-nm{color:#fff;font-size:20px;font-weight:900;letter-spacing:-.3px;line-height:1.2;margin:6px 0 3px}
.exp-ro{color:#d6d6d6;font-size:12.5px;font-weight:600}
.exp-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(20,20,20,.16)}
.exp-card:hover img{transform:scale(1.06)}
.exp-card:hover .exp-go{opacity:1;transform:translateY(0)}
/* Mobilde kart isimleri daha küçük ve daha ince — büyük durmasın */
@media(max-width:640px){
  .exp-cap{padding:13px 13px 12px}
  .exp-disc{font-size:9px;letter-spacing:1px}
  .exp-nm{font-size:15px;font-weight:700;letter-spacing:0;line-height:1.18;margin:4px 0 2px}
  .exp-ro{font-size:11px;font-weight:500}
}
.exp-hint{display:flex;align-items:center;gap:14px;margin:20px 4px 0;color:#b7b3a8;font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase}
.exp-hint .exp-bar{height:3px;flex:1;background:linear-gradient(90deg,var(--gold),#efece6);border-radius:3px;max-width:220px}
.exp-cta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin:40px 0 0}
.exp-aside{color:var(--gray);font-size:13.5px;line-height:1.5;max-width:34ch;margin:0}
.exp-aside b{color:#141414;font-weight:800}

/* =========================================================
   OPERATION TEAM — support crew (warm, secondary)
   ========================================================= */
.crew{background:#f5f3ee;border-top:1px solid #e5e1d6;padding:54px 0 74px;text-align:left}
.crew .crew-head{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;flex-wrap:wrap;margin-bottom:34px}
.crew-lt{max-width:60ch}
.crew-lt h2{font-size:clamp(21px,2.1vw,27px);font-weight:800;color:#141414;letter-spacing:-.4px;margin:13px 0 9px}
.crew-lt p{color:var(--gray);font-size:14.5px;line-height:1.6;margin:0}
.crew-lt p b{color:var(--dark);font-weight:700}
.crew-n{flex:none;text-align:right;font-variant-numeric:tabular-nums}
.crew-n b{display:block;font-size:38px;font-weight:900;color:var(--gold-dark);line-height:1;letter-spacing:-1px}
.crew-n span{font-size:10.5px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--gray)}
.crew-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:28px 12px}
.crew-op{text-align:center}
.crew-av{width:80px;height:80px;border-radius:50%;margin:0 auto 11px;overflow:hidden;background:linear-gradient(160deg,#e3e1db,#c9c7c0);box-shadow:0 0 0 3px #fff,0 5px 13px rgba(20,20,20,.1);transition:transform .3s,box-shadow .3s}
.crew-av img{width:100%;height:100%;object-fit:cover;object-position:top center;filter:grayscale(1) contrast(1.02);transition:filter .45s}
.crew-on{font-size:12px;font-weight:700;color:#5b616b;line-height:1.3}
.crew-op:hover .crew-av{transform:translateY(-4px);box-shadow:0 0 0 3px var(--gold-light),0 12px 22px rgba(20,20,20,.16)}
.crew-op:hover .crew-av img{filter:none}
.crew-op:hover .crew-on{color:#141414}

@media(max-width:900px){.arch-wrap{grid-template-columns:1fr;gap:26px}}
@media(max-width:760px){
  .exp-rail{grid-auto-columns:230px}
  .crew-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:24px 10px}
  .crew-av{width:66px;height:66px}
}
@media(prefers-reduced-motion:reduce){
  .exp-card,.exp-card img,.crew-av,.crew-av img,.exp-go,.tooth .crown,.tooth .groove,.tooth .dot,#linker,.arch-read a.more{transition:none}
}

/* =========================================================
   TEAM COVERFLOW — Our Experts + Operation Team (3D slider)
   ========================================================= */
.teamsec{position:relative;overflow:hidden;padding:64px 0 58px;text-align:left;background:#fff}
.teamsec.alt{background:#fbfaf7}
.teamsec::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(52% 46% at 10% -6%,rgba(214,161,46,.14),transparent 70%),
  radial-gradient(46% 42% at 104% 108%,rgba(214,161,46,.11),transparent 72%)}
.teamsec .container{position:relative;z-index:2}
.t-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:8px}
.t-head .lt{max-width:52ch}
.t-head h2{font-size:clamp(30px,3.6vw,50px);font-weight:900;letter-spacing:-1.2px;color:#141414;line-height:1;margin:13px 0 10px}
.t-head p{color:var(--gray);font-size:15.5px;line-height:1.55;margin:0}
.t-nav{display:flex;align-items:center;gap:14px;flex:none}
.t-count{font-size:13px;font-weight:900;color:#141414;font-variant-numeric:tabular-nums;letter-spacing:1px}
.t-count .sep{color:#c9c5bc;margin:0 3px}
.t-count .tot{color:var(--gray)}
.t-btn{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--gold);background:transparent;color:var(--gold-dark);
  display:grid;place-items:center;cursor:pointer;transition:.22s;font-size:18px;line-height:1}
.t-btn:hover{background:var(--gold);color:#111;transform:translateY(-2px)}
.t-btn:active{transform:translateY(0)}
/* touch-action:none KULLANMA — parmak coverflow'un uzerindeyken sayfa dikey
   kaymiyordu. pan-y: dikey jest tarayiciya (sayfa kaydirma) gider, yatay
   surukleme pointer olaylariyla calismaya devam eder; tarayici gesti
   devraldiginda pointercancel dusuyor ve onUp surukleme durumunu topluyor. */
.cf{position:relative;height:412px;perspective:1750px;margin-top:26px;touch-action:pan-y;user-select:none;overflow:hidden}
.cf-stage{position:absolute;inset:0;transform-style:preserve-3d;cursor:grab;touch-action:pan-y}
/* NOT: kartin kendi icerigi 2D — burada preserve-3d KULLANMA.
   WebKit'te (iOS Safari) preserve-3d, overflow:hidden + border-radius kirpmasini iptal ediyor;
   pasif kartlarin translateY(10px) ile asagi kayan .cf-cap'i kartin yuvarlak alt kosesinden
   tasip keskin siyah blok olarak goruntuleniyordu. -webkit-mask ise composite katmanda
   yuvarlak kirpmayi garanti eder. */
.cf-card{position:absolute;top:50%;left:50%;width:266px;height:348px;border-radius:18px;overflow:hidden;
  -webkit-mask-image:-webkit-radial-gradient(#fff,#000);mask-image:radial-gradient(#fff,#000);
  cursor:pointer;background:#e9e7e2;transform-style:flat;will-change:transform;-webkit-user-drag:none;text-decoration:none;
  box-shadow:0 26px 55px rgba(20,20,20,.20);transition:transform .58s cubic-bezier(.22,.66,.24,1),opacity .5s,box-shadow .5s}
.cf.dragging .cf-card{transition:opacity .5s,box-shadow .5s}
.cf-card img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:filter .55s,transform .8s;
  -webkit-user-drag:none;user-select:none}
.cf-card::after{content:"";position:absolute;inset:0;z-index:1;transition:opacity .55s;
  background:linear-gradient(180deg,rgba(214,161,46,.34) 0%,rgba(150,96,18,.5) 100%);mix-blend-mode:multiply}
.cf-card:not(.active) img{filter:grayscale(1) contrast(1.05) brightness(.98)}
.cf-card.active::after{opacity:0}
.cf-card.active{box-shadow:0 34px 70px rgba(20,20,20,.30)}
.cf-card.active img{transform:scale(1.04)}
.cf-card .frame{position:absolute;inset:0;z-index:3;border-radius:18px;pointer-events:none;
  box-shadow:inset 0 0 0 0 rgba(214,161,46,0);transition:box-shadow .5s}
.cf-card.active .frame{box-shadow:inset 0 0 0 3px var(--gold)}
/* Featured "lead" card — always gold-framed with a badge (Özgür Şen) */
.cf-card.is-lead .frame{box-shadow:inset 0 0 0 3px var(--gold)}
.cf-card.is-lead{box-shadow:0 0 0 1px var(--gold),0 16px 40px rgba(214,161,46,.45)}
.cf-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;flex-direction:column;align-items:flex-start;
  padding:56px 22px 20px;
  background:linear-gradient(180deg,transparent 0%,rgba(8,8,8,.35) 38%,rgba(8,8,8,.82) 72%,rgba(6,6,6,.95) 100%);
  opacity:0;transition:opacity .45s .05s}
/* Giris animasyonu kutunun KENDISINI degil icerigini kaydirir; boylece koyu degrade
   hicbir motorda kartin yuvarlak alt kosesinin disina tasamaz. */
.cf-cap>*{transform:translateY(10px);transition:transform .45s .05s}
.cf-card.active .cf-cap{opacity:1}
.cf-card.active .cf-cap>*{transform:none}
.cf-cap .disc{color:var(--gold-light);font-size:10.5px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase;margin-bottom:6px}
.cf-cap .n{color:#fff;font-size:20px;font-weight:900;letter-spacing:-.3px;line-height:1.2;margin:0 0 4px}
.cf-cap .r{color:#d8d8d8;font-size:12.5px;font-weight:600;line-height:1.3}
.cf-cap .more{display:inline-flex;align-items:center;gap:7px;margin-top:15px;color:#111;background:var(--gold);
  font-size:11.5px;font-weight:900;letter-spacing:.4px;padding:9px 14px;border-radius:7px;pointer-events:auto}
/* Nokta düğmeleri: görünen nokta küçük kalır, tıklama/dokunma hedefi 24×24'tür
   (WCAG 2.2 — 2.5.8 Hedef Boyutu). Hedefler bitişik ama üst üste binmez. */
.cf-dots{display:flex;justify-content:center;gap:0;margin-top:26px;flex-wrap:wrap;position:relative;z-index:2}
.cf-dot{width:24px;height:24px;border:0;padding:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:width .25s}
.cf-dot::before{content:'';display:block;width:7px;height:7px;border-radius:50%;background:#dcd8cf;transition:.25s}
.cf-dot.on{width:34px}
.cf-dot.on::before{background:var(--gold);width:22px;border-radius:4px}
@media(max-width:760px){
  .cf{height:360px;overflow:hidden;margin-top:14px;perspective:900px}
  .cf-card{width:200px;height:260px;border-radius:16px}
  /* Mobilde kart isimleri daha küçük ve daha ince — büyük durup satır atlamasın */
  .cf-cap .disc{font-size:9px;letter-spacing:1.1px;margin-bottom:4px}
  .cf-cap .n{font-size:15px;font-weight:700;letter-spacing:0;line-height:1.18;margin:0 0 3px}
  .cf-cap .r{font-size:11px;font-weight:500}
  .cf-cap .more{margin-top:10px}
  /* Mobilde 3D az — kaydırma daha akıcı, köşe taşması yok */
  .teamsec{overflow:hidden;padding-bottom:36px}
  .cf-side{display:inline-flex}
  .teamsec:has(.cf-side) .t-nav{display:none}
}
@media(max-width:640px){
  .cf{height:340px}
  .cf-card{width:188px;height:244px}
}
/* Coverflow side arrows — used on mobile in place of the header arrows */
.cf-side{display:none;position:absolute;top:50%;transform:translateY(-50%);z-index:130;
  width:38px;height:56px;font-size:34px;line-height:1;
  border:0;border-radius:0;background:transparent;box-shadow:none;
  color:var(--gold);text-shadow:0 1px 6px rgba(0,0,0,.4);
  transition:color .2s ease,transform .2s ease}
.cf-side-prev{left:2px}
.cf-side-next{right:2px}
.cf-side:hover{background:transparent;color:var(--gold-dark);transform:translateY(-50%) scale(1.18)}
.cf-side:active{transform:translateY(-50%)}
@media(prefers-reduced-motion:reduce){.cf-card,.cf-card img,.cf-cap,.cf-cap>*{transition:none}}

/* =========================================================
   REVIEWS / VIDEOS SAYFASI (reviews.html)
   ========================================================= */

/* Aktif menü linki (aria-current) */
.main-nav > ul > li > a[aria-current="page"] { color: var(--gold); background-size: 100% 2px; }

/* --- Sayfa hero: breadcrumb + başlık (zarif koyu bant, altın ışık) --- */
.page-hero {
  position: relative;
  overflow: hidden;
  background: var(--black);
  color: var(--white);
  padding: 48px 0 42px; /* crumbs kalktı, bandın dikey dengesi korunuyor */
  text-align: center;
  border-bottom: 1px solid rgba(214, 161, 46, .28);
}
.page-hero::before {
  content: "";
  position: absolute; inset: 0;
  background: url("../images/upload/constants/virtual-tour.webp") center/cover no-repeat;
  opacity: .14;
  filter: grayscale(1) sepia(.55) saturate(1.9) brightness(.72);
}
.page-hero::after {
  content: "";
  position: absolute; inset: 0;
  background:
          radial-gradient(58% 130% at 50% 120%, rgba(214, 161, 46, .28), transparent 72%),
          linear-gradient(180deg, rgba(0, 0, 0, .55) 0%, rgba(0, 0, 0, .15) 100%);
}
.page-hero .container { position: relative; z-index: 2; }
/* İç sayfa hero'sunda breadcrumb görsel olarak gizli.
   DOM'dan KALDIRILMADI: BreadcrumbList JSON-LD + gezinme bağlamı
   tarayıcılar ve ekran okuyucular için korunuyor (SEO/GEO/AIO). */
.crumbs {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
.crumbs a { transition: color .2s ease; }
.crumbs a:hover { color: var(--gold-light); text-decoration: none; }
.crumbs .sep { color: var(--gold); opacity: .8; }
.crumbs [aria-current="page"] { color: var(--gold-light); }
.page-hero h1 {
  margin: 0 auto;
  max-width: 26ch;
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 800;
  letter-spacing: -.5px;
  line-height: 1.12;
  color: var(--white);
  text-wrap: balance;
}
.page-hero h1::after {
  content: "";
  display: block;
  width: 56px; height: 3px;
  background: var(--gold);
  border-radius: 2px;
  margin: 14px auto 0;
}

/* --- Ortalanmış CTA satırı --- */
.cta-row { display: flex; justify-content: center; padding: 36px 0 8px; }
.cta-row .btn { padding: 16px 40px; font-size: 16px; font-weight: 700; }

/* --- Hasta videoları: galeri ızgarası --- */
.videos-sec {
  position: relative;
  overflow: hidden;
  background: var(--white);
  padding: 84px 0 88px;
}
.videos-sec::before {
  content: "";
  position: absolute; inset: 0;
  pointer-events: none;
  background:
          radial-gradient(50% 44% at 8% 0%, rgba(214, 161, 46, .12), transparent 70%),
          radial-gradient(44% 40% at 102% 106%, rgba(214, 161, 46, .10), transparent 72%);
}
.vg-head { position: relative; z-index: 1; text-align: center; margin-bottom: 46px; }
.vg-head h2 {
  font-size: clamp(28px, 3.4vw, 44px);
  font-weight: 800;
  letter-spacing: -.8px;
  color: var(--dark-2);
  margin: 13px 0 0;
}
.vg-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(18px, 2.4vw, 32px);
  list-style: none;
  margin: 0;
  padding: 0;
}
.vg-thumb {
  position: relative;
  display: block;
  aspect-ratio: 9 / 16;
  border-radius: 18px;
  overflow: hidden;
  background: var(--black);
  box-shadow:
          0 0 0 1px rgba(0, 0, 0, .3),
          0 0 0 6px var(--gold),
          0 0 0 7px var(--gold-dark),
          0 22px 44px rgba(20, 20, 20, .18);
}
.vg-thumb img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}
.vg-thumb:hover img { transform: scale(1.04); }
.vg-thumb .play-btn {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 62px; height: 62px;
  font-size: 23px;
  transition: transform .25s ease, background .25s ease, color .25s ease;
}
.vg-thumb:hover .play-btn {
  transform: translate(-50%, -50%) scale(1.08);
  background: var(--gold);
  color: #111;
}
.vg-thumb iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  border: 0;
  z-index: 3;
}
.vg-thumb.is-playing { cursor: default; }
.vg-thumb.is-playing .play-btn { display: none; }
.vg-cap {
  margin: 18px 6px 0;
  text-align: center;
  font-size: 15.5px;
  font-weight: 600;
  color: var(--gray);
  line-height: 1.5;
}
.vg-cta { position: relative; z-index: 1; margin-top: 44px; display: flex; justify-content: center; }

/* --- Tedavi grupları: her tedavinin videoları kendi başlığı altında --- */
.vg-group { position: relative; z-index: 1; }
.vg-group + .vg-group { margin-top: 58px; }
.vg-group-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 24px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(20, 20, 20, .09);
}
.vg-group-head h3 {
  font-size: clamp(19px, 2vw, 24px);
  font-weight: 800;
  letter-spacing: -.4px;
  color: var(--dark-2);
  margin: 0;
}
.vg-group-head .vg-link {
  font-size: 14px;
  font-weight: 700;
  color: var(--gold-dark);
  text-decoration: none;
  white-space: nowrap;
}
.vg-group-head .vg-link:hover { text-decoration: underline; }
.vg-dots { display: none; }
/* 16:9 kaynaklı videolar dikey kartta: gömülü oynatıcı yatay kadrajın
   ortasındaki dikey şeridi gösterecek şekilde yükseklikten ölçeklenip kırpılır
   (genişlik = kart genişliği × (16/9)² = %316.05) */
.vg-thumb.vg-crop iframe {
  inset: auto;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 100%;
  width: calc(100% * 256 / 81);
}

@media (prefers-reduced-motion: reduce) {
  .vg-thumb img, .vg-thumb .play-btn { transition: none; }
}

/* --- Smile Gallery (önce / sonra) --- */
.gallery-sec { background: var(--off-white); padding: 64px 0; }
.g-head { text-align: center; margin-bottom: 8px; }
.g-head h2 { font-size: clamp(28px, 4vw, 42px); font-weight: 800; color: var(--dark); margin-bottom: 6px; }
.g-head .smile-arc { display: block; margin: 0 auto 10px; }
.g-head p { max-width: 62ch; margin: 0 auto; color: var(--gray); font-size: 16px; }
.g-viewall {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 16px;
  color: var(--gold-dark);
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}
.g-viewall:hover { color: var(--gold); }
.ba-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 36px;
}
/* --- Karusel: ok butonlu, kaydırma-yapışmalı şerit (grid'in yerini aldı) --- */
.ba-carousel { position: relative; margin-top: 36px; }
.ba-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 3 * 18px) / 4);
  gap: 18px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding-bottom: 6px;
}
.ba-track::-webkit-scrollbar { display: none; }
.ba-track .ba-card { scroll-snap-align: start; }
.ba-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 38px; height: 56px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--gold);
  font-size: 34px;
  line-height: 1;
  cursor: pointer;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
  text-shadow: 0 1px 6px rgba(0, 0, 0, .4);
  transition: color .2s ease, transform .2s ease;
}
.ba-nav:hover { background: transparent; color: var(--gold-dark); transform: translateY(-50%) scale(1.18); }
.ba-nav.prev { left: -2px; }
.ba-nav.next { right: -2px; }
@media (max-width: 1024px) { .ba-track { grid-auto-columns: calc((100% - 2 * 18px) / 3); } }
@media (max-width: 720px)  { .ba-track { grid-auto-columns: calc((100% - 14px) / 2); gap: 14px; } .ba-nav.prev { left: -6px; } .ba-nav.next { right: -6px; } }
@media (max-width: 460px)  { .ba-track { grid-auto-columns: 86%; } }

.ba-card {
  position: relative;
  margin: 0;
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--white);
  box-shadow: var(--shadow);
}
.ba-card img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  object-position: center;
  display: block;
  background: #0a0a0a;
  transition: transform .35s ease;
}
.ba-card:hover img { transform: none; }
.ba-card figcaption {
  position: static;
  padding: 12px 14px;
  background: #111;
  color: var(--white);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  text-align: left;
}
.ba-card figcaption span {
  display: block;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .4px;
  color: var(--gold-light);
  margin-top: 2px;
}

/* --- Responsive --- */
@media (max-width: 1024px) {
  .vg-grid {
    grid-template-columns: repeat(2, 1fr);
    max-width: none;
    margin: 0;
  }
  .ba-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 720px) {
  .page-hero { padding: 34px 0 32px; }
  .page-hero h1::after { margin-top: 12px; }
  .ba-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }

  .videos-sec { padding: 56px 0 64px; }
  .vg-head { margin-bottom: 32px; }
  .vg-group + .vg-group { margin-top: 42px; }
  .vg-group-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    margin-bottom: 16px;
  }

  /* Tedavi başlığı altında yatay kaydırılabilir video şeridi */
  .vg-grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: min(56vw, 200px);
    grid-template-columns: none;
    gap: 16px;
    max-width: none;
    margin: 0 -20px;
    padding: 10px 20px 18px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 20px;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }
  .vg-grid::-webkit-scrollbar { display: none; }
  .vg-grid > li {
    scroll-snap-align: start;
    min-width: 0;
  }
  .vg-thumb {
    border-radius: 14px;
    box-shadow:
            0 0 0 1px rgba(0, 0, 0, .28),
            0 0 0 4px var(--gold),
            0 0 0 5px var(--gold-dark),
            0 14px 28px rgba(20, 20, 20, .16);
  }
  .vg-thumb .play-btn {
    width: 48px;
    height: 48px;
    font-size: 18px;
  }
  .vg-cap {
    margin: 12px 2px 0;
    font-size: 13px;
    line-height: 1.4;
  }
  .vg-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
    margin: 2px 0 0;
    padding: 0;
    list-style: none;
  }
  /* 24×24 dokunma hedefi, 7px görünen nokta — WCAG 2.2 (2.5.8) */
  .vg-dot {
    width: 24px;
    height: 24px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .vg-dot::before {
    content: '';
    display: block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgba(20, 20, 20, .22);
    transition: background .2s ease, transform .2s ease;
  }
  .vg-dot.is-on::before {
    background: var(--gold);
    transform: scale(1.2);
  }
}
@media (max-width: 460px) {
  .ba-grid { grid-template-columns: 1fr; }
  .vg-grid {
    grid-auto-columns: min(62vw, 190px);
    gap: 14px;
  }
}

/* =========================================================
   8b. TREATMENT JOURNEY — adım zaman çizelgesi + blueprint sahnesi
   ========================================================= */
.journey {
  position: relative;
  overflow: hidden;
  background: var(--white);
  padding: 92px 0;
}
.journey::before {
  content: "";
  position: absolute; inset: 0;
  pointer-events: none;
  background:
          radial-gradient(50% 44% at 96% -4%, rgba(214, 161, 46, .12), transparent 70%),
          radial-gradient(44% 40% at -2% 106%, rgba(214, 161, 46, .1), transparent 72%);
}
.jr-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr minmax(360px, 480px);
  gap: clamp(44px, 5vw, 80px);
  align-items: center;
}
.jr-left h2 {
  font-size: clamp(28px, 3.4vw, 44px);
  font-weight: 800;
  letter-spacing: -.8px;
  line-height: 1.15;
  color: var(--dark-2);
  margin: 0 0 34px;
  max-width: 18ch;
}
.jr-accent { color: var(--gold-dark); }

/* Tedavi panelleri */
.jr-panel { display: none; }
.jr-panel.is-on { display: block; }

/* Adım zaman çizelgesi */
.jr-steps {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
}
.jr-step {
  position: relative;
  padding: 0 0 26px 34px;
}
.jr-step::before {           /* dikey bağlantı çizgisi */
  content: "";
  position: absolute;
  left: 7px; top: 18px; bottom: -2px;
  width: 2px;
  background: #eae6dc;
}
.jr-step:last-child { padding-bottom: 0; }
.jr-step:last-child::before { display: none; }
.jr-dot {
  position: absolute;
  left: 0; top: 5px;
  width: 16px; height: 16px;
  border-radius: 50%;
  border: 2px solid #d9d4c8;
  background: var(--white);
  transition: border-color .3s ease, background .3s ease, box-shadow .3s ease;
}
.jr-step.is-on .jr-dot {
  border-color: var(--gold);
  background: var(--gold);
  box-shadow: 0 0 0 5px rgba(214, 161, 46, .18);
}
.jr-name {
  display: inline-block;
  border: 0;
  background: none;
  padding: 0;
  font-family: inherit;
  font-size: 17.5px;
  font-weight: 700;
  color: var(--gray-light);
  cursor: pointer;
  transition: color .25s ease;
}
.jr-name:hover { color: var(--dark-2); }
.jr-step.is-on .jr-name { color: var(--dark-2); }
.jr-step p {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  margin: 0;
  max-width: 52ch;
  color: var(--gray);
  font-size: 15.5px;
  line-height: 1.7;
  transition: max-height .45s ease, opacity .35s ease, margin .45s ease;
}
.jr-step.is-on p { max-height: 160px; opacity: 1; margin-top: 10px; }
.jr-more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 26px 0 0 34px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .3px;
  color: var(--gold-dark);
  border-bottom: 2px solid rgba(214, 161, 46, .4);
  padding-bottom: 3px;
  transition: color .2s ease, border-color .2s ease;
}
.jr-more:hover { color: var(--dark-2); border-color: var(--gold); }

/* Sahne: siyah blueprint paneli — yatay (16:10) video */
.jr-stage {
  position: relative;
  border-radius: 18px;
  background:
          linear-gradient(rgba(214, 161, 46, .05) 1px, transparent 1px),
          linear-gradient(90deg, rgba(214, 161, 46, .05) 1px, transparent 1px),
          #0a0a0a;
  background-size: 44px 44px, 44px 44px, auto;
  border: 1px solid rgba(214, 161, 46, .3);
  box-shadow: 0 30px 60px rgba(20, 20, 20, .18);
  padding: 16px 16px 70px;
  width: 100%;
  max-width: 420px;
  margin-inline: auto;
}
.jr-video {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: center 42%;
  margin: 0 auto;
  border-radius: 12px;
  border: 1px solid rgba(214, 161, 46, .35);
  background: #0a0a0a;
}

/* Tedavi değiştirici pill'ler */
.jr-pills {
  position: absolute;
  left: 50%; bottom: 14px;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  padding: 6px;
  border-radius: calc(var(--btn-radius) + 6px);
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(214, 161, 46, .25);
  white-space: nowrap;
  z-index: 2;
}
.jr-pill {
  border: 0;
  border-radius: var(--btn-radius);
  background: transparent;
  color: #cfcabb;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .3px;
  padding: 9px 16px;
  cursor: pointer;
  transition: background .25s ease, color .25s ease;
}
.jr-pill:hover { color: var(--gold-light); }
.jr-pill.is-on { background: var(--gold); color: #111; }

/* Mobil video play tuşu (yalnızca ≤1024 ve video duraklıyken görünür) */
.jr-play {
  display: none;
  position: absolute;
  left: 50%; top: 42%;
  transform: translate(-50%, -50%);
  z-index: 4;
  width: 64px; height: 64px;
  border: 0;
  border-radius: 50%;
  background: rgba(214, 161, 46, .95);
  color: #111;
  cursor: pointer;
  place-items: center;
  box-shadow: 0 10px 26px rgba(0, 0, 0, .45);
  pointer-events: auto;
}
.jr-play svg { width: 26px; height: 26px; margin-left: 3px; fill: currentColor; }

@media (max-width: 1024px) {
  .jr-grid { grid-template-columns: 1fr; gap: 44px; }
  .journey.jr-paused .jr-play { display: grid; }
  .journey { padding: 72px 0; }
  .jr-stage {
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    padding: 12px 10px 14px;
    overflow: visible;
  }
  .jr-video {
    aspect-ratio: 16 / 10;
    border-radius: 10px;
  }
  .jr-play { width: 52px; height: 52px; }
  .jr-play svg { width: 22px; height: 22px; }
  /* Yazılar taşımasın: videonun altında, satır kırarak */
  .jr-pills {
    position: static;
    transform: none;
    left: auto;
    bottom: auto;
    width: 100%;
    margin: 12px 0 0;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    white-space: normal;
    box-sizing: border-box;
  }
  .jr-pill {
    padding: 7px 10px;
    font-size: 11.5px;
    letter-spacing: 0;
    flex: 0 1 auto;
    max-width: 100%;
  }
  .jr-step.is-on p,
  .jr-step p {
    max-height: none;
    opacity: 1;
    margin-top: 10px;
    overflow: visible;
    transition: none;
  }
}
@media (max-width: 460px) {
  .jr-stage { max-width: 100%; padding: 10px 8px 12px; }
  .jr-pill { padding: 6px 8px; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .jr-step p, .jr-dot, .jr-name, .jr-pill { transition: none; }
}


/* =========================================================
   13. BOOK ONLINE CONSULTATION — "Altın Davetiye" (beyaz sahne)
   ========================================================= */
.sched {
  position: relative;
  /* overflow: hidden kaldırıldı → ülke kodu açılır menüsü bölümün altından
     taşabiliyor, kesilmiyor. Dekoratif ::before/::after inset:0 ile sınırlı,
     taşmıyor. Yatay taşmaya karşı aşağıda overflow-x:clip ile koruma var. */
  overflow-x: clip;
  background: var(--white);
  color: var(--dark);
  padding: 96px 0 100px;
}
.sched::before {
  content: "";
  position: absolute; inset: 0;
  pointer-events: none;
  background:
          radial-gradient(56% 60% at 82% 30%, rgba(214, 161, 46, .12), transparent 70%),
          radial-gradient(44% 46% at 4% 100%, rgba(214, 161, 46, .09), transparent 72%);
}
.sched::after {                      /* zemine çok soluk blueprint ızgarası */
  content: "";
  position: absolute; inset: 0;
  pointer-events: none;
  background:
          linear-gradient(rgba(214, 161, 46, .06) 1px, transparent 1px),
          linear-gradient(90deg, rgba(214, 161, 46, .06) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: radial-gradient(70% 70% at 60% 40%, #000, transparent 90%);
  -webkit-mask-image: radial-gradient(70% 70% at 60% 40%, #000, transparent 90%);
}
.sched-grid {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 640px;
  margin: 0 auto;
  text-align: center;
}

/* Başlık bloğu (ortalanmış) */
.sched-intro { max-width: 600px; margin-bottom: clamp(26px, 3vw, 34px); }
.sched-intro h2 {
  font-size: clamp(30px, 3.6vw, 50px);
  font-weight: 800;
  letter-spacing: -1px;
  line-height: 1.1;
  color: var(--dark-2);
  margin: 0 auto 16px;
  max-width: 20ch;
}
.sched-intro h2 em { font-style: normal; color: var(--gold-dark); }
.sched-sub {
  color: var(--gray);
  font-size: 16.5px;
  line-height: 1.8;
  max-width: 52ch;
  margin: 16px auto 0;
}
.sched-points {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 52ch;
  margin: 28px auto 0;
  text-align: left;
}
.sched-points li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  color: var(--dark-2);
  font-size: 15.5px;
  font-weight: 600;
  line-height: 1.5;
}
.sp-tick {
  flex: none;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: var(--gold);
  color: #111;
  font-size: 11px;
  font-weight: 900;
  line-height: 20px;
  text-align: center;
  margin-top: 1px;
}
.sched-note {
  max-width: 52ch;
  margin: 26px auto 0;
  padding-top: 22px;
  border-top: 1px solid rgba(0, 0, 0, .1);
  color: var(--gray);
  font-size: 14px;
  line-height: 1.7;
}
.sched-note a { color: var(--gold-dark); text-decoration: underline; }
.sched-note a:hover { color: var(--gold); }

/* Başlık altı canlı durum (Clinic open · saat in Antalya) */
.sched-now {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 9px;
  margin: 0 auto;
  padding: 9px 18px;
  border: 1px solid rgba(214, 161, 46, .45);
  border-radius: 999px;
  font-size: 14px;
  color: var(--gray);
  background: rgba(214, 161, 46, .07);
}
.sched-now strong { color: var(--gold-dark); font-variant-numeric: tabular-nums; font-weight: 800; }
.now-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 0 0 rgba(214, 161, 46, .5);
  animation: nowPulse 2.2s infinite;
}
@keyframes nowPulse {
  0%   { box-shadow: 0 0 0 0 rgba(214, 161, 46, .45); }
  70%  { box-shadow: 0 0 0 9px rgba(214, 161, 46, 0); }
  100% { box-shadow: 0 0 0 0 rgba(214, 161, 46, 0); }
}
.now-sep { color: #c9c5bc; }
#anOpen.is-open { color: var(--gold-dark); font-weight: 700; }
#anOpen.is-closed { color: var(--gray-light); font-weight: 700; }

/* Dolanan altın ışık çerçevesi */
@property --swAng {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}
.sched-glow {
  --swAng: 0deg;
  position: relative;
  width: 100%;
  max-width: 560px;
  margin: 0 auto;
  padding: 2px;
  border-radius: 22px;
  background: conic-gradient(from var(--swAng),
  rgba(214, 161, 46, .25) 0%,
  rgba(231, 190, 91, 1) 10%,
  rgba(214, 161, 46, .25) 22%,
  rgba(214, 161, 46, .25) 50%,
  rgba(231, 190, 91, .8) 60%,
  rgba(214, 161, 46, .25) 72%,
  rgba(214, 161, 46, .25) 100%);
  animation: swSpin 7s linear infinite;
  box-shadow: 0 34px 70px rgba(20, 20, 20, .28);
}
@keyframes swSpin { to { --swAng: 360deg; } }

/* Widget: koyu cam kart */
.sched-widget {
  position: relative;
  background: #0c0c0c;
  border-radius: 20px;
  padding: clamp(22px, 3vw, 34px);
  text-align: left;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
}
.sw-tz-wrap { display: block; margin-bottom: 18px; }
.sw-tz {
  width: 100%;
  padding: 12px 40px 12px 14px;
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
  color: var(--white);
  background-color: rgba(255, 255, 255, .05);
  border: 1px solid rgba(214, 161, 46, .3);
  border-radius: var(--btn-radius);
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23d6a12e' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  cursor: pointer;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.sw-tz:focus { outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(214, 161, 46, .22); }
.sw-tz option { color: #111; background: #fff; }
.sw-month {
  text-align: center;
  font-size: 12.5px;
  font-weight: 800;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: var(--gold-light);
  margin-bottom: 14px;
}

/* Takvim başlığı: ‹  AY YIL  › tek satır, gün şeridi tam genişlik altında */
.sw-calhead { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.sw-calhead .sw-month { flex: 1; margin-bottom: 0; }

/* Tarih şeridi */
.sw-days { display: flex; align-items: center; gap: 8px; }
.sw-strip {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 6px;
  min-width: 0;
}
.sw-nav {
  flex: none;
  width: 34px; height: 34px;
  border-radius: 50%;
  border: 1.5px solid var(--gold);
  background: transparent;
  color: var(--gold);
  font-size: 16px;
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, opacity .2s ease;
}
.sw-nav:hover:not(:disabled) { background: var(--gold); color: #111; }
.sw-nav:disabled { opacity: .25; cursor: default; }
.sw-day {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 9px 2px 7px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: var(--btn-radius);
  background: rgba(255, 255, 255, .03);
  font-family: inherit;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
  min-width: 0;
}
.sw-day strong { font-size: 15px; font-weight: 800; color: var(--white); }
.sw-day span { font-size: 9.5px; font-weight: 700; letter-spacing: .8px; color: rgba(255, 255, 255, .45); }
.sw-day:hover:not(:disabled) { border-color: var(--gold); transform: translateY(-2px); }
.sw-day:disabled { opacity: .25; cursor: default; }
.sw-day.is-on {
  background: var(--gold);
  border-color: var(--gold);
  box-shadow: 0 6px 22px rgba(214, 161, 46, .35);
}
.sw-day.is-on strong { color: #111; }
.sw-day.is-on span { color: rgba(17, 17, 17, .65); }

/* Saat grupları ve slotlar */
.sw-glabel { display: flex; align-items: center; gap: 12px; margin: 18px 0 10px; }
.sw-glabel i { flex: 1; height: 1px; background: rgba(255, 255, 255, .09); }
.sw-glabel span {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .45);
}
.sw-times {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 7px;
}
.sw-slot {
  padding: 9px 4px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: var(--btn-radius);
  background: rgba(255, 255, 255, .03);
  color: rgba(255, 255, 255, .85);
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, color .2s ease, transform .2s ease;
  animation: slotIn .4s ease backwards;
}
@keyframes slotIn {
  from { opacity: 0; transform: translateY(7px); }
  to   { opacity: 1; transform: none; }
}
.sw-slot:hover { border-color: var(--gold); background: rgba(214, 161, 46, .12); transform: translateY(-1px); }
.sw-slot.is-on {
  background: var(--gold);
  border-color: var(--gold);
  color: #111;
  box-shadow: 0 6px 20px rgba(214, 161, 46, .35);
}
.sw-empty {
  margin: 18px 0 4px;
  text-align: center;
  color: rgba(255, 255, 255, .45);
  font-size: 14px;
}

/* ---- Seçilen slot + onay formu (tek koyu yüzey) ---- */
.sw-form {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, .1);
  text-align: left;
}
.sw-form[hidden] { display: none; }
.sw-ticket {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  margin: 0 0 16px;
  padding: 12px 14px;
  border: 1px solid rgba(214, 161, 46, .4);
  border-radius: 10px;
  background: rgba(214, 161, 46, .08);
  animation: tkIn .35s cubic-bezier(.22, .66, .24, 1) backwards;
}
.sw-ticket[hidden] { display: none; }
@keyframes tkIn {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: none; }
}
.tk-label {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: var(--gold);
}
.tk-date {
  margin: 0;
  font-size: 15.5px;
  font-weight: 800;
  letter-spacing: -.2px;
  color: var(--white);
  line-height: 1.35;
  text-wrap: balance;
}
.sw-form-title {
  margin: 0 0 12px;
  font-size: 14px;
  font-weight: 700;
  color: rgba(255, 255, 255, .88);
  letter-spacing: .01em;
}
.sw-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 12px;
}
.sw-form-grid input {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 8px;
  font-family: inherit;
  font-size: 14px;
  color: #fff;
  background: rgba(255, 255, 255, .06);
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.sw-form-grid input:focus {
  outline: none;
  border-color: var(--gold);
  background: rgba(214, 161, 46, .1);
  box-shadow: 0 0 0 3px rgba(214, 161, 46, .2);
}
.sw-form-grid input::placeholder { color: rgba(255, 255, 255, .38); }
/* Randevu formu telefon alanı: bayrak + ülke kodu özel açılır menüsü (koyu/altın
   ambiyansa uygun). Ana sayfadaki üstteki "Get a Quick Offer" formu değişmez. */
.sw-phone { display: flex; gap: 8px; align-items: stretch; }
.sw-phone input[type="tel"] { flex: 1 1 auto; min-width: 0; }

.cc-select { position: relative; flex: 0 0 auto; }
.cc-toggle {
  display: flex;
  align-items: center;
  gap: 7px;
  height: 100%;
  padding: 12px 12px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 8px;
  background: rgba(255, 255, 255, .06);
  color: #fff;
  font-family: inherit;
  font-size: 14px;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
.cc-toggle:hover { border-color: rgba(214, 161, 46, .55); background: rgba(214, 161, 46, .08); }
.cc-select.open .cc-toggle,
.cc-toggle:focus-visible {
  outline: none;
  border-color: var(--gold);
  box-shadow: 0 0 0 3px rgba(214, 161, 46, .2);
}
.ccf {
  width: 22px;
  height: 15px;
  flex: none;
  display: block;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .14);
}
.cc-code { font-weight: 700; letter-spacing: .2px; }
.cc-caret {
  width: 7px; height: 7px; margin-left: 1px;
  border-right: 2px solid rgba(255, 255, 255, .6);
  border-bottom: 2px solid rgba(255, 255, 255, .6);
  transform: rotate(45deg) translate(-1px, -1px);
  transition: transform .2s ease;
}
.cc-select.open .cc-caret { transform: rotate(-135deg); }

.cc-menu {
  position: absolute;
  z-index: 30;
  top: calc(100% + 6px);
  left: 0;
  min-width: 132px;
  max-height: 244px;
  overflow-y: auto;
  margin: 0;
  padding: 6px;
  list-style: none;
  background: #141414;
  border: 1px solid rgba(214, 161, 46, .4);
  border-radius: 10px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, .55);
  scrollbar-width: thin;
  scrollbar-color: var(--gold) transparent;
}
.cc-menu[hidden] { display: none; }
.cc-menu::-webkit-scrollbar { width: 6px; }
.cc-menu::-webkit-scrollbar-thumb { background: var(--gold); border-radius: 999px; }
.cc-opt {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 8px 10px;
  border-radius: 7px;
  color: #e9e9e9;
  font-size: 14px;
  cursor: pointer;
}
.cc-opt:hover,
.cc-opt.is-active { background: rgba(214, 161, 46, .16); }
.cc-opt.is-sel { color: var(--gold); }
.cc-opt.is-sel .cc-code { color: var(--gold); }

/* ---- AÇIK (light) varyant: ana sayfa üstteki "Get a Quick Offer" formu ----
   Beyaz/altın forma uyum: gri buton segmenti + beyaz açılır menü. */
.cc-select--light { align-self: stretch; }
.cc-select--light .cc-toggle {
  border: 0;
  border-right: 1px solid var(--input-border);
  border-radius: 0;
  background: #ededed;
  color: var(--dark);
  font-size: 14px;
  padding: 0 12px;
}
.cc-select--light .cc-toggle:hover { background: #e6ddc4; border-color: var(--input-border); }
.cc-select--light.open .cc-toggle,
.cc-select--light .cc-toggle:focus-visible {
  box-shadow: inset 0 0 0 2px var(--gold);
}
.cc-select--light .cc-caret {
  border-right-color: rgba(0, 0, 0, .5);
  border-bottom-color: rgba(0, 0, 0, .5);
}
.cc-select--light .cc-menu {
  background: #fff;
  border: 1px solid #e2e2e2;
  box-shadow: 0 16px 40px rgba(0, 0, 0, .22);
  scrollbar-color: var(--gold) #f0f0f0;
}
.cc-select--light .cc-opt { color: #333; }
.cc-select--light .cc-opt:hover,
.cc-select--light .cc-opt.is-active { background: rgba(214, 161, 46, .14); }
.cc-select--light .cc-opt.is-sel,
.cc-select--light .cc-opt.is-sel .cc-code { color: var(--gold-dark); }
.sw-form-consent {
  margin: 2px 0 14px;
  font-size: 13px;
  color: rgba(255, 255, 255, .78);
  line-height: 1.45;
  align-items: flex-start;
}
.sw-form-consent input {
  flex: none;
  margin-top: 3px;
  width: 16px;
  height: 16px;
  accent-color: var(--gold);
}
.sw-form-consent a {
  color: var(--gold);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.sw-form-consent a:hover { color: var(--gold-light); }
.sw-form-submit {
  width: 100%;
  justify-content: center;
  background: var(--gold);
  color: #111;
  border: 1px solid var(--gold);
  font-weight: 800;
}
.sw-form-submit:hover {
  background: var(--gold-light);
  border-color: var(--gold-light);
  color: #111;
}
@media (max-width: 460px) {
  .sw-form-grid { grid-template-columns: 1fr; }
}

/* WEB (≥900px): solda widget, sağda başlık — başlık üstte sabit */
@media (min-width: 900px) {
  .sched-grid {
    display: grid;
    grid-template-columns: minmax(0, 500px) 1fr;
    grid-template-areas: "widget intro";
    column-gap: clamp(40px, 5vw, 76px);
    align-items: start;
    max-width: 1060px;
    text-align: left;
  }
  .sched-glow { grid-area: widget; margin: 0; max-width: 500px; }
  .sched-intro { grid-area: intro; align-self: start; max-width: none; margin: 0; padding-top: 10px; }
  .sched-intro h2 { margin-left: 0; margin-right: 0; max-width: 18ch; }
  .sched-now { margin-left: 0; }
  .sched-sub { margin-left: 0; margin-right: 0; }
  .sched-points { margin-left: 0; margin-right: 0; max-width: none; }
  .sched-note { margin-left: 0; margin-right: 0; max-width: none; }
}
@media (max-width: 899px) {
  .sched-glow { max-width: 580px; margin: 0 auto; width: 100%; }
  .sched { padding: 72px 0 78px; }
}
@media (max-width: 600px) {
  .sched { padding: 54px 0 60px; }
  .sched-grid { gap: 30px; }
  .sched-intro h2 { font-size: clamp(27px, 7.5vw, 36px); margin-bottom: 14px; }
  .sched-sub { font-size: 15.5px; line-height: 1.7; }
  .sched-now { width: 100%; font-size: 13px; padding: 10px 14px; margin-bottom: 22px; }
  .sched-widget { padding: 20px 15px; border-radius: 16px; }
  .sw-tz-wrap { margin-bottom: 14px; }
  .sw-tz { padding: 11px 38px 11px 13px; font-size: 13.5px; }
  .sw-month { margin-bottom: 12px; }
  .sw-days { gap: 6px; }
  .sw-nav { width: 30px; height: 30px; font-size: 15px; }
  .sw-strip { gap: 5px; }
  .sw-day { padding: 8px 1px 7px; }
  .sw-day strong { font-size: 14px; }
  .sw-times { gap: 6px; }
  .sw-slot { padding: 10px 4px; font-size: 12.5px; }
}
@media (max-width: 460px) {
  .sw-times { grid-template-columns: repeat(4, 1fr); }
  .sw-day span { display: none; }
  .sw-day { padding: 11px 1px; }
}
@media (prefers-reduced-motion: reduce) {
  .now-dot, .sw-slot, .sw-ticket, .sched-glow { animation: none; }
  .sw-day, .sw-slot, .sw-nav { transition: none; }
}

/* Özgür Şen: kartın sol üst köşesinde tek bir yıldız (istek üzerine sadeleştirildi).
   Kartın içinde kalır (.cf-card overflow:hidden), 3D karuselde taşmaz. */
.cf-starframe{position:absolute;inset:0;z-index:4;width:100%;height:100%;
  pointer-events:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.55))}

/* =========================================================
   VİDEO OYNATICI — site içinde açılan modal
   ========================================================= */
.vmodal { position: fixed; inset: 0; z-index: 10000; display: flex;
  align-items: center; justify-content: center; padding: 24px; }
.vmodal[hidden] { display: none !important; }
.vmodal-backdrop { position: absolute; inset: 0; z-index: 0; background: rgba(0, 0, 0, .82); }
.vmodal-box { position: relative; z-index: 1; width: min(1040px, 100%); }
.vmodal-frame { position: relative; padding-top: 56.25%;   /* 16:9 */
  background: #000; border-radius: 12px; overflow: hidden;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .55); }
.vmodal-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.vmodal-close { position: absolute; top: -46px; right: 0; width: 38px; height: 38px;
  display: flex; align-items: center; justify-content: center;
  background: transparent; border: 1px solid rgba(255, 255, 255, .5); border-radius: 50%;
  color: #fff; font-size: 24px; line-height: 1; cursor: pointer;
  transition: background .2s, border-color .2s; }
.vmodal-close:hover { background: var(--gold); border-color: var(--gold); }
@media (max-width: 600px) {
  .vmodal { padding: 16px; }
  .vmodal-close { top: -42px; }
}

/* =========================================================
   MANAGEMENT / COMPLAINT SAYFASI
   ========================================================= */
.mgmt-sec {
  background: linear-gradient(180deg, #f7f5f0 0%, #fff 40%);
  padding: 56px 0 80px;
}
.mgmt-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(32px, 5vw, 64px);
  align-items: start;
}
.mgmt-copy h2 {
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 900;
  letter-spacing: -.4px;
  margin: 0 0 14px;
  color: var(--dark);
}
.mgmt-copy p {
  color: var(--gray);
  font-size: 16.5px;
  line-height: 1.7;
  margin: 0 0 20px;
  max-width: 42ch;
}
.mgmt-points {
  list-style: none;
  margin: 0 0 26px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mgmt-points li {
  position: relative;
  padding-left: 22px;
  font-size: 15px;
  font-weight: 700;
  color: var(--dark);
}
.mgmt-points li::before {
  content: "";
  position: absolute;
  left: 0; top: 7px;
  width: 9px; height: 9px;
  border-radius: 50%;
  background: var(--gold);
}
.mgmt-form {
  background: #fff;
  border: 1px solid #ece8df;
  border-radius: 14px;
  padding: 28px 26px 30px;
  box-shadow: 0 16px 40px rgba(0,0,0,.06);
}
.mgmt-form h3 {
  margin: 0 0 18px;
  font-size: 20px;
  font-weight: 800;
  color: var(--dark);
}
.mgmt-form .form-grid { margin-bottom: 20px; }
.mgmt-form select,
.mgmt-form textarea {
  width: 100%;
  margin-bottom: 12px;
  padding: 12px 14px;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  font-family: inherit;
  font-size: 14.5px;
  background: #fafafa;
}
.mgmt-form textarea { resize: vertical; min-height: 120px; }
.mgmt-form select:focus,
.mgmt-form textarea:focus {
  outline: 2px solid rgba(214,161,46,.45);
  border-color: var(--gold);
  background: #fff;
}
.mgmt-form .btn { width: 100%; justify-content: center; margin-top: 6px; }
@media (max-width: 860px) {
  .mgmt-grid { grid-template-columns: 1fr; gap: 28px; }
}

/* Sayfa içi bölüm bağlantıları (ti-nav) tıklanınca yumuşak kayış */
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}

/* =========================================================
   ERİŞİLEBİLİRLİK TEMELLERİ (site geneli)
   ========================================================= */

/* Yalnızca ekran okuyucular için — görsel olarak gizli, DOM'da mevcut */
.sr-only {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* Atlama bağlantıları — sekmede ilk sırada, odaklanınca görünür */
.skip-links { position: absolute; top: 0; left: 0; z-index: 1000; }
.skip-link {
  position: absolute;
  top: -200px;
  left: 8px;
  display: inline-block;
  padding: 12px 20px;
  background: #14120c;
  color: #fff;
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  text-decoration: underline;
  border: 3px solid var(--gold, #d6a12e);
  border-radius: 0 0 8px 8px;
  white-space: nowrap;
}
.skip-link:focus {
  top: 0;
  outline: 3px solid #ffe600;
  outline-offset: 2px;
}

/* Atlama hedefleri programatik odak alır; hafif bir işaret bırakılır */
#main-content:focus,
#site-footer:focus { outline: 3px dashed var(--gold, #d6a12e); outline-offset: -3px; }
#main-content:focus:not(:focus-visible),
#site-footer:focus:not(:focus-visible) { outline: none; }

/* Genel odak görünürlüğü — özel kuralı olmayan her etkileşimli öğe için */
a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
[role="button"]:focus-visible {
  outline: 3px solid var(--gold-dark, #a97a10);
  outline-offset: 2px;
  border-radius: 2px;
}

/* Dokunma hedefi en az 24×24 CSS px — WCAG 2.2 (2.5.8).
   Görsel boyut korunur, tıklama alanı görünmez şekilde büyütülür. */
.social-icons a, .footer-social a, .fma-social a {
  min-width: 32px;
  min-height: 32px;
}

/* Kullanıcı işletim sisteminde hareketi azalttıysa siteyi de sakinleştir */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    animation-delay: 0s !important;
    transition-duration: .001ms !important;
    transition-delay: 0s !important;
  }
  html { scroll-behavior: auto !important; }
}

/* Yüksek kontrast / zorlanmış renk kipi (Windows High Contrast) */
@media (forced-colors: active) {
  .accessibility-fab,
  .a11y-panel,
  .a11y-toggle,
  .a11y-step,
  .skip-link { border: 1px solid ButtonText; }
  .a11y-toggle.is-on .a11y-dot { forced-color-adjust: none; background: Highlight; }
}
