/* ==========================================================================
   Hareket ve görsel efektler — site.css'ten sonra yüklenir.
   Animasyonları tamamen kapatmak için _Layout.cshtml'deki bu dosyanın
   bağlantısını kaldırmak yeterlidir; site düzeni bozulmaz.
   ========================================================================== */

@keyframes rise { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
@keyframes pop { from { opacity: 0; transform: scale(.92); } to { opacity: 1; transform: none; } }
@keyframes slide-start { from { opacity: 0; transform: translateX(-40px); } to { opacity: 1; transform: none; } }
@keyframes slide-end { from { opacity: 0; transform: translateX(40px); } to { opacity: 1; transform: none; } }
@keyframes grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes bob { from { transform: translateY(0); } to { transform: translateY(-12px); } }
@keyframes drift { from { transform: translate(0, 0) rotate(0deg); } to { transform: translate(4%, 6%) rotate(8deg); } }
@keyframes kenburns { from { transform: scale(1); } to { transform: scale(1.1) translate(-1.5%, -1%); } }
@keyframes kenburns-rtl { from { transform: scale(-1, 1); } to { transform: scale(-1.1, 1.1) translate(-1.5%, -1%); } }
@keyframes ping { 0% { transform: scale(1); opacity: .7; } 80%, 100% { transform: scale(2.8); opacity: 0; } }
@keyframes ring { 0% { box-shadow: 0 0 0 0 rgba(31, 175, 87, .55); } 70%, 100% { box-shadow: 0 0 0 18px rgba(31, 175, 87, 0); } }
@keyframes glow { 0%, 100% { box-shadow: 0 0 0 0 rgba(20, 121, 255, .55); } 60% { box-shadow: 0 0 0 14px rgba(20, 121, 255, 0); } }
@keyframes wiggle { 0%, 86%, 100% { transform: rotate(0); } 89% { transform: rotate(-14deg); } 92% { transform: rotate(12deg); } 95% { transform: rotate(-8deg); } 98% { transform: rotate(4deg); } }
@keyframes beat { to { stroke-dashoffset: -1; } }
@keyframes drop { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: none; } }
@keyframes fade { from { opacity: 0; } to { opacity: 1; } }

/* ---------- Kaydırınca beliren öğeler (sınıfları site.js ekler) ---------- */
.anim .rv { opacity: 0; }
.anim .rv.in { animation: rise .7s cubic-bezier(.2, .7, .2, 1) var(--d, 0s) both; }
.anim .gallery > .rv.in, .anim .stats > .rv.in { animation-name: pop; }
.anim .care__media.rv.in, .anim .faq__side.rv.in { animation-name: slide-start; }
.anim .care__body.rv.in, .anim .info.rv.in { animation-name: slide-end; }
[dir="rtl"] .anim .care__media.rv.in, [dir="rtl"] .anim .faq__side.rv.in,
.anim[dir="rtl"] .care__media.rv.in, .anim[dir="rtl"] .faq__side.rv.in { animation-name: slide-end; }
.anim[dir="rtl"] .care__body.rv.in, .anim[dir="rtl"] .info.rv.in { animation-name: slide-start; }
@media print { .anim .rv { opacity: 1 !important; } }

/* ---------- Kaydırma ilerleme çizgisi ---------- */
.progress { position: fixed; top: 0; inset-inline: 0; height: 3px; z-index: 70; pointer-events: none; background: linear-gradient(90deg, var(--blue), #3fe0d0); transform: scaleX(0); transform-origin: 0 50%; }
[dir="rtl"] .progress { transform-origin: 100% 50%; }

/* ---------- Başlık vurgusu ---------- */
.head h2::after, .care__body h2::after, .faq__side h2::after {
  content: ""; display: block; width: 64px; height: 4px; border-radius: 4px; margin-top: 16px;
  background: linear-gradient(90deg, var(--blue), #3fe0d0); transform-origin: 0 50%;
}
[dir="rtl"] .head h2::after, [dir="rtl"] .care__body h2::after, [dir="rtl"] .faq__side h2::after { transform-origin: 100% 50%; }
.anim .rv.in h2::after { animation: grow .45s .2s cubic-bezier(.2, .7, .2, 1) both; }

/* ---------- Düğmeler ---------- */
.btn { position: relative; overflow: hidden; transition: background .15s, border-color .15s, color .15s, box-shadow .2s, transform .2s; }
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0) scale(.98); }
.btn--primary, .btn--gold { background: linear-gradient(135deg, #0b5fd9, #1479ff); }
.btn--primary::after, .btn--wa::after, .btn--gold::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .38) 50%, transparent 70%);
  transform: translateX(-120%);
}
.btn--primary:hover::after, .btn--wa:hover::after, .btn--gold:hover::after { transform: translateX(120%); transition: transform .7s; }
.hero__cta .btn--primary { animation: rise .8s .4s cubic-bezier(.2, .7, .2, 1) backwards, glow 2.6s 1.4s infinite; }

/* ---------- Canlı nokta ---------- */
.dot { position: relative; }
.dot::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: #22c55e; animation: ping 1.8s cubic-bezier(0, 0, .2, 1) infinite; }

/* ---------- Başlık çubuğu ---------- */
.header { background: rgba(255, 255, 255, .88); -webkit-backdrop-filter: saturate(160%) blur(14px); backdrop-filter: saturate(160%) blur(14px); }
.header__in { transition: min-height .25s; }
.header.is-stuck .header__in { min-height: 64px; }
.brand svg { transition: transform .6s cubic-bezier(.3, 1.6, .5, 1); }
.brand:hover svg { transform: rotate(90deg) scale(1.06); }
.nav a { position: relative; transition: background .15s, color .15s; }
.nav a::after { content: ""; position: absolute; inset-inline: 14px; bottom: 5px; height: 2px; border-radius: 2px; background: var(--blue); transform: scaleX(0); transition: transform .25s; }
.nav a:hover::after, .nav a[aria-current]::after { transform: scaleX(1); }
.langs a { transition: background .15s, color .15s; }

/* ---------- Giriş alanı ---------- */
.hero__in { position: relative; z-index: 1; }
.hero__img { animation: kenburns 22s ease-in-out infinite alternate; }
[dir="rtl"] .hero__img { animation-name: kenburns-rtl; }
.hero::before {
  content: ""; position: absolute; inset: -25%; z-index: 0; pointer-events: none;
  background:
    radial-gradient(34% 44% at 18% 24%, rgba(0, 169, 157, .34), transparent 70%),
    radial-gradient(30% 40% at 58% 88%, rgba(20, 121, 255, .42), transparent 70%);
  animation: drift 15s ease-in-out infinite alternate;
}
.hero__in > * { animation: rise .8s cubic-bezier(.2, .7, .2, 1) backwards; }
.hero__in > :nth-child(1) { animation-delay: .05s; }
.hero__in > :nth-child(2) { animation-delay: .15s; }
.hero__in > :nth-child(3) { animation-delay: .28s; }
.hero__in > :nth-child(4) { animation: none; }
.hero__in > :nth-child(4) > * { animation: rise .8s .4s cubic-bezier(.2, .7, .2, 1) backwards; }
.hero__in > :nth-child(5) { animation-delay: .55s; }
.hero h1 { text-shadow: 0 2px 30px rgba(4, 18, 46, .45); }

.hero__pulse { position: absolute; inset-inline: 0; bottom: 60px; width: 100%; height: 80px; z-index: 0; pointer-events: none; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.hero__pulse path { stroke: rgba(255, 255, 255, .16); stroke-width: 2; }
.hero__pulse path + path { stroke: #3fe0d0; stroke-width: 3; stroke-dasharray: .16 1; stroke-dashoffset: .16; filter: drop-shadow(0 0 6px rgba(63, 224, 208, .9)); animation: beat 4.5s linear infinite; }
[dir="rtl"] .hero__pulse { transform: scaleX(-1); }

.hero__float { display: none; }
@media (min-width: 1181px) {
  .hero__float { display: block; position: absolute; z-index: 1; inset-block: 0; inset-inline-end: max(20px, calc((100% - 1200px) / 2)); width: 330px; pointer-events: none; animation: fade 1s .7s both; }
  .chip { position: absolute; display: flex; align-items: center; gap: 14px; padding: 16px 20px; border-radius: 18px; background: rgba(255, 255, 255, .93); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: var(--navy); box-shadow: 0 24px 50px -20px rgba(4, 18, 46, .7); animation: bob 4s ease-in-out infinite alternate; }
  .chip b { display: block; font-size: 1.45rem; font-weight: 800; line-height: 1.15; }
  .chip span { display: block; font-size: .82rem; font-weight: 600; color: var(--muted); }
  .chip__ico { width: 46px; height: 46px; border-radius: 14px; background: linear-gradient(135deg, #0b5fd9, #00a99d); color: #fff !important; display: grid !important; place-items: center; flex: none; }
  .chip__ico svg { width: 24px; height: 24px; }
  .chip--a { top: 20%; inset-inline-end: 0; flex-direction: column; align-items: flex-start; gap: 4px; }
  .chip--b { bottom: 24%; inset-inline-end: 170px; animation-duration: 5s; animation-delay: -2s; }
}

/* ---------- Hızlı erişim ve sayılar ---------- */
.quick__ico { transition: background .15s, color .15s, transform .35s cubic-bezier(.3, 1.6, .5, 1); }
.quick a:hover .quick__ico { transform: scale(1.1) rotate(-8deg); }
.quick .chev { transition: transform .2s, opacity .2s; }
.quick a:hover .chev { transform: translateX(4px); }
[dir="rtl"] .quick a:hover .chev { transform: scaleX(-1) translateX(4px); }
.stats dt { font-variant-numeric: tabular-nums; background: linear-gradient(90deg, var(--blue), var(--mint)); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* ---------- İç sayfa başlığı ---------- */
.pagehead { position: relative; overflow: hidden; isolation: isolate; }
.pagehead::before, .pagehead::after { content: ""; position: absolute; z-index: -1; border-radius: 50%; pointer-events: none; animation: drift 13s ease-in-out infinite alternate; }
.pagehead::before { width: 520px; height: 520px; inset-inline-end: -120px; top: -280px; background: radial-gradient(circle, rgba(11, 95, 217, .2), transparent 65%); }
.pagehead::after { width: 380px; height: 380px; inset-inline-end: 22%; bottom: -260px; background: radial-gradient(circle, rgba(0, 169, 157, .2), transparent 65%); animation-duration: 17s; animation-direction: alternate-reverse; }
.pagehead .wrap > * { animation: rise .7s cubic-bezier(.2, .7, .2, 1) backwards; }
.pagehead .wrap > :nth-child(2) { animation-delay: .08s; }
.pagehead .wrap > :nth-child(3) { animation-delay: .16s; }

/* ---------- Kartlar ---------- */
.card { position: relative; overflow: hidden; transition: border-color .2s, box-shadow .25s, transform .25s; }
.card::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: linear-gradient(90deg, var(--blue), #3fe0d0); transform: scaleX(0); transform-origin: 0 50%; transition: transform .35s; }
[dir="rtl"] .card::before { transform-origin: 100% 50%; }
.card::after, .channel::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity .25s; background: radial-gradient(280px circle at var(--mx, 50%) var(--my, 0%), rgba(11, 95, 217, .1), transparent 70%); }
.card:hover { transform: translateY(-6px); }
.card:hover::before { transform: scaleX(1); }
.card:hover::after, a.channel:hover::after { opacity: 1; }
.card__ico { transition: background .15s, color .15s, transform .35s cubic-bezier(.3, 1.6, .5, 1); }
.card:hover .card__ico { transform: scale(1.08) rotate(-6deg); }
.link .chev { transition: transform .2s; }
.card:hover .link .chev, .link:hover .chev { transform: translateX(4px); }
[dir="rtl"] .card:hover .link .chev, [dir="rtl"] .link:hover .chev { transform: scaleX(-1) translateX(4px); }

.channel { position: relative; overflow: hidden; transition: border-color .2s, box-shadow .25s, transform .25s; }
a.channel:hover { transform: translateY(-5px); }
.channel svg { transition: transform .35s cubic-bezier(.3, 1.6, .5, 1); }
a.channel:hover svg { transform: scale(1.08) rotate(-6deg); }

/* ---------- Neden biz ---------- */
.care { isolation: isolate; }
.care__media::before { content: ""; position: absolute; z-index: -1; top: -14px; inset-inline-start: -14px; width: 140px; height: 140px; border-radius: 20px; background-image: radial-gradient(var(--blue) 2px, transparent 2.5px); background-size: 16px 16px; opacity: .35; }
.care__media::after { content: ""; position: absolute; z-index: -1; bottom: -14px; inset-inline-end: 30px; width: 55%; height: 60%; border-radius: var(--r-l); background: linear-gradient(135deg, rgba(11, 95, 217, .18), rgba(0, 169, 157, .18)); }
.care__badge { animation: bob 4s ease-in-out infinite alternate; }
.checks li > svg { transition: transform .35s cubic-bezier(.3, 1.6, .5, 1); }
.checks li:hover > svg { transform: scale(1.2); }

/* ---------- Hekimler ---------- */
.doctor { transition: border-color .2s, box-shadow .25s, transform .25s; }
.doctor:hover { transform: translateY(-6px); }
.doctor__photo img, .doctor__photo svg { transition: transform .5s; }
.doctor:hover .doctor__photo img, .doctor:hover .doctor__photo svg { transform: scale(1.06); }

/* ---------- Süreç ---------- */
.section--navy, .section--dark { position: relative; overflow: hidden; isolation: isolate; }
.section--navy::before, .section--dark::before {
  content: ""; position: absolute; inset: -30%; z-index: -1; pointer-events: none;
  background:
    radial-gradient(28% 38% at 20% 30%, rgba(20, 121, 255, .5), transparent 70%),
    radial-gradient(28% 38% at 82% 72%, rgba(0, 169, 157, .34), transparent 70%);
  animation: drift 16s ease-in-out infinite alternate;
}
.steps span { position: relative; transition: transform .3s cubic-bezier(.3, 1.6, .5, 1), background .2s, color .2s; box-shadow: 0 0 0 6px rgba(255, 255, 255, .12); }
.steps li:hover span { transform: scale(1.12); background: #3fe0d0; color: var(--navy); }
.anim .steps li::after { content: ""; position: absolute; top: 23px; inset-inline-start: 58px; inset-inline-end: -20px; height: 2px; background: linear-gradient(90deg, #3fe0d0, #7fb4ff); transform: scaleX(0); transform-origin: 0 50%; transition: transform .9s .35s; }
[dir="rtl"] .anim .steps li::after, .anim[dir="rtl"] .steps li::after { transform-origin: 100% 50%; }
.anim .steps li.seen::after { transform: scaleX(1); }
.steps li:last-child::after { display: none; }

/* ---------- Galeri ---------- */
.gallery__item img { transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.gallery__item:hover img { transform: scale(1.09); }
.gallery__item span { transition: padding .3s; }
.gallery__item:hover span { padding-bottom: 20px; }
.lightbox[open] { animation: pop .3s cubic-bezier(.2, .7, .2, 1) both; }
.lightbox[open]::backdrop { animation: fade .3s both; }

/* ---------- SSS, form, iletişim ---------- */
.faq__list details { transition: border-color .2s, box-shadow .25s; }
.faq__list details:hover, .faq__list details[open] { box-shadow: var(--shadow); }
.faq__list details[open] p { animation: drop .35s both; }
.info { position: relative; overflow: hidden; isolation: isolate; }
.info::before { content: ""; position: absolute; z-index: -1; width: 360px; height: 360px; border-radius: 50%; top: -160px; inset-inline-end: -140px; background: radial-gradient(circle, rgba(20, 121, 255, .6), transparent 65%); animation: drift 12s ease-in-out infinite alternate; pointer-events: none; }
.info__list svg { transition: background .2s, transform .3s cubic-bezier(.3, 1.6, .5, 1); }
.info__list li:hover svg { background: rgba(255, 255, 255, .22); transform: scale(1.08); }
.notice__ico { animation: pop .6s cubic-bezier(.3, 1.6, .5, 1) both; }

/* ---------- Alt bilgi ve WhatsApp ---------- */
.footer__col a { transition: color .15s, transform .2s; }
.footer__col a:hover { transform: translateX(4px); }
[dir="rtl"] .footer__col a:hover { transform: translateX(-4px); }
.wa-float { transition: background .15s, transform .2s; }
.wa-float:hover { transform: translateY(-3px) scale(1.03); }
.wa-float::before { content: ""; position: absolute; inset: 0; border-radius: inherit; animation: ring 2.2s infinite; pointer-events: none; }
.wa-float svg { animation: wiggle 5s infinite; transform-origin: 50% 60%; }

/* ---------- Küçük ekranlar ---------- */
@media (max-width: 940px) {
  .nav a::after { display: none; }
  .nav.is-open { animation: drop .25s both; }
  .hero__pulse { display: none; }
  .card:hover, .doctor:hover, a.channel:hover { transform: none; }
  .care__media::after { display: none; }
}

/* ---------- Hareketi azalt tercihine saygı ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
