/* TarifeAvi — özel stiller (Tailwind dışındaki custom kısımlar) */

html { scroll-behavior: smooth; }

.glass-btn {
	background: rgba(255, 255, 255, 0.1);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(255, 255, 255, 0.2);
}
.glass-btn:hover {
	background: rgba(255, 255, 255, 0.2);
	border: 1px solid rgba(255, 255, 255, 0.4);
}

/* Hero slider */
.hero-slider .hero-slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 1s ease, visibility 1s;
	pointer-events: none;
}
.hero-slider .hero-slide.active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.hero-slide-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transform: scale(1);
	will-change: transform;
}
.hero-slide.active .hero-slide-bg { animation: kenburns 10s ease-out forwards; }
@keyframes kenburns {
	0%   { transform: scale(1) translate(0, 0); }
	100% { transform: scale(1.12) translate(-1.5%, -1%); }
}
.hero-elem {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity .8s ease, transform .8s ease;
}
.hero-slide.active .hero-elem { opacity: 1; transform: translateY(0); }
.hero-slide.active .hero-elem-1 { transition-delay: .20s; }
.hero-slide.active .hero-elem-2 { transition-delay: .35s; }
.hero-slide.active .hero-elem-3 { transition-delay: .50s; }
.hero-slide.active .hero-elem-4 { transition-delay: .65s; }
.hero-img-wrap {
	opacity: 0;
	transform: translateX(50px) scale(.96);
	transition: opacity 1s ease, transform 1s ease;
}
.hero-slide.active .hero-img-wrap {
	opacity: 1;
	transform: translateX(0) scale(1);
	transition-delay: .45s;
}
.hero-dot {
	width: 32px;
	height: 4px;
	background: rgba(255, 255, 255, 0.25);
	border-radius: 2px;
	transition: background .3s ease, width .3s ease;
	cursor: pointer;
	border: 0;
	padding: 0;
}
.hero-dot.active { background: #D4AF37; width: 56px; }
.hero-dot:hover { background: rgba(255, 255, 255, 0.5); }
.hero-dot.active:hover { background: #F3C332; }

.accordion-content {
	transition: max-height 0.3s ease-out, padding 0.3s ease;
	max-height: 0;
	overflow: hidden;
}

/* Desktop dropdown */
.has-dropdown > .dropdown-panel {
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .2s ease, transform .2s ease, visibility .2s;
	pointer-events: none;
}
.has-dropdown:hover > .dropdown-panel,
.has-dropdown:focus-within > .dropdown-panel {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}
.chev { transition: transform .2s ease; }
.has-dropdown:hover .chev,
.has-dropdown:focus-within .chev { transform: rotate(180deg); }

/* Mobile submenu */
.mobile-submenu {
	max-height: 0;
	overflow: hidden;
	transition: max-height .3s ease;
}
.mobile-submenu.open { max-height: 600px; }
.chev-m { transition: transform .2s ease; }
.mobile-submenu-btn.open .chev-m { transform: rotate(180deg); }

/* Top contact bar + main nav scroll states */
#top-bar {
	max-height: 48px;
	transition: max-height .35s ease, opacity .25s ease, border-color .25s ease;
	overflow: hidden;
}
#navbar.scrolled #top-bar {
	max-height: 0;
	opacity: 0;
	border-bottom-color: transparent;
}
#main-nav {
	transition: padding .3s ease, background .35s ease, box-shadow .35s ease, border-color .35s ease;
	background: linear-gradient(to right, rgba(26,42,108,0.18), rgba(42,59,140,0.22), rgba(26,42,108,0.18));
	border-bottom-color: transparent !important;
	box-shadow: none !important;
}
#navbar.scrolled #main-nav {
	background: linear-gradient(to right, #1a2a6c, #2a3b8c, #1a2a6c);
	border-bottom-color: rgba(255,255,255,0.10) !important;
	box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1) !important;
}

/* Soft animations */
@keyframes pulse-soft {
	0%, 100% { transform: scale(1); opacity: .12; }
	50%      { transform: scale(1.12); opacity: .22; }
}
@keyframes spin-slow {
	from { transform: rotate(0deg); }
	to   { transform: rotate(360deg); }
}
@keyframes drift {
	0%, 100% { transform: translate(0, 0); }
	50%      { transform: translate(10px, -14px); }
}
@keyframes shimmer {
	0%, 100% { opacity: .04; }
	50%      { opacity: .10; }
}
@keyframes float-bob {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(-7px); }
}
.anim-pulse-soft { animation: pulse-soft 7s ease-in-out infinite; }
.anim-spin-slow  { animation: spin-slow 38s linear infinite; }
.anim-drift      { animation: drift 9s ease-in-out infinite; }
.anim-shimmer    { animation: shimmer 6s ease-in-out infinite; }
.anim-float      { animation: float-bob 3.5s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) {
	.anim-pulse-soft, .anim-spin-slow, .anim-drift, .anim-shimmer, .anim-float { animation: none; }
}

/* Stats card rotating gradient border */
@property --stats-angle {
	syntax: '<angle>';
	initial-value: 0deg;
	inherits: false;
}
@keyframes stats-glow-rotate { to { --stats-angle: 360deg; } }
.stats-glow {
	padding: 2px;
	background: conic-gradient(from var(--stats-angle, 0deg),
		rgba(243, 195, 50, 0) 0deg,
		rgba(243, 195, 50, 0.95) 70deg,
		rgba(243, 195, 50, 0) 150deg,
		rgba(243, 195, 50, 0) 220deg,
		rgba(243, 195, 50, 0.85) 300deg,
		rgba(243, 195, 50, 0) 360deg);
	animation: stats-glow-rotate 9s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
	.stats-glow { animation: none; }
}

/* Sidebar nav (panel + admin) */
.nav-link {
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
	border-left: 3px solid transparent;
	padding-left: calc(1.25rem - 3px);
}
.nav-link:hover {
	background-color: rgba(255,255,255,0.05);
	color: #D4AF37;
}
.nav-link.active {
	background-color: rgba(255,255,255,0.08);
	color: #D4AF37;
	border-left-color: #D4AF37;
}
.progress-fill { transition: width 1.2s cubic-bezier(.2,.7,.3,1); }

/* Sınav: animasyonlu görsel açılışı (animation === "var")
   Küçükten büyüğe + soldan sağa kaydırma, yavaş + akıcı (out-quint easing). */
.tav-q-image {
	opacity: 0;
	transform: translateX(-80px) scale(0.5);
	transform-origin: left center;
	transition: opacity 0.95s cubic-bezier(.16,1,.3,1), transform 0.95s cubic-bezier(.16,1,.3,1);
	will-change: opacity, transform;
}
.tav-q-image.is-hidden { display: none; }
.tav-q-image.is-visible {
	opacity: 1;
	transform: translateX(0) scale(1);
}

/* Blog/sayfa içerik tipografisi — Tailwind typography CDN'i yüklenmese bile
   prose içeriklerinde paragraflar ve başlıklar düzgün nefes alsın. */
.prose p { margin-top: 1em; margin-bottom: 1em; line-height: 1.75; }
.prose p:first-child { margin-top: 0; }
.prose p:last-child { margin-bottom: 0; }
.prose h2 {
	font-size: 1.5em;
	font-weight: 700;
	margin-top: 1.6em;
	margin-bottom: 0.6em;
	color: #1a2a6c;
	line-height: 1.3;
}
.prose h3 {
	font-size: 1.25em;
	font-weight: 700;
	margin-top: 1.4em;
	margin-bottom: 0.5em;
	color: #1a2a6c;
	line-height: 1.35;
}
.prose h4 {
	font-size: 1.1em;
	font-weight: 700;
	margin-top: 1.2em;
	margin-bottom: 0.4em;
	color: #1a2a6c;
}
.prose ul, .prose ol {
	margin-top: 1em;
	margin-bottom: 1em;
	padding-left: 1.5em;
}
.prose ul { list-style: disc; }
.prose ol { list-style: decimal; }
.prose li { margin-top: 0.4em; margin-bottom: 0.4em; line-height: 1.7; }
.prose li > p { margin: 0; }
.prose a {
	color: #1a2a6c;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.prose a:hover { color: #D4AF37; }
.prose strong { font-weight: 700; color: #0f172a; }
.prose em { font-style: italic; }
.prose blockquote {
	border-left: 4px solid #D4AF37;
	padding: 0.4em 0 0.4em 1em;
	color: #475569;
	margin: 1.25em 0;
	font-style: italic;
	background: #f8fafc;
	border-radius: 0 6px 6px 0;
}
.prose blockquote p { margin: 0; }
.prose img {
	max-width: 100%;
	height: auto;
	border-radius: 0.5rem;
	margin: 1.25em 0;
}
.prose hr {
	border: 0;
	border-top: 1px solid #e2e8f0;
	margin: 2em 0;
}
.prose code {
	background: #f1f5f9;
	color: #1e293b;
	padding: 0.15em 0.4em;
	border-radius: 4px;
	font-size: 0.9em;
}
.prose pre {
	background: #0f172a;
	color: #e2e8f0;
	padding: 1em;
	border-radius: 0.5rem;
	overflow-x: auto;
	margin: 1.25em 0;
}
.prose pre code { background: transparent; color: inherit; padding: 0; }
