/**
 * Yakınımdaki İşletmeler Frontend Stilleri
 * Tema Bağımsız, Responsive ve Modüler
 */

:root {
	--ykm-primary: #2563eb;
	--ykm-primary-hover: #1d4ed8;
	--ykm-bg-gray: #f8fafc;
	--ykm-card-border: #e2e8f0;
	--ykm-text-main: #1e293b;
	--ykm-text-muted: #64748b;
	--ykm-radius: 8px;
}

.ykm-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 20px 15px;
	box-sizing: border-box;
	font-family: inherit;
	color: var(--ykm-text-main);
}

.ykm-container * {
	box-sizing: border-box;
}

/* Başlık Alanı */
.ykm-header {
	margin-bottom: 25px;
	text-align: left;
}

.ykm-title {
	font-size: 26px;
	font-weight: 700;
	margin: 0 0 8px 0;
	color: var(--ykm-text-main);
}

.ykm-subtitle {
	font-size: 15px;
	color: var(--ykm-text-muted);
	margin: 0;
}

/* Konum & Filtre Çubuğu */
.ykm-filter-bar {
	background: #ffffff;
	border: 1px solid var(--ykm-card-border);
	border-radius: var(--ykm-radius);
	padding: 16px;
	margin-bottom: 30px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}

.ykm-filter-row {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	align-items: center;
}

.ykm-filter-col-btn {
	flex: 0 0 auto;
}

.ykm-filter-col-radius {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 0 0 auto;
}

.ykm-filter-col-search {
	display: flex;
	gap: 8px;
	flex: 1 1 250px;
}

.ykm-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 18px;
	font-size: 14px;
	font-weight: 600;
	border-radius: 6px;
	cursor: pointer;
	border: none;
	text-decoration: none;
	transition: background-color 0.2s ease, transform 0.1s ease;
}

.ykm-btn-location {
	background-color: var(--ykm-primary);
	color: #ffffff;
}

.ykm-btn-location:hover {
	background-color: var(--ykm-primary-hover);
}

.ykm-btn-search {
	background-color: #334155;
	color: #ffffff;
}

.ykm-btn-search:hover {
	background-color: #1e293b;
}

.ykm-btn-detail {
	width: 100%;
	background-color: #f1f5f9;
	color: #0f172a;
}

.ykm-btn-detail:hover {
	background-color: #e2e8f0;
	color: #0f172a;
}

.ykm-input,
.ykm-select {
	padding: 9px 12px;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	font-size: 14px;
	background: #ffffff;
	color: var(--ykm-text-main);
}

.ykm-input {
	flex: 1;
}

.ykm-location-status {
	margin-top: 12px;
	padding: 8px 12px;
	border-radius: 6px;
	font-size: 13px;
	background: #eff6ff;
	color: #1d4ed8;
}

/* Izgara Düzeni */
.ykm-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 24px;
}

/* Kart Yapısı */
.ykm-card {
	background: #ffffff;
	border: 1px solid var(--ykm-card-border);
	border-radius: var(--ykm-radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.ykm-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 15px -3px rgba(0,0,0,0.08);
}

.ykm-card-image {
	position: relative;
	height: 180px;
	background-color: #f1f5f9;
	overflow: hidden;
}

.ykm-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ykm-img-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #94a3b8;
}

.ykm-card-distance-badge {
	position: absolute;
	top: 10px;
	right: 10px;
	background: rgba(15, 23, 42, 0.85);
	color: #ffffff;
	padding: 4px 8px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 600;
}

.ykm-card-content {
	padding: 16px;
	display: flex;
	flex-direction: column;
	flex: 1;
}

.ykm-card-tags {
	margin-bottom: 8px;
}

.ykm-tag {
	display: inline-block;
	background: #e0f2fe;
	color: #0369a1;
	font-size: 11px;
	font-weight: 600;
	padding: 2px 6px;
	border-radius: 4px;
	margin-right: 4px;
}

.ykm-tag-cat {
	background: #fef3c7;
	color: #b45309;
}

.ykm-card-title {
	font-size: 17px;
	font-weight: 600;
	margin: 0 0 10px 0;
	line-height: 1.3;
}

.ykm-card-title a {
	color: var(--ykm-text-main);
	text-decoration: none;
}

.ykm-card-title a:hover {
	color: var(--ykm-primary);
}

.ykm-card-address,
.ykm-card-store-name {
	font-size: 13px;
	color: var(--ykm-text-muted);
	margin: 0 0 12px 0;
}

.ykm-product-meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 15px;
}

.ykm-product-price {
	font-size: 16px;
	font-weight: 700;
	color: #0f172a;
}

.ykm-stock-in {
	color: #16a34a;
	font-size: 12px;
	font-weight: 600;
}

.ykm-stock-out {
	color: #dc2626;
	font-size: 12px;
	font-weight: 600;
}

.ykm-card-actions {
	margin-top: auto;
}

/* Sektör Kartı */
.ykm-sector-card {
	padding: 24px;
	text-align: center;
}

.ykm-sector-icon-wrap {
	font-size: 36px;
	color: var(--ykm-primary);
	margin-bottom: 12px;
}

.ykm-sector-count {
	font-size: 13px;
	color: var(--ykm-text-muted);
	margin: 0 0 10px 0;
}

.ykm-sector-desc {
	font-size: 13px;
	color: var(--ykm-text-muted);
	margin: 0 0 15px 0;
}

/* Bildirimler ve Boş Durum */
.ykm-no-results,
.ykm-notice {
	grid-column: 1 / -1;
	padding: 25px;
	background: #f8fafc;
	border: 1px dashed #cbd5e1;
	border-radius: var(--ykm-radius);
	text-align: center;
	color: var(--ykm-text-muted);
}

/* Mobil Uyumluluk */
@media (max-width: 768px) {
	.ykm-filter-row {
		flex-direction: column;
		align-items: stretch;
	}

	.ykm-filter-col-btn button,
	.ykm-filter-col-radius select,
	.ykm-filter-col-search input {
		width: 100%;
	}
}


/* Pazaryeri & Ön Yüz Ekleme Formları */
.ykm-submission-wrapper {
	margin-top: 20px;
	margin-bottom: 40px;
}

.ykm-form-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 30px;
	box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
}

.ykm-gps-section-box {
	background: #f8fafc;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	padding: 20px;
	margin: 25px 0;
}

.ykm-gps-quick-bar {
	display: inline-block;
	margin: 10px 0;
}

.ykm-btn-gps-trigger {
	background: #2563eb;
	color: #ffffff;
	padding: 8px 14px;
	border-radius: 20px;
	font-size: 13px;
	font-weight: 600;
	border: none;
	cursor: pointer;
	transition: background 0.2s ease;
}

.ykm-btn-gps-trigger:hover {
	background: #1d4ed8;
}

.ykm-dashboard-wrapper {
	margin-top: 20px;
	margin-bottom: 40px;
}


/* PWA Masaüstü & Mobil İndirme Banner'ı */
.ykm-pwa-banner {
	position: fixed;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 999999;
	width: calc(100% - 30px);
	max-width: 650px;
	background: #0f172a;
	color: #ffffff;
	border-radius: 12px;
	padding: 16px 20px;
	box-shadow: 0 20px 25px -5px rgba(0,0,0,0.3), 0 8px 10px -6px rgba(0,0,0,0.3);
	border: 1px solid #334155;
	animation: ykmSlideUp 0.3s ease-out;
}

@keyframes ykmSlideUp {
	from {
		bottom: -100px;
		opacity: 0;
	}
	to {
		bottom: 20px;
		opacity: 1;
	}
}

.ykm-pwa-banner-content {
	display: flex;
	align-items: center;
	gap: 15px;
	flex-wrap: wrap;
}

.ykm-pwa-banner-icon {
	font-size: 32px;
	color: #38bdf8;
	flex: 0 0 auto;
}

.ykm-pwa-banner-text {
	flex: 1 1 250px;
}

.ykm-pwa-banner-text strong {
	display: block;
	font-size: 15px;
	margin-bottom: 2px;
	color: #f8fafc;
}

.ykm-pwa-banner-text p {
	font-size: 12px;
	color: #94a3b8;
	margin: 0;
	line-height: 1.4;
}

.ykm-pwa-banner-actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex: 0 0 auto;
}

.ykm-btn-pwa-install {
	background-color: #2563eb;
	color: #ffffff;
	border: none;
	border-radius: 6px;
	padding: 9px 16px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.ykm-btn-pwa-install:hover {
	background-color: #1d4ed8;
}

.ykm-pwa-close-btn {
	background: none;
	border: none;
	color: #94a3b8;
	font-size: 24px;
	cursor: pointer;
	line-height: 1;
	padding: 0 5px;
}

.ykm-pwa-close-btn:hover {
	color: #ffffff;
}

@media (max-width: 600px) {
	.ykm-pwa-banner-content {
		flex-direction: column;
		align-items: flex-start;
	}
	.ykm-pwa-banner-actions {
		width: 100%;
		justify-content: space-between;
	}
	.ykm-btn-pwa-install {
		flex: 1;
		text-align: center;
	}
}

/* ==========================================================================
   Minik Konumumu Bul Bileşeni (Mini Location Widget & Popup)
   ========================================================================== */
.ykm-mini-loc-widget {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	font-family: inherit;
}

.ykm-mini-loc-trigger {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #ffffff;
	border: 1px solid #cbd5e1;
	border-radius: 20px;
	padding: 6px 14px;
	font-size: 13px;
	font-weight: 600;
	color: #0f172a;
	cursor: pointer;
	box-shadow: 0 1px 3px rgba(0,0,0,0.06);
	transition: all 0.2s ease;
}

.ykm-mini-loc-trigger:hover {
	border-color: var(--ykm-primary, #2563eb);
	color: var(--ykm-primary, #2563eb);
	background: #f8fafc;
}

.ykm-mini-loc-icon {
	font-size: 14px;
}

.ykm-mini-loc-arrow {
	font-size: 11px;
	color: #94a3b8;
	transition: transform 0.2s ease;
}

.ykm-mini-loc-popup {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	width: 290px;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	box-shadow: 0 10px 25px -5px rgba(0,0,0,0.15), 0 8px 10px -6px rgba(0,0,0,0.1);
	padding: 16px;
	z-index: 99999;
	text-align: left;
}

.ykm-mini-popup-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 12px;
	padding-bottom: 8px;
	border-bottom: 1px solid #f1f5f9;
}

.ykm-mini-popup-close {
	background: none;
	border: none;
	font-size: 18px;
	color: #94a3b8;
	cursor: pointer;
	line-height: 1;
	padding: 2px 6px;
}

.ykm-mini-popup-close:hover {
	color: #0f172a;
}

.ykm-mini-current-box {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 10px;
	margin-bottom: 12px;
}

.ykm-radius-chip {
	background: #f1f5f9;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 4px 8px;
	font-size: 11px;
	font-weight: 600;
	color: #475569;
	cursor: pointer;
	flex: 1;
	text-align: center;
	transition: all 0.15s ease;
}

.ykm-radius-chip.active,
.ykm-radius-chip:hover {
	background: var(--ykm-primary, #2563eb);
	border-color: var(--ykm-primary, #2563eb);
	color: #ffffff;
}

.ykm-mini-link {
	color: #334155;
	text-decoration: none;
	padding: 4px 0;
	transition: color 0.15s ease;
}

.ykm-mini-link:hover {
	color: var(--ykm-primary, #2563eb);
	text-decoration: underline;
}

/* ==========================================================================
   Profil Menüsü Şablonu (Profile Menu Styles)
   ========================================================================== */
.ykm-profile-menu-container {
	max-width: 760px;
	margin: 20px auto;
	font-family: inherit;
}

.ykm-prof-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
	padding: 24px;
}

.ykm-prof-header {
	display: flex;
	align-items: center;
	gap: 16px;
	padding-bottom: 20px;
	border-bottom: 1px solid #f1f5f9;
}

.ykm-prof-avatar img {
	border-radius: 50%;
	border: 3px solid #e2e8f0;
	display: block;
}

.ykm-prof-name {
	margin: 0 0 4px 0;
	font-size: 20px;
	color: #0f172a;
}

.ykm-prof-email {
	color: #64748b;
	font-size: 13px;
}

.ykm-prof-menu-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 12px;
}

.ykm-prof-menu-item {
	display: flex;
	align-items: center;
	gap: 12px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 14px 16px;
	text-decoration: none;
	color: #0f172a;
	transition: all 0.2s ease;
}

.ykm-prof-menu-item:hover {
	background: #ffffff;
	border-color: var(--ykm-primary, #2563eb);
	box-shadow: 0 4px 12px rgba(37,99,235,0.08);
	transform: translateY(-2px);
}

.ykm-prof-item-icon {
	font-size: 24px;
	line-height: 1;
}

.ykm-prof-item-text strong {
	display: block;
	font-size: 14px;
	color: #0f172a;
}

.ykm-prof-item-text small {
	display: block;
	color: #64748b;
	font-size: 12px;
	margin-top: 2px;
}

.ykm-prof-links-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ykm-prof-list-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 14px;
	background: #f8fafc;
	border: 1px solid #f1f5f9;
	border-radius: 8px;
	text-decoration: none;
	color: #1e293b;
	font-size: 14px;
	font-weight: 500;
	transition: all 0.15s ease;
}

.ykm-prof-list-item:hover {
	background: #f1f5f9;
	color: var(--ykm-primary, #2563eb);
	padding-left: 18px;
}

.ykm-filter-col-sector {
	display: flex;
	align-items: center;
	gap: 8px;
}

/* ==========================================================================
   Örnek Kategori & Sektör Teması Stilleri (Theme Builder & Showcase)
   ========================================================================== */

/* Kompakt Dairesel İkon Satırı (Getir / Yemeksepeti / Trendyol Stili) */
.ykm-sector-icons-row {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	align-items: flex-start;
	margin: 20px 0;
}

.ykm-sector-icon-pill {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-decoration: none;
	width: 85px;
	text-align: center;
	gap: 6px;
	transition: all 0.2s ease;
	position: relative;
}

.ykm-sector-icon-pill:hover {
	transform: translateY(-4px);
}

.ykm-sec-pill-icon {
	width: 58px;
	height: 58px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 28px;
	border: 2px solid #e2e8f0;
	box-shadow: 0 2px 5px rgba(0,0,0,0.06);
	transition: all 0.2s ease;
}

.ykm-sector-icon-pill:hover .ykm-sec-pill-icon {
	box-shadow: 0 6px 14px rgba(0,0,0,0.12);
	border-color: var(--ykm-sec-color, #2563eb);
}

.ykm-sec-pill-title {
	font-size: 12px;
	font-weight: 600;
	color: #1e293b;
	line-height: 1.25;
}

.ykm-sector-icon-pill:hover .ykm-sec-pill-title {
	color: var(--ykm-sec-color, #2563eb);
}

.ykm-sec-pill-badge {
	background: #f1f5f9;
	color: #64748b;
	font-size: 10px;
	font-weight: 700;
	padding: 1px 6px;
	border-radius: 10px;
	border: 1px solid #e2e8f0;
}

/* Esnek Sütun Dağılımları */
.ykm-grid-cols-2 {
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important;
}

.ykm-grid-cols-3 {
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important;
}

.ykm-grid-cols-4 {
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)) !important;
}

.ykm-grid-cols-6 {
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)) !important;
}

/* Kategori Vitrini Kahraman Bileşeni */
.ykm-category-showcase-wrapper {
	margin: 25px 0;
	font-family: inherit;
}

.ykm-showcase-nav {
	display: flex;
	gap: 10px;
	margin-bottom: 25px;
	border-bottom: 2px solid #e2e8f0;
	padding-bottom: 12px;
}

.ykm-showcase-tab {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 10px 20px;
	font-size: 15px;
	font-weight: 700;
	color: #475569;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: all 0.2s ease;
}

.ykm-showcase-tab:hover {
	background: #f1f5f9;
	color: #0f172a;
}

.ykm-showcase-tab.active {
	background: var(--ykm-primary, #2563eb);
	border-color: var(--ykm-primary, #2563eb);
	color: #ffffff;
	box-shadow: 0 4px 10px rgba(37,99,235,0.2);
}

/* ==========================================================================
   Yakınımdaki Fırsat Bildirimleri Stilleri (Deal Notifications Banner & Toast)
   ========================================================================== */
.ykm-deal-notify-banner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 15px;
	background: linear-gradient(135deg, #fff1f2, #fef2f2);
	border: 1px solid #fecdd3;
	border-radius: 12px;
	padding: 18px 22px;
	margin-bottom: 25px;
	box-shadow: 0 2px 6px rgba(225,29,72,0.06);
}

.ykm-deal-notify-content {
	display: flex;
	align-items: center;
	gap: 15px;
	max-width: 650px;
}

.ykm-deal-notify-icon {
	font-size: 32px;
	line-height: 1;
	animation: ykm-bell-bounce 2s infinite ease-in-out;
}

@keyframes ykm-bell-bounce {
	0%, 100% { transform: rotate(0); }
	15% { transform: rotate(14deg); }
	30% { transform: rotate(-14deg); }
	45% { transform: rotate(8deg); }
	60% { transform: rotate(-8deg); }
	75% { transform: rotate(0); }
}

.ykm-btn-notify {
	background: linear-gradient(135deg, #e11d48, #be123c);
	color: #ffffff;
	border: none;
	padding: 10px 20px;
	border-radius: 20px;
	font-weight: 700;
	font-size: 13px;
	cursor: pointer;
	box-shadow: 0 4px 12px rgba(225,29,72,0.25);
	transition: all 0.2s ease;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.ykm-btn-notify:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(225,29,72,0.35);
	background: linear-gradient(135deg, #be123c, #9f1239);
}

.ykm-btn-notify.is-active {
	background: #16a34a;
	box-shadow: 0 4px 12px rgba(22,163,74,0.25);
}

/* Kayan Fırsat Uyarısı Toast (Floating Alert) */
.ykm-deal-floating-toast {
	position: fixed;
	bottom: 25px;
	right: 25px;
	max-width: 380px;
	background: #ffffff;
	border: 2px solid #f43f5e;
	border-radius: 14px;
	box-shadow: 0 10px 25px -5px rgba(244,63,94,0.3), 0 8px 10px -6px rgba(0,0,0,0.1);
	padding: 16px;
	z-index: 999999;
	display: flex;
	gap: 12px;
	align-items: flex-start;
	animation: ykm-slide-in-right 0.3s ease-out;
}

@keyframes ykm-slide-in-right {
	from { transform: translateX(100%); opacity: 0; }
	to { transform: translateX(0); opacity: 1; }
}

.ykm-toast-close {
	position: absolute;
	top: 8px;
	right: 10px;
	background: none;
	border: none;
	font-size: 18px;
	color: #94a3b8;
	cursor: pointer;
	line-height: 1;
}

.ykm-toast-close:hover {
	color: #0f172a;
}

/* ==========================================================================
   Sosyal Etkileşimler: Mağaza Takip / Beğeni & Ürün Oylama (Like/Dislike)
   ========================================================================== */
.ykm-store-social-actions {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.ykm-store-social-actions.ykm-compact {
	font-size: 11px;
}

.ykm-btn-follow {
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	color: #1d4ed8;
	padding: 5px 12px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	transition: all 0.2s ease;
}

.ykm-btn-follow:hover {
	background: #dbeafe;
	border-color: #93c5fd;
}

.ykm-btn-follow.ykm-following {
	background: #2563eb;
	border-color: #2563eb;
	color: #ffffff;
}

.ykm-btn-follow .ykm-followers-count {
	background: rgba(0,0,0,0.08);
	padding: 1px 6px;
	border-radius: 10px;
	font-size: 11px;
}

.ykm-btn-follow.ykm-following .ykm-followers-count {
	background: rgba(255,255,255,0.25);
}

.ykm-btn-like {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	color: #475569;
	padding: 5px 10px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	transition: all 0.2s ease;
}

.ykm-btn-like:hover {
	background: #fff1f2;
	border-color: #fecdd3;
	color: #e11d48;
}

.ykm-btn-like.ykm-liked {
	background: #ffe4e6;
	border-color: #fda4af;
	color: #e11d48;
}

/* Ürün Beğen / Beğenmeme (Like / Dislike Oylama) */
.ykm-product-votes {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	padding: 3px 6px;
	border-radius: 20px;
}

.ykm-vote-btn {
	background: transparent;
	border: none;
	padding: 3px 7px;
	border-radius: 14px;
	font-size: 12px;
	color: #64748b;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 3px;
	transition: all 0.15s ease;
}

.ykm-vote-btn:hover {
	background: #f1f5f9;
	color: #0f172a;
}

.ykm-vote-btn.ykm-vote-active.ykm-vote-like {
	background: #dcfce7;
	color: #15803d;
	font-weight: 700;
}

.ykm-vote-btn.ykm-vote-active.ykm-vote-dislike {
	background: #fee2e2;
	color: #b91c1c;
	font-weight: 700;
}

.ykm-vote-count {
	font-size: 11px;
}

/* ==========================================================================
   Bölgesel Forum & Yorumlar Sistemi Stilleri
   ========================================================================== */
.ykm-forum-wrapper {
	margin: 25px auto;
	font-family: inherit;
}

.ykm-forum-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 15px;
	background: linear-gradient(135deg, #f0fdf4, #f8fafc);
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 24px;
	margin-bottom: 25px;
}

.ykm-forum-main-title {
	font-size: 24px;
	font-weight: 800;
	color: #0f172a;
	margin: 0 0 6px 0;
}

.ykm-forum-subtitle {
	color: #64748b;
	font-size: 14px;
	margin: 0;
	max-width: 620px;
}

.ykm-new-topic-drawer {
	background: #ffffff;
	border: 1px solid #cbd5e1;
	border-radius: 12px;
	padding: 24px;
	box-shadow: 0 10px 25px -5px rgba(0,0,0,0.08);
	margin-bottom: 25px;
	animation: ykm-fade-in 0.3s ease;
}

.ykm-new-topic-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid #e2e8f0;
	padding-bottom: 12px;
}

.ykm-close-drawer-btn {
	background: transparent;
	border: none;
	font-size: 26px;
	color: #94a3b8;
	cursor: pointer;
	line-height: 1;
}

.ykm-close-drawer-btn:hover {
	color: #0f172a;
}

.ykm-forum-filter-bar {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 16px;
	margin-bottom: 25px;
}

.ykm-forum-loc-chips {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 14px;
}

.ykm-loc-indicator {
	font-size: 13px;
	font-weight: 600;
	color: #0369a1;
	background: #e0f2fe;
	padding: 4px 12px;
	border-radius: 14px;
}

.ykm-radius-buttons {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}

.ykm-chip {
	background: #ffffff;
	border: 1px solid #cbd5e1;
	padding: 5px 12px;
	border-radius: 16px;
	font-size: 12px;
	font-weight: 600;
	color: #475569;
	cursor: pointer;
	transition: all 0.2s ease;
}

.ykm-chip:hover {
	background: #f1f5f9;
}

.ykm-chip.ykm-chip-active {
	background: #0284c7;
	border-color: #0284c7;
	color: #ffffff;
}

.ykm-forum-cat-tabs {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	border-top: 1px solid #e2e8f0;
	padding-top: 12px;
}

.ykm-cat-tab {
	background: #ffffff;
	border: 1px solid #cbd5e1;
	padding: 6px 14px;
	border-radius: 18px;
	font-size: 13px;
	font-weight: 600;
	color: #334155;
	cursor: pointer;
	transition: all 0.2s ease;
}

.ykm-cat-tab:hover {
	background: #f1f5f9;
}

.ykm-cat-tab.ykm-tab-active {
	background: #2563eb;
	border-color: #2563eb;
	color: #ffffff;
}

/* Forum Konu Kartı */
.ykm-forum-topic-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 20px;
	margin-bottom: 18px;
	box-shadow: 0 2px 4px rgba(0,0,0,0.02);
	transition: all 0.2s ease;
}

.ykm-forum-topic-card:hover {
	box-shadow: 0 6px 16px rgba(0,0,0,0.06);
	border-color: #cbd5e1;
}

.ykm-topic-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 12px;
}

.ykm-topic-author {
	display: flex;
	gap: 12px;
	align-items: center;
}

.ykm-topic-avatar img {
	border-radius: 50%;
	display: block;
}

.ykm-author-name {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	color: #0f172a;
}

.ykm-topic-time {
	font-size: 12px;
	color: #94a3b8;
}

.ykm-topic-badges {
	display: flex;
	gap: 6px;
	align-items: center;
	flex-wrap: wrap;
}

.ykm-topic-cat-badge {
	background: #eff6ff;
	color: #1d4ed8;
	font-size: 11px;
	font-weight: 600;
	padding: 3px 10px;
	border-radius: 12px;
}

.ykm-topic-loc-badge {
	background: #f8fafc;
	color: #475569;
	border: 1px solid #e2e8f0;
	font-size: 11px;
	padding: 3px 8px;
	border-radius: 12px;
}

.ykm-forum-related-badge {
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	color: #166534;
	padding: 6px 12px;
	border-radius: 6px;
	font-size: 13px;
	margin-bottom: 12px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.ykm-rel-link {
	color: #15803d;
	font-weight: 700;
	text-decoration: none;
}

.ykm-rel-link:hover {
	text-decoration: underline;
}

.ykm-topic-rating-wrap {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 8px;
}

.ykm-forum-stars {
	color: #eab308;
	font-size: 16px;
	letter-spacing: 2px;
}

.ykm-rating-num {
	font-size: 12px;
	color: #64748b;
	font-weight: 600;
}

.ykm-topic-title {
	margin: 8px 0;
	font-size: 18px;
	font-weight: 700;
}

.ykm-topic-title a {
	color: #0f172a;
	text-decoration: none;
}

.ykm-topic-title a:hover {
	color: #2563eb;
}

.ykm-topic-content {
	color: #334155;
	font-size: 14px;
	line-height: 1.6;
	margin-bottom: 16px;
}

.ykm-topic-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-top: 1px solid #f1f5f9;
	padding-top: 12px;
}

.ykm-topic-actions {
	display: flex;
	gap: 10px;
	align-items: center;
}

.ykm-topic-like-btn {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	padding: 5px 12px;
	border-radius: 6px;
	font-size: 12px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	transition: all 0.15s ease;
}

.ykm-topic-like-btn.ykm-liked {
	background: #ffe4e6;
	border-color: #fda4af;
	color: #e11d48;
}

.ykm-topic-toggle-replies-btn {
	background: transparent;
	border: 1px solid transparent;
	color: #64748b;
	padding: 5px 10px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.15s ease;
}

.ykm-topic-toggle-replies-btn:hover {
	background: #f1f5f9;
	color: #0f172a;
}

.ykm-topic-reply-trigger {
	background: #eff6ff;
	color: #1d4ed8;
	border: 1px solid #bfdbfe;
	padding: 5px 12px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.15s ease;
}

.ykm-topic-reply-trigger:hover {
	background: #dbeafe;
}

/* Yanıtlar Akışı & Cevap Kutusu */
.ykm-topic-replies-box {
	margin-top: 15px;
	padding: 16px;
	background: #f8fafc;
	border: 1px dashed #cbd5e1;
	border-radius: 8px;
}

.ykm-forum-reply-item {
	display: flex;
	gap: 10px;
	background: #ffffff;
	border: 1px solid #f1f5f9;
	border-radius: 6px;
	padding: 10px 12px;
	margin-bottom: 8px;
}

.ykm-reply-avatar img {
	border-radius: 50%;
}

.ykm-reply-body {
	flex: 1;
}

.ykm-reply-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 4px;
	font-size: 12px;
}

.ykm-reply-header strong {
	color: #0f172a;
}

.ykm-reply-date {
	color: #94a3b8;
}

.ykm-reply-text {
	font-size: 13px;
	color: #334155;
	line-height: 1.5;
}

.ykm-reply-text p {
	margin: 0;
}

/* ==========================================================================
   Akıllı Konum Tabanlı Arama Çubuğu Stilleri (Smart Search Bar)
   ========================================================================== */
.ykm-search-container {
	margin: 20px auto;
	font-family: inherit;
	position: relative;
	width: 100%;
	box-sizing: border-box;
}

/* 1. Kahraman (Hero) Manşet Arama Düzeni */
.ykm-search-layout-hero {
	background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 50%, #3b82f6 100%);
	border-radius: 16px;
	padding: 45px 30px;
	color: #ffffff;
	box-shadow: 0 12px 30px rgba(37,99,235,0.22);
	text-align: center;
}

.ykm-search-hero-title {
	font-size: 28px;
	font-weight: 800;
	color: #ffffff;
	margin: 0 0 10px 0;
	letter-spacing: -0.5px;
	line-height: 1.25;
}

.ykm-search-hero-subtitle {
	font-size: 15px;
	color: rgba(255,255,255,0.9);
	max-width: 650px;
	margin: 0 auto 28px auto;
	line-height: 1.5;
}

.ykm-search-layout-hero .ykm-smart-search-form {
	max-width: 950px;
	margin: 0 auto;
}

.ykm-search-layout-hero .ykm-search-form-row {
	background: #ffffff;
	padding: 8px;
	border-radius: 50px;
	box-shadow: 0 10px 25px rgba(0,0,0,0.18);
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}

/* 2. Standart Yatay Çubuk Düzeni (Bar) */
.ykm-search-layout-bar {
	background: #ffffff;
	border: 1px solid #cbd5e1;
	border-radius: 12px;
	padding: 10px 14px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.04);
}

.ykm-search-layout-bar .ykm-search-form-row {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

/* 3. Kompakt Düzen (Compact / Sidebar) */
.ykm-search-layout-compact {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 15px;
}

.ykm-search-layout-compact .ykm-search-form-row {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

/* Arama Alanları ve Girişleri */
.ykm-search-field-type {
	min-width: 130px;
}

.ykm-search-select-type {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid #e2e8f0;
	background: #f8fafc;
	border-radius: 30px;
	font-size: 13px;
	font-weight: 600;
	color: #1e293b;
	cursor: pointer;
	outline: none;
}

.ykm-search-field-keyword {
	flex: 2;
	min-width: 180px;
	position: relative;
	display: flex;
	align-items: center;
}

.ykm-search-input-icon {
	position: absolute;
	left: 14px;
	font-size: 15px;
	color: #94a3b8;
	pointer-events: none;
}

.ykm-search-input-keyword {
	width: 100%;
	padding: 11px 36px 11px 40px !important;
	border: 1px solid #e2e8f0 !important;
	background: #f8fafc !important;
	border-radius: 30px !important;
	font-size: 14px !important;
	color: #0f172a !important;
	outline: none !important;
	box-sizing: border-box !important;
}

.ykm-search-input-keyword:focus {
	background: #ffffff !important;
	border-color: #2563eb !important;
	box-shadow: 0 0 0 3px rgba(37,99,235,0.12) !important;
}

.ykm-search-clear-btn {
	position: absolute;
	right: 12px;
	background: transparent;
	border: none;
	font-size: 18px;
	color: #94a3b8;
	cursor: pointer;
	padding: 0;
	line-height: 1;
}

.ykm-search-field-location {
	flex: 1.5;
	min-width: 170px;
	position: relative;
	display: flex;
	align-items: center;
}

.ykm-search-loc-pin {
	position: absolute;
	left: 14px;
	font-size: 15px;
	color: #e11d48;
	pointer-events: none;
}

.ykm-search-input-location {
	width: 100%;
	padding: 11px 40px 11px 38px !important;
	border: 1px solid #e2e8f0 !important;
	background: #f8fafc !important;
	border-radius: 30px !important;
	font-size: 13px !important;
	color: #0f172a !important;
	outline: none !important;
	box-sizing: border-box !important;
}

.ykm-search-input-location:focus {
	background: #ffffff !important;
	border-color: #2563eb !important;
	box-shadow: 0 0 0 3px rgba(37,99,235,0.12) !important;
}

.ykm-search-gps-btn {
	position: absolute;
	right: 6px;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	color: #2563eb;
	border-radius: 50%;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: 14px;
	transition: all 0.2s ease;
}

.ykm-search-gps-btn:hover {
	background: #2563eb;
	color: #ffffff;
}

.ykm-search-field-radius {
	min-width: 100px;
}

.ykm-search-select-radius {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #e2e8f0;
	background: #f8fafc;
	border-radius: 30px;
	font-size: 13px;
	font-weight: 600;
	color: #334155;
	cursor: pointer;
	outline: none;
}

.ykm-search-field-submit {
	min-width: 140px;
}

.ykm-search-submit-btn {
	width: 100%;
	background: linear-gradient(135deg, #2563eb, #1d4ed8);
	color: #ffffff;
	border: none;
	padding: 11px 22px;
	border-radius: 30px;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-shadow: 0 4px 12px rgba(37,99,235,0.3);
	transition: all 0.2s ease;
}

.ykm-search-submit-btn:hover {
	background: linear-gradient(135deg, #1d4ed8, #1e40af);
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(37,99,235,0.4);
}

/* Hızlı Popüler Arama Etiketleri */
.ykm-search-quick-tags {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 20px;
	font-size: 13px;
}

.ykm-quick-tags-label {
	color: rgba(255,255,255,0.85);
	font-weight: 600;
}

.ykm-quick-tag {
	background: rgba(255,255,255,0.18);
	color: #ffffff;
	border: 1px solid rgba(255,255,255,0.3);
	padding: 4px 12px;
	border-radius: 16px;
	font-size: 12px;
	font-weight: 600;
	cursor: pointer;
	backdrop-filter: blur(4px);
	transition: all 0.2s ease;
}

.ykm-quick-tag:hover {
	background: #ffffff;
	color: #1e3a8a;
}

/* Canlı Öneri Açılır Menüsü (Live Dropdown) */
.ykm-search-autocomplete-box {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	width: 100%;
	min-width: 320px;
	max-height: 420px;
	overflow-y: auto;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	box-shadow: 0 12px 30px rgba(0,0,0,0.16);
	z-index: 999999;
	text-align: left;
	animation: ykm-fade-in 0.2s ease;
}

.ykm-search-group {
	border-bottom: 1px solid #f1f5f9;
	padding: 6px 0;
}

.ykm-search-group:last-child {
	border-bottom: none;
}

.ykm-search-group-title {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	color: #64748b;
	padding: 6px 14px 4px 14px;
	letter-spacing: 0.5px;
}

.ykm-search-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 14px;
	text-decoration: none;
	color: #1e293b;
	transition: background 0.15s ease;
}

.ykm-search-item:hover {
	background: #f8fafc;
}

.ykm-search-thumb {
	width: 36px;
	height: 36px;
	border-radius: 6px;
	object-fit: cover;
	flex-shrink: 0;
}

.ykm-search-placeholder-icon {
	width: 36px;
	height: 36px;
	border-radius: 6px;
	background: #f1f5f9;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	flex-shrink: 0;
}

.ykm-search-info {
	flex: 1;
	min-width: 0;
}

.ykm-search-title {
	font-size: 13px;
	font-weight: 600;
	color: #0f172a;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ykm-search-sub {
	font-size: 12px;
	color: #64748b;
	display: flex;
	gap: 6px;
	align-items: center;
	margin-top: 2px;
}

.ykm-search-dist {
	color: #2563eb;
	font-weight: 600;
}

.ykm-search-price {
	color: #ea580c;
	font-weight: 700;
	margin-left: auto;
}

.ykm-search-no-results {
	padding: 20px;
	text-align: center;
	color: #64748b;
	font-size: 13px;
}

/* ==========================================================================
   Global Sticky Top Bar & Floating Search Widget
   ========================================================================== */
.ykm-global-sticky-search-wrapper {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: rgba(255, 255, 255, 0.96);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid #e2e8f0;
	box-shadow: 0 4px 15px rgba(0,0,0,0.06);
	z-index: 999998;
	padding: 8px 16px;
	box-sizing: border-box;
	animation: ykm-slide-down 0.3s ease;
}

@keyframes ykm-slide-down {
	from { transform: translateY(-100%); }
	to { transform: translateY(0); }
}

.ykm-sticky-search-inner {
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
}

.ykm-sticky-search-inner .ykm-search-container {
	margin: 0;
	flex: 1;
}

.ykm-sticky-search-close {
	background: transparent;
	border: none;
	font-size: 24px;
	color: #94a3b8;
	cursor: pointer;
	line-height: 1;
	padding: 4px;
}

.ykm-sticky-search-close:hover {
	color: #0f172a;
}

/* Kayan Buton (Floating Pill Widget) */
.ykm-global-floating-search-pill {
	position: fixed;
	bottom: 25px;
	left: 25px;
	z-index: 999990;
}

.ykm-floating-search-toggle {
	background: linear-gradient(135deg, #2563eb, #1d4ed8);
	color: #ffffff;
	border: none;
	padding: 10px 18px;
	border-radius: 30px;
	font-weight: 700;
	font-size: 13px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	box-shadow: 0 8px 20px rgba(37,99,235,0.35);
	transition: all 0.2s ease;
}

.ykm-floating-search-toggle:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 25px rgba(37,99,235,0.45);
}

.ykm-floating-search-box {
	position: absolute;
	bottom: 50px;
	left: 0;
	width: 340px;
	background: #ffffff;
	border: 1px solid #cbd5e1;
	border-radius: 14px;
	padding: 16px;
	box-shadow: 0 12px 30px rgba(0,0,0,0.18);
	animation: ykm-slide-up 0.25s ease;
}

@keyframes ykm-slide-up {
	from { transform: translateY(15px); opacity: 0; }
	to { transform: translateY(0); opacity: 1; }
}

.ykm-floating-box-close {
	position: absolute;
	top: 8px;
	right: 10px;
	background: transparent;
	border: none;
	font-size: 20px;
	color: #94a3b8;
	cursor: pointer;
}





