/* Google Fonts - Poppins */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');

main {
	font-family: 'Poppins', sans-serif;
	font-size: 16px;
	line-height: 1.6;
	color: #212529;
}

section {
	padding: 30px 0;
	position: relative;
	width: 100%;
}

section.bg-light {
	background-color: #f8f9fa;
}

section.bg-dark {
	background-color: #212529;
	color: white;
}

.container {
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 15px;
}

.container-wide {
	max-width: 1320px;
}

@media (max-width: 768px) {
	section {
		padding: 40px 0;
	}
}
/* Header */
.site-header {
	position: relative;
}

.site-logo {
	font-size: 28px;
	font-weight: 700;
	font-family: 'Segoe UI', Tahoma, sans-serif;
	text-transform: uppercase;
	letter-spacing: 1px;
	display: inline-block;
	background: linear-gradient(90deg, #ffffff, #cccccc);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
	text-decoration: none;
}

.site-logo span {
	color: #ffcc00;
	background: none;
	-webkit-text-fill-color: #ffcc00;
}
@media (max-width: 768px) {
	.site-logo {
		font-size: 20px;
	}
}

.nav-link {
	color: #fff;
	padding: 8px 12px;
	font-weight: 500;
	transition: color 0.2s;
}

.nav-link:hover {
	color: #0d6efd;
}

.btn.btn-primary {
	background-color: #0d6efd;
	border-color: #0d6efd;
	padding: 6px 12px;
	font-weight: 500;
}

.hamburger-btn {
	background: none;
	border: none;
	padding: 6px;
	cursor: pointer;
}

.hamburger-btn i {
	font-size: 22px;
}

/* Mobil menü varsayılan gizli */
.mobile-header {
	gap: 10px;
}

@media (min-width: 768px) {
	.mobile-header {
		display: none !important;
	}
}
/* Mobil Menü Panel */
.mobile-menu-panel {
	position: fixed;
	top: 0;
	right: -100%;
	width: 260px;
	height: 100vh;
	background-color: #343a40;
	z-index: 999;
	padding: 20px;
	transition: right 0.3s ease;
	box-shadow: -2px 0 8px rgba(0,0,0,0.2);
}

.mobile-menu-panel.open {
	right: 0;
}

.mobile-menu-panel .close-btn {
	background: none;
	border: none;
	font-size: 28px;
	color: white;
	position: absolute;
	top: 10px;
	right: 15px;
	cursor: pointer;
}

.mobile-menu-links {
	list-style: none;
	padding: 40px 0 0;
	margin: 0;
}

.mobile-menu-links li {
	margin-bottom: 15px;
}

.mobile-menu-links a {
	color: white;
	text-decoration: none;
	font-size: 16px;
	display: block;
}

.mobile-menu-links a:hover {
	text-decoration: underline;
}

@media (max-width: 768px) {
	.btn-outline-primary {
		font-size: 11px;
	}
}

@media (max-width: 768px) {
	.btn-outline-light {
		font-size: 11px;
	}
}

/* Head Section */
.img-bg {
	z-index: 0;
}
.overlay {
	z-index: 1;
	position: relative;
	background: rgba(0,0,0,0.4);
}
.head {
	height: 60vh;
	overflow: hidden;
}

.head .overlay {
	background-color: rgba(0, 0, 0, 0.5);
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.head-content {
	max-width: 720px;
	padding: 10px;
	text-align: center;
}

.head-content h1 {
	font-size: 2.5rem;
	font-weight: 700;
	margin-bottom: 15px;
}

.head-content p {
	font-size: 1.1rem;
	font-weight: 400;
	margin-bottom: 30px;
}

.search-form .form-control {
	height: 48px;
	font-size: 16px;
}

.search-form .btn {
	padding: 0 24px;
}

@media (max-width: 768px) {
	.head {
		height: 40vh;	
	}

	.head-content h1 {
		font-size: 1.8rem;
	}

	.head-content p {
		font-size: 1rem;
	}
}


/* Breadcrumb */
.breadcrumb-container {
	background-color: #f8f9fa;
	padding: 10px 15px;
	border-radius: 6px;
	font-size: 14px;
	margin-bottom: 0px;
	text-align: center;
	display: flex;
	justify-content: center;
}

.breadcrumb {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	margin: 0;
	list-style: none;
	background-color: transparent;
	justify-content: center;
}

.breadcrumb-item + .breadcrumb-item::before {
	content: ">";
	padding: 0 8px;
	color: #6c757d;
}

.breadcrumb a {
	text-decoration: none;
	color: #000000;
}

.breadcrumb a:hover {
	text-decoration: underline;
}

/* Kategoriler */
/* Başlık */
.section-title {
	font-size: 26px;
	font-weight: 600;
	color: #333;
}

/* Skeleton Loader */
.skeleton {
	background: #e0e0e0;
	border-radius: 5px;
	animation: pulse 1.5s infinite;
}

.image-skeleton {
	width: 100%;
	height: 180px;
}

.icon-skeleton {
	display: inline-block;
	width: 20px;
	height: 16px;
	border-radius: 2px;
	margin-right: 6px;
}

/* Yüklenince görünmesini sağlayacağız */
.lazy-img {
	width: 100%;
	height: auto;
}

@keyframes pulse {
	0% {
		opacity: 1;
	}
	50% {
		opacity: 0.4;
	}
	100% {
		opacity: 1;
	}
}

.custom-card .card-title {
	font-size: 12px;
	font-weight: 600;
	text-align: left;
	display: block;
	padding-top:2px;
	padding-left:2px;
}

.underline {
	width: 40px;
	height: 3px;
	background-color: #007bff;
	border-radius: 2px;
	margin-bottom:5px;
	margin-left:4px;
}

.underline-headline {
	width: 30%;
	height: 3px;
	background-color: #007bff;
	border-radius: 2px;
	margin: 5px auto; /* hem üst-alt boşluk hem ortalama */
	margin-bottom: 20px;
}

.custom-card .card-content p {
	margin: 0;
	padding: 1px 0;
	display: flex;
	align-items: left;
	font-size: 10px;
	color: #6c757d;
}

.custom-card .card-content p i {
	margin-right: 6px;
	width: 18px;
	min-width: 18px;
	text-align: center;
}

.custom-card .body {
	color: var(--bs-card-color);
	flex: 1 1 auto;
}

.custom-card .footer {
	background-color: #212529;
	margin-top: 0;
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
	padding: 5px 5px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}


@keyframes pulse-scale {
	0%   { transform: scale(1); }
	50%  { transform: scale(1.1); }
	100% { transform: scale(1); }
}

.custom-card .footer .custom-button-left {
	font-size: 10px;
	margin-left: 5px;
	color: #ffffff;
	text-align: left;
	text-decoration: none;
	display: inline-block;

	animation: pulse-scale 1.5s ease-in-out infinite;
}

.custom-card .footer .custom-button-right {
	font-size:12px;	
	margin-right:5px;
	color: #ffffff;
	text-align:right;
	text-decoration: none;
}

.custom-card .footer .custom-button:hover {
	text-decoration: none;
	color: #0056b3;
}

/* Hizmet Veren Listeleri */













/* Footer */
.footer-area {
	padding-top:50px;
	padding-bottom:50px;
	margin:0;

}

.footer-logo {
	font-size: 38px;
	font-weight: 700;
	font-family: 'Segoe UI', Tahoma, sans-serif;
	color: #ffffff;
	letter-spacing: 1px;
	display: inline-block;
}

.footer-logo span {
	color: #ffcc00;
}

@media (max-width: 768px) {
	.footer-logo {
		font-size: 20px;
	}
}


.footer-brand {
	color: #cccccc;
	font-size: 14px;
	line-height: 1.6;
}

.footer-brand p {
	margin-top: 10px;
	margin-bottom: 8px;
	font-weight: 500;
}
.footer-brand img {
	margin-bottom: 10px;
}

.footer-brand strong {
	display: inline-block;
	width: 55px;
	color: #ffffff;
}

.footer-brand span {
	display: inline-block;
	margin-bottom: 6px;
}

.footer-brand a {
	color: #cccccc;
	text-decoration: none;
	transition: color 0.2s ease;
}

.footer-brand a:hover {
	color: #ffffff;
	text-decoration: underline;
}

.footer-menu h1 {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 15px;
	text-transform: uppercase;
	color: #ffffff;
}

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

.footer-menu ul li {
	margin-bottom: 8px;
}

.footer-menu ul li a {
	color: #cccccc;
	text-decoration: none;
	transition: color 0.2s ease;
	font-size: 15px;
}

.footer-menu ul li a:hover {
	color: #ffffff;
	text-decoration: underline;
}


.fake-input-wrapper {
	position: relative;
	width: 100%;
	background-color: rgba(255, 255, 255, 0.7); /* beyaz ve %70 opaklık */
	border: 1px solid #ced4da;
	border-radius: 0.975rem;
	padding: 10px 12px;
	font-size: 16px;
	color: #212529;
	height: 48px;
	font-family: sans-serif;
	cursor: text;
	backdrop-filter: blur(4px); /* opsiyonel: cam efekti */
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}


.real-input {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: none;
	outline: none;
	background: transparent;
	color: transparent;
	caret-color: transparent;
}

.type-cursor {
	display: inline-block;
	color: #007bff;
	font-weight: bold;
	animation: blink 1s infinite;
}

@keyframes blink {
	0%, 100% { opacity: 1; }
	50% { opacity: 0; }
}

@media (max-width: 768px) {
	.fake-input-wrapper {
		background-color: rgba(255, 255, 255, 0.9);
	}
}

.user-info-actions {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	background-color: #212529;
	padding: 0.2rem;
	flex-wrap: nowrap;
	gap: 0.5rem;
}

.user-profile-action {
	color: #ffffff;
	background-color: transparent;
	border: none;
	font-weight: 400;
	font-size:14px;
	transition: color 0.2s;
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
}

@media (max-width: 768px) {
	.user-profile-action {
		font-size:10px;
	}

}

.user-profile-action:hover {
	color: #ffc107;
	text-decoration: none;
}

.action-separator {
	color: #ffffff;
	margin: 0 2px;
	font-weight: bold;
	user-select: none;
}



.user-service-areas {
	margin: 0.5rem;
	border: 1px solid #dee2e6;
	border-radius: 12px;
	background-color: #ffffff;
	overflow: hidden;
	padding: 0;
}

.user-service-area-title {
	background-color: #f8f9fa;
	padding: 0.75rem 1rem;
	font-weight: 600;
	border-bottom: 1px solid #dee2e6;
}
.user-service-areas p {
	padding: 0.5rem 1rem;
	margin-bottom: 0;
	border-bottom: 1px solid #f1f1f1;
}
.user-service-areas p:last-child {
	border-bottom: none;
} 
.user-info .user-title {
	font-size: 10px;
}

.user-info p {
	margin-bottom: 0.3rem;
}

.user-mobile {
	width: 150px;
	height: 150px;
	object-fit: cover;
}

@media (max-width: 768px) {
	.user-mobile {
		width: 100px !important;
		height: 100px !important;
	}

	.user-info h2 {
		font-size: 18px;
		margin-bottom: 0.5rem;
	}

	.user-info p {
		font-size: 10px;
		line-height: 1.2;
		margin-bottom: 0.3rem;
	}

	.card .p-4 {
		padding: 1rem !important;
	}
}

.reviews-header {
	background-color: #212529;
	color: #ffffff;
	border-top-left-radius: 1rem;
	border-top-right-radius: 1rem;
	padding: 1rem;
}

.reviews-header h5,
.reviews-header i {
	color: #ffffff;
	margin: 0;
}
.user-profile-reviews {
	background-color: #ffffff;
	border: 1px solid #dee2e6;
}

.reviews-header h5 {
	font-weight: 600;
	font-size: 18px;
}

.reviews-empty {
	background-color: #f8f9fa;
	border-radius: 12px;
	padding: 1.5rem;
}

.reviews-empty i {
	color: #6c757d;
}

.review-item {
	font-size: 14px;
}

.review-item .fa-star {
	margin-right: 2px;
}

.active-filter {
	background-color: #212529;
	padding: 10px;
	margin-bottom: 20px;
}
.filter-flex {
	display: flex;
	flex-wrap: nowrap;
	gap: 8px;
	justify-content: center;
	align-items: center;
}
.filter-item {
	flex: 1 1 0;
	min-width: 0;
}
.filter-item select {
	width: 100%;
	font-size: 0.85rem;
	padding: 6px 10px;
	border-radius: 6px;
	border: 1px solid #ced4da;
	background-color: #212529;
	color:white;
}

.filter-item select:disabled {
	background-color: #f8f9fa;
	color: #6c757d;
	cursor: not-allowed;
	opacity: 1;
	border: 1px solid #ced4da;
}

.filter-item select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='16' height='16' fill='%23ffffff' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1.646 5.646a.5.5 0 0 1 .708 0L8 11.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
	background-size: 16px 16px;
	padding-right: 2rem;
}