/* Hareket katmanı: sakin, tek seferlik efektler; döngü yok.
   "Hareketi azalt" tercihinde main.css'teki kural hepsini kapatır, motion.js hiç çalışmaz.
   Kaldırmak için functions.php'de hc-motion stil/script kaydını silmek yeterli. */

:root { --hc-ease: cubic-bezier(.22, .61, .36, 1); }

@keyframes hc-up    { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes hc-name  { from { opacity: 0; letter-spacing: .09em; filter: blur(3px); } to { opacity: 1; filter: none; } }
@keyframes hc-zoom  { from { transform: scale(1.06); } to { transform: none; } }
@keyframes hc-line  { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes hc-pop   { from { opacity: 0; transform: translateY(12px) scale(.9); } to { opacity: 1; transform: none; } }
@keyframes hc-rise  { from { transform: translateY(100%); } to { transform: none; } }
@keyframes hc-progress { to { transform: scaleX(1); } }

/* Sayfalar arası yumuşak geçiş (destekleyen tarayıcılarda) */
@media (prefers-reduced-motion: no-preference) {
	@view-transition { navigation: auto; }
}
::view-transition-old(root), ::view-transition-new(root) { animation-duration: .3s; }

/* ---------- Açılış: ilk bölüm JS beklemeden CSS ile gelir ---------- */
.elementor > .hc-sec:first-child .elementor-widget:not(.elementor-widget-image),
.hc-post__inner > :is(.hc-eyebrow, h1, .hc-post__meta),
.hc-main > .hc-container > :is(.hc-eyebrow, h1) {
	animation: hc-up .9s var(--hc-ease) both;
}
.elementor > .hc-sec:first-child .e-con-inner > .elementor-widget:nth-child(2) { animation-delay: .08s; }
.elementor > .hc-sec:first-child .e-con-inner > .elementor-widget:nth-child(3) { animation-delay: .16s; }
.elementor > .hc-sec:first-child .e-con-inner > .elementor-widget:nth-child(4) { animation-delay: .24s; }
.elementor > .hc-sec:first-child .e-con-inner > .elementor-widget:nth-child(n+5) { animation-delay: .32s; }
.elementor > .hc-sec:first-child .elementor-widget-button { animation-delay: .4s; }
.hc-post__inner > h1 { animation-delay: .08s; }
.hc-post__inner > .hc-post__meta { animation-delay: .16s; }

.elementor .hc-hero__name .elementor-heading-title { animation: hc-name 1.3s var(--hc-ease) both; }
.elementor .hc-hero__role .elementor-heading-title::before { transform-origin: left; animation: hc-line 1s var(--hc-ease) .5s both; }
.elementor > .hc-sec:first-child :is(.hc-hero__media, .hc-page-hero__media) img { animation: hc-zoom 1.8s var(--hc-ease) both; }

/* ---------- Kaydırınca beliren bloklar (motion.js .hc-r / .is-in ekler) ---------- */
.hc-r {
	transition: opacity .8s var(--hc-ease), transform .8s var(--hc-ease), background-size 1.2s var(--hc-ease);
	transition-delay: var(--hc-d, 0s);
}
.hc-r:not(.is-in) { opacity: 0; transform: translateY(24px); }

/* Ayırıcı çizgiler soldan çizilir */
.elementor :is(.hc-prose__item, .hc-sss__item, .hc-tl__item):is(.hc-r, .is-in) {
	border-top-color: transparent;
	background: linear-gradient(var(--hc-line), var(--hc-line)) 0 0 / 0 1px no-repeat;
}
.elementor :is(.hc-prose__item, .hc-sss__item, .hc-tl__item).is-in { background-size: 100% 1px; }
.elementor .hc-quote blockquote::before { transition: transform 1.1s var(--hc-ease) .2s; }
.elementor .hc-quote.hc-r:not(.is-in) blockquote::before { transform: scaleX(0); }

/* ---------- Üzerine gelince ---------- */
.elementor :is(.hc-card, .hc-step, .hc-mini, .hc-faq__item) {
	transition: border-color .3s, transform .45s var(--hc-ease), box-shadow .45s var(--hc-ease);
}
.elementor :is(.hc-card, .hc-step, .hc-mini, .hc-faq__item):hover {
	transform: translateY(-4px);
	border-color: var(--hc-navy);
	box-shadow: 0 22px 40px -28px rgba(31, 45, 61, .45);
}

.elementor :is(.hc-split__media, .hc-figure, .hc-page-hero__media, .hc-hero__media) img { transition: transform 1.4s var(--hc-ease); }
.elementor :is(.hc-split__media, .hc-figure, .hc-page-hero__media, .hc-hero__media):hover img { transform: scale(1.03); }

.hc-card-post, .hc-posts .hc-card { transition: transform .45s var(--hc-ease); }
.hc-card-post img, .hc-posts .hc-card img { transition: box-shadow .45s var(--hc-ease), filter .45s; }
.hc-card-post:hover, .hc-posts .hc-card:hover { transform: translateY(-4px); }
.hc-card-post:hover img, .hc-posts .hc-card:hover img { box-shadow: 0 22px 40px -26px rgba(31, 45, 61, .5); filter: saturate(1.06); }

/* Alt çizgi soldan dolar */
.elementor :is(.hc-card__link, .hc-mini__link) a,
.hc-footer__list a {
	background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat;
	transition: background-size .35s var(--hc-ease);
}
.elementor :is(.hc-card__link, .hc-mini__link) a:hover,
.hc-footer__list a:hover { background-size: 100% 1px; text-decoration: none; }
@media (min-width: 1024px) {
	.hc-menu > li > a {
		background: linear-gradient(currentColor, currentColor) 0 calc(100% - 4px) / 0 1px no-repeat;
		transition: background-size .35s var(--hc-ease);
	}
	.hc-menu > li > a:hover { background-size: 100% 1px; }
}

.elementor .hc-b .elementor-button, .hc-btn, .hc-post-cta__btn, .hc-booking__btn {
	transition: background-color .25s, color .25s, border-color .25s, transform .3s var(--hc-ease), box-shadow .3s var(--hc-ease);
}
.elementor .hc-b .elementor-button:hover, .hc-btn:hover, .hc-post-cta__btn:hover, .hc-booking__btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 22px -14px rgba(31, 45, 61, .6);
}

/* ---------- Başlık çubuğu: kayınca hafif buzlu cam ---------- */
.hc-header { transition: border-color .3s, background-color .3s, box-shadow .3s; }
.hc-header.is-scrolled {
	background: rgba(239, 233, 225, .86);
	-webkit-backdrop-filter: blur(12px) saturate(1.2);
	backdrop-filter: blur(12px) saturate(1.2);
	box-shadow: 0 8px 24px -20px rgba(31, 45, 61, .5);
}

/* ---------- İletişim butonları bir kez belirir ---------- */
.hc-fab { animation: hc-pop .6s var(--hc-ease) 1.2s both; transition: transform .3s var(--hc-ease), background-color .2s; }
.hc-fab:hover { transform: translateY(-3px); }
@media (max-width: 767px) { .hc-callbar { animation: hc-rise .6s var(--hc-ease) .8s both; } }

/* ---------- Yazılarda okuma ilerleme çizgisi ---------- */
@supports (animation-timeline: scroll()) {
	body.single-post::before {
		content: "";
		position: fixed;
		inset: 0 0 auto 0;
		z-index: 200;
		height: 2px;
		background: var(--hc-navy);
		transform: scaleX(0);
		transform-origin: left;
		animation: hc-progress linear both;
		animation-timeline: scroll(root);
	}
}
@media (prefers-reduced-motion: reduce) {
	body.single-post::before { display: none; }
}
