/* Root variables */
:root {
	--primary-color: #6366f1;
	--secondary-color: #64748b;
	--success-color: #10b981;
	--danger-color: #ef4444;
	--warning-color: #f59e0b;
	--info-color: #3b82f6;
	--light-color: #f8fafc;
	--dark-color: #1e293b;
	--border-color: #e2e8f0;
	--shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
	--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}

/* Resets */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

	body {
	font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Helvetica Neue", Helvetica, sans-serif;
	line-height: 1.7;
	color: var(--dark-color);
	background-color: #ffffff;
}

/* Navbar */
.navbar {
	background: var(--dark-color);
	box-shadow: var(--shadow);
	padding: 1rem 0;
}

.navbar-brand {
	font-weight: 700;
	font-size: 1.5rem;
	color: #fff !important;
	text-decoration: none;
}
a.text-decoration-none {
    border-bottom: 1px dotted #2e2e8f; /* alt çizgi yerine hafif bir çizgi */
    text-decoration: none; /* klasik underline kaldırılır */
}

a.text-decoration-none:hover,
a.text-decoration-none:focus {
    border-bottom-style: solid; /* hover/focus ile çizgi belirginleşir */
}


/* Logo styling */
.logo-img {
	height: 50px;
	width: auto;
	max-width: 150px;
	object-fit: contain;
	transition: all 0.3s ease;
}

.brand-text {
	font-size: 1.5rem;
	font-weight: 700;
}

/* Logo responsive adjustments */
@media (max-width: 768px) {
	.logo-img {
		height: 40px;
		max-width: 120px;
	}
	.brand-text {
		font-size: 1.25rem;
	}
}

@media (max-width: 576px) {
	.logo-img {
		height: 35px;
		max-width: 100px;
	}
	.brand-text {
		font-size: 1.1rem;
	}
}

.navbar-nav .nav-link {
	color: rgba(255, 255, 255, 0.9) !important;
	font-weight: 500;
	padding: 0.5rem 1rem !important;
	transition: all 0.3s ease;
}

.navbar-nav .nav-link:hover {
	color: #fff !important;
	background-color: rgba(255, 255, 255, 0.1);
	border-radius: 0.375rem;
}

.search-form { position: relative; }
.search-form input {
	border: none;
	border-radius: 2rem;
	padding: 0.5rem 1rem 0.5rem 2.5rem;
	background-color: rgba(255, 255, 255, 0.1);
	color: #fff;
	width: 250px;
	transition: width .2s ease;
}
.search-form input::placeholder { color: rgba(255, 255, 255, 0.7); }
.search-form .search-icon {
	position: absolute;
	left: 0.75rem;
	top: 50%;
	transform: translateY(-50%);
	color: rgba(255, 255, 255, 0.7);
}

/* Hero */
.hero-section {
	background: linear-gradient(135deg, var(--primary-color) 0%, #8b5cf6 100%);
	color: #fff;
	padding: 4rem 0;
	text-align: center;
}
.hero-title { font-size: 3rem; font-weight: 700; margin-bottom: 1rem; }
.hero-subtitle { font-size: 1.25rem; opacity: 0.9; margin-bottom: 2rem; }
.hero-search .input-group { max-width: 600px; }

/* Cards */
.card { border: none; border-radius: 1rem; box-shadow: var(--shadow); transition: all 0.3s ease; overflow: hidden; }
.card:hover { box-shadow: var(--shadow-lg); transform: translateY(-2px); }
.card-img-top { width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; transition: transform 0.3s ease; }
.card:hover .card-img-top { transform: scale(1.03); }

.article-meta { color: var(--secondary-color); font-size: 0.875rem; margin-bottom: 1rem; }
.article-meta i { margin-right: 0.25rem; }

/* Breadcrumb */
.breadcrumb { background-color: transparent; padding: 0; margin-bottom: 2rem; }
.breadcrumb-item a { color: var(--primary-color); text-decoration: none; }
.breadcrumb-item.active { color: var(--secondary-color); }

/* Buttons */
.btn-primary { background-color: var(--primary-color); border-color: var(--primary-color); border-radius: 0.5rem; font-weight: 500; padding: 0.5rem 1.5rem; transition: all 0.3s ease; }
.btn-primary:hover { background-color: #5b21b6; border-color: #5b21b6; transform: translateY(-1px); }

/* Footer */
.footer { background-color: var(--dark-color); color: #fff; padding: 3rem 0 1rem; margin-top: 4rem; }
.footer h5 { color: #fff; margin-bottom: 1rem; font-weight: 600; }
.footer a { color: rgba(255, 255, 255, 0.8); text-decoration: none; transition: color 0.3s ease; }
.footer a:hover { color: #fff; }
.footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.1); margin-top: 2rem; padding-top: 2rem; text-align: center; color: rgba(255, 255, 255, 0.6); }

/* Pagination */
.pagination { justify-content: center; margin-top: 3rem; }
.page-link { color: #2e2e8f; border-color: #2e2e8f; }
.page-link:hover { background-color: var(--primary-color); border-color: var(--primary-color); color: #fff; }
.page-item.active .page-link { background-color: var(--primary-color); border-color: var(--primary-color); }

/* Article page */
.article-hero-img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.related-thumb { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.avatar-40 { width: 40px; height: 40px; }
.avatar-80 { width: 80px; height: 80px; }

/* Prose typography for article content */
.prose { color: var(--dark-color); }
.prose h1, .prose h2, .prose h3, .prose h4 { font-weight: 700; line-height: 1.25; margin: 1.5rem 0 1rem; }
.prose h1 { font-size: clamp(1.75rem, 2.5vw, 2.25rem); }
.prose h2 { font-size: clamp(1.5rem, 2vw, 1.75rem); }
.prose h3 { font-size: clamp(1.25rem, 1.5vw, 1.5rem); }
.prose p { margin: 0 0 1rem; }
.prose a { color: var(--primary-color); text-decoration: underline; }
.prose ul, .prose ol { padding-left: 1.25rem; margin: 0 0 1rem; }
.prose blockquote { padding: 1rem 1.25rem; margin: 1.25rem 0; background: #f9fafb; border-left: 4px solid var(--primary-color); border-radius: .25rem; }
.prose img { max-width: 100%; height: auto; border-radius: .5rem; }
.prose table { width: 100%; border-collapse: collapse; margin: 1rem 0; }
.prose table th, .prose table td { border: 1px solid var(--border-color); padding: .5rem .75rem; }
.prose pre, .prose code { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }
.prose pre { background: #0b1020; color: #eaeef9; padding: 1rem; border-radius: .5rem; overflow-x: auto; }
.prose code { background: #f3f4f6; color: #111827; padding: .125rem .375rem; border-radius: .25rem; }

/* Utilities */
.text-muted { color: var(--secondary-color) !important; }
.shadow-sm { box-shadow: var(--shadow); }


/* Cookie Banner */
.cookie-banner {
	position: fixed;
	bottom: 20px;
	right: 0px;
	background: #fff;
	border: 1px solid var(--border-color);
	border-radius: 12px;
	box-shadow: var(--shadow-lg);
	padding: 1.5rem;
	max-width: 400px;
	z-index: 9999;
	transform: translateX(100%);
	transition: transform 0.3s ease;
}

.cookie-banner.show {
	transform: translateX(0);
	right: 20px;
}

.cookie-banner h6 {
	color: var(--dark-color);
	font-weight: 600;
	margin-bottom: 0.75rem;
	font-size: 1rem;
}

.cookie-banner p {
	color: var(--secondary-color);
	font-size: 0.875rem;
	line-height: 1.5;
	margin-bottom: 1rem;
}

.cookie-banner .btn-group {
	gap: 0.5rem;
}

.cookie-banner .btn {
	font-size: 0.875rem;
	padding: 0.5rem 1rem;
	border-radius: 6px;
	font-weight: 500;
}

.cookie-banner .btn-accept {
	background-color: var(--primary-color);
	border-color: var(--primary-color);
	color: #fff;
}

.cookie-banner .btn-accept:hover {
	background-color: #5b21b6;
	border-color: #5b21b6;
}

.cookie-banner .btn-decline {
	background-color: transparent;
	border-color: var(--border-color);
	color: var(--secondary-color);
}

.cookie-banner .btn-decline:hover {
	background-color: var(--light-color);
	border-color: var(--secondary-color);
	color: var(--dark-color);
}

/* Cookie banner close button */
.cookie-banner .btn-close {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	background: none;
	border: none;
	font-size: 1.25rem;
	color: var(--secondary-color);
	cursor: pointer;
	padding: 0;
	width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.cookie-banner .btn-close:hover {
	color: var(--dark-color);
}

/* Mobile responsive */
@media (max-width: 768px) {
	.cookie-banner {
		bottom: 10px;
		left: 10px;
		right:0px;
		max-width: none;
		padding: 1rem;
	}
	.cookie-banner.show {
    	right: 10px !important;
    }
	
	.cookie-banner .btn-group {
		flex-direction: column;
		width: 100%;
	}
	
	.cookie-banner .btn {
		width: 100%;
		justify-content: center;
	}
}

/* Lazy Loading Styles */
.lazy-placeholder {
	background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
	background-size: 200% 100%;
	animation: loading 1.5s infinite;
	opacity: 0.7;
}

.lazy-loaded {
	opacity: 1;
	transition: opacity 0.3s ease-in-out;
}

img[loading="lazy"] {
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
}

img[loading="lazy"].lazy-loaded {
	opacity: 1;
}

@keyframes loading {
	0% {
		background-position: 200% 0;
	}
	100% {
		background-position: -200% 0;
	}
}

/* Lazy loading için placeholder boyutları */
.card-img-top[loading="lazy"] {
	min-height: 200px;
	background-color: #f8f9fa;
	display: flex;
	align-items: center;
	justify-content: center;
}

.card-img-top[loading="lazy"]:before {
	content: "📷";
	font-size: 2rem;
	opacity: 0.3;
}

.card-img-top[loading="lazy"].lazy-loaded:before {
	display: none;
}

/* Responsive tweaks */
@media (max-width: 768px) {
	.hero-title { font-size: 2rem; }
	.search-form input { width: 200px; }
	.navbar-nav { margin-top: 1rem; }
}


