/*
Theme Name: WpRentals Child theme
Theme URI: http://themeforest.net/user/wpestate
Description: Ultimate WordPress Theme created by WpEstate for accommodation booking. WpRentals is clean, flexible, fully responsive and retina Ready. Its smart settings allow you to build outstanding renting websites easily and fast.
Version: 3.15.0
Author: wpestate.org
Author URI: http://themeforest.net/user/annapx
Tags: white, one-column, two-columns,left-sidebar, right-sidebar, fluid-layout , custom-menu, theme-options, translation-ready
License: GNU General Public License v2.0
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: wprentals

-------------------------------------------------------------- */

/* ==========================================================================
   SVG logo – masaüstü header’da görünsün (width/height eksikliği)
   ========================================================================== */

/* Masaüstü: .header_wrapper içindeki logo (mobilde .header_wrapper display:none) */
.header_wrapper .logo {
	min-height: 50px;
	position: relative;
}
.header_wrapper .logo img[src*=".svg"] {
	height: 50px !important;
	width: auto !important;
	max-height: 70px !important;
	min-width: 80px;
}
.header_wrapper .logo img {
	min-height: 40px;
	object-fit: contain;
}

/* ==========================================================================
   Harita pin’leri – Airbnb tarzı pill, fiyat her zaman açık, hover #212CC9
   ========================================================================== */

.wpestate_marker {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 28px !important;
	height: 28px !important;
	padding: 0 10px !important;
	border-radius: 28px !important;
	background-color: #fff !important;
	color: #222 !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.18), 0 0 0 1px rgba(0, 0, 0, 0.08) !important;
	white-space: nowrap;
	letter-spacing: -0.02em;
	transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.wpestate_marker span {
	color: inherit !important;
	font-size: inherit !important;
}

/* Pin altındaki üçgen (isteğe bağlı: pill’e uyum için aynı gölge rengi) */
.wpestate_marker:before {
	border-top-color: #fff !important;
	transition: border-top-color 0.2s ease;
}

.wpestate_marker:after {
	display: none !important;
}

/* Hover / focus: standart renk #212CC9, yazı beyaz (focus-within: içteki öğe focus alınca da) */
.wpestate_marker.hover_z_pin,
.wpestate_marker:hover,
.wpestate_marker:focus,
.wpestate_marker:focus-within {
	background-color: #212CC9 !important;
	color: #fff !important;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(33, 44, 201, 0.3) !important;
}

/* Base #222'yi geçmek için hem kendisi hem tüm çocuklar açıkça beyaz */
.wpestate_marker.hover_z_pin,
.wpestate_marker:hover,
.wpestate_marker:focus,
.wpestate_marker:focus-within,
.wpestate_marker.hover_z_pin span,
.wpestate_marker:hover span,
.wpestate_marker:focus span,
.wpestate_marker:focus-within span,
.wpestate_marker.hover_z_pin *,
.wpestate_marker:hover *,
.wpestate_marker:focus *,
.wpestate_marker:focus-within * {
	color: #fff !important;
}

.wpestate_marker.hover_z_pin:before,
.wpestate_marker:hover:before,
.wpestate_marker:focus:before,
.wpestate_marker:focus-within:before {
	border-top-color: #212CC9 !important;
}

/* Seçili pin (infobox açık): aynı renk sabit active, yazı beyaz */
.wpestate_marker.thenexpoint-pin-active {
	background-color: #212CC9 !important;
	color: #fff !important;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(33, 44, 201, 0.3) !important;
}

.wpestate_marker.thenexpoint-pin-active span,
.wpestate_marker.thenexpoint-pin-active * {
	color: #fff !important;
}

.wpestate_marker.thenexpoint-pin-active:before {
	border-top-color: #212CC9 !important;
}

/* ==========================================================================
   Harita pin infobox – Airbnb tarzı kart (kapak görseli, dot, başlık, fiyat)
   ========================================================================== */

/* Infobox pin’in üstünde (z-index); tema pin hover 9999 */
.mybox,
.info_details.thenexpoint-map-card-wrapper {
	z-index: 10001 !important;
}

/* Tema .info_details.pin_price_info boyutları; wrapper aynı kalır, içerik .thenexpoint-map-card */
/* Sıra (aşağıdan yukarı): pin → hafif boşluk → açılan kutu. Kart yüksekliği + boşluk + pin için yukarı taşı */
.info_details.pin_price_info.thenexpoint-map-card-wrapper {
	margin-top: -360px !important;
}

.info_details.thenexpoint-map-card-wrapper {
	padding: 0 !important;
	overflow: hidden;
	height: auto !important;
	min-height: 260px;
}

.thenexpoint-map-card {
	width: 100%;
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
	position: relative;
	font-family: inherit;
}

/* Kapat butonu */
.thenexpoint-map-card__close {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 32px;
	height: 32px;
	border: none;
	border-radius: 50%;
	background: #fff;
	z-index: 2;
	cursor: pointer;
	opacity: 0.9;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
	transition: opacity 0.2s ease;
}
.thenexpoint-map-card__close:hover {
	opacity: 1;
}
.thenexpoint-map-card__close::before,
.thenexpoint-map-card__close::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 14px;
	height: 2px;
	background: #222;
	margin-left: -7px;
	margin-top: -1px;
	transform: rotate(45deg);
}
.thenexpoint-map-card__close::after {
	transform: rotate(-45deg);
}

/* Galeri alanı – kapak görseli + dot’lar */
.thenexpoint-map-card__gallery-link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.thenexpoint-map-card__gallery {
	position: relative;
	width: 100%;
	padding-top: 62%;
	background: #f0f0f0;
	overflow: hidden;
}

.thenexpoint-map-card__slide {
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

/* Dot göstergeler (Airbnb gibi, tek görselde tek dot) */
.thenexpoint-map-card__dots {
	position: absolute;
	bottom: 10px;
	left: 0;
	right: 0;
	display: flex;
	justify-content: center;
	gap: 4px;
	z-index: 1;
}

.thenexpoint-map-card__dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.6);
	transition: transform 0.2s ease, background 0.2s ease;
}

.thenexpoint-map-card__dot.is-active {
	background: #fff;
	transform: scale(1.1);
}

/* Kart gövdesi */
.thenexpoint-map-card__body {
	padding: 12px 14px 14px;
}

.thenexpoint-map-card__title {
	display: block;
	font-size: 16px;
	font-weight: 600;
	color: #222;
	line-height: 1.3;
	margin-bottom: 4px;
	text-decoration: none;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.thenexpoint-map-card__title:hover {
	color: #212CC9;
	text-decoration: underline;
}

.thenexpoint-map-card__subtitle {
	font-size: 14px;
	color: #717171;
	line-height: 1.35;
	margin-bottom: 6px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.thenexpoint-map-card__meta {
	font-size: 14px;
	color: #717171;
	line-height: 1.4;
	margin-bottom: 6px;
}
.thenexpoint-map-card__meta #infoguest,
.thenexpoint-map-card__meta #inforoom {
	margin-right: 8px;
}

.thenexpoint-map-card__price-wrap {
	margin-top: 2px;
}

.thenexpoint-map-card__price {
	font-size: 16px;
	font-weight: 600;
	color: #222;
}

.thenexpoint-map-card__price-note {
	font-size: 14px;
	color: #717171;
	margin-top: 2px;
}

/* Pin_price_info ok ucunu kaldır (kart köşe yuvarlak) */
.info_details.pin_price_info.thenexpoint-map-card-wrapper:before,
.info_details.pin_price_info.thenexpoint-map-card-wrapper:after {
	display: none !important;
}

/* ===== Harita alanı ve kontroller – Airbnb tarzı (Bölüm 21) ===== */
/* Harita wrapper: büyük radius, harita içeri girsin diye fazla padding */
.half_map_on_right #google_map_prop_list_wrapper {
	border-radius: 20px 0 0 20px;
	overflow: hidden;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
	padding: 24px;
	box-sizing: border-box;
}

/* Harita solda ise sağ kenarı yuvarlak */
.full_map_container .row:not(.half_map_on_right) #google_map_prop_list_wrapper {
	border-radius: 0 20px 20px 0;
	overflow: hidden;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
	padding: 24px;
	box-sizing: border-box;
}

/* #gmap-control-list div’ine tasarım yok; sadece alt öğeler stillenir */

/* Kontroller yatay; harita üzerine biner; sadece butonlar tıklanır, boş alan haritaya geçer */
#google_map_prop_list_wrapper #gmap-control-list {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	height: auto;
	min-height: 0;
	padding-top: 40px;
	padding-left: 40px;
	padding-right: 12px;
	padding-bottom: 12px;
	z-index: 10000;
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	width: auto;
}

/* Sadece butonlar tıklanabilir; container pointer-events: none olduğu için harita alanı kullanılabiliyor */
#google_map_prop_list_wrapper #gmapzoomplus,
#google_map_prop_list_wrapper #gmapzoomminus,
#google_map_prop_list_wrapper #geolocation-button,
#google_map_prop_list_wrapper #gmap-full,
#google_map_prop_list_wrapper #gmap-prev,
#google_map_prop_list_wrapper #gmap-next {
	float: none;
	margin-right: 0;
	margin-bottom: 0;
	border-radius: 10px;
	background-color: #fff !important;
	border: 1px solid #ebebeb !important;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
	transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
	pointer-events: auto;
	position: relative;
	z-index: 1;
	cursor: pointer;
}

#google_map_prop_list_wrapper #gmapzoomplus:hover,
#google_map_prop_list_wrapper #gmapzoomminus:hover,
#google_map_prop_list_wrapper #geolocation-button:hover,
#google_map_prop_list_wrapper #gmap-full:hover,
#google_map_prop_list_wrapper #gmap-prev:hover,
#google_map_prop_list_wrapper #gmap-next:hover {
	background-color: #f7f7f7 !important;
	border-color: #ddd !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

#google_map_prop_list_wrapper #gmap-full.spanselected {
	background-color: #f0ebff !important;
	border-color: #212CC9 !important;
}

/* Harita alanı kenarlardan içeri; radius belirgin, taşma yok */
#google_map_prop_list_wrapper #google_map_prop_list {
	margin: 0;
	border-radius: 12px;
	overflow: hidden;
	box-sizing: border-box;
}

/* ----- Mobil: wrapper 80vh, kontroller altta yatay ortalı; harita–sidebar arası boşluk az ----- */
@media (max-width: 768px) {
	.half_map_on_right #google_map_prop_list_wrapper,
	.full_map_container .row:not(.half_map_on_right) #google_map_prop_list_wrapper {
		height: 80vh !important;
		min-height: 300px;
		border-radius: 16px;
		padding: 12px;
		overflow: hidden;
		display: flex;
		flex-direction: column;
		margin-bottom: 12px;
	}

	.full_map_container .row #google_map_prop_list_sidebar {
		margin-top: 0;
		padding-top: 12px;
		padding-bottom: 24px;
		margin-bottom: 24px;
	}

	#google_map_prop_list_wrapper #google_map_prop_list {
		flex: 1 1 auto;
		min-height: 0;
		border-radius: 10px;
	}

	#google_map_prop_list_wrapper #gmapzoomplus,
	#google_map_prop_list_wrapper #gmapzoomminus,
	#google_map_prop_list_wrapper #geolocation-button,
	#google_map_prop_list_wrapper #gmap-full,
	#google_map_prop_list_wrapper #gmap-prev,
	#google_map_prop_list_wrapper #gmap-next {
		border-radius: 8px;
		width: 32px !important;
		height: 30px !important;
		margin-right: 0;
	}

	/* Kontrol listesi: haritanın en altında, yatay ortalı */
	#google_map_prop_list_wrapper #gmap-control-list {
		position: absolute !important;
		bottom: 12px;
		left: 50%;
		transform: translateX(-50%);
		top: auto !important;
		right: auto !important;
		flex-direction: row;
		justify-content: center;
		align-items: center;
		gap: 6px;
		padding: 8px 12px;
		margin: 0;
	}
}

@media (max-width: 480px) {
	.half_map_on_right #google_map_prop_list_wrapper,
	.full_map_container .row:not(.half_map_on_right) #google_map_prop_list_wrapper {
		padding: 10px;
		border-radius: 12px;
	}
}

/* ===== Mülk başlığı SEO – h2 wrapper (listing_title_unit) ===== */
.listing_title_unit_wrapper {
	margin: 0;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
}

.listing_title_unit_wrapper .listing_title_unit {
	display: inline-block;
}

/* Mobil menü kapat / header ikonları – her zaman beyaz (tema rengi override) */
.mobilemenu-close-user,
.mobilemenu-close,
.mobile_header i {
	color: #fff !important;
}

/* -------------------------------------------------------------------------
   Mobil header: kullanıcı / hamburger tıklanabilir alanı (tema display:inline
   + logo katmanı üstte kalınca “tıklanmıyor” sorunu)
   ------------------------------------------------------------------------- */
@media (max-width: 1180px) {
	.mobile_header {
		position: relative;
		z-index: 100010 !important;
		isolation: isolate;
	}

	/* Logo alanı tüm genişliği kaplıyor; kenardaki tetikleyicilerin üstünde kalmasın */
	.mobile_header .mobile-logo {
		pointer-events: none;
		z-index: 0;
	}

	.mobile_header .mobile-logo a,
	.mobile_header .mobile-logo img {
		pointer-events: auto;
	}

	.mobile_header .mobile-trigger,
	.mobile_header .mobile-trigger-user {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 70px !important;
		min-width: 70px !important;
		height: 70px !important;
		min-height: 70px !important;
		box-sizing: border-box;
		position: absolute !important;
		top: 0 !important;
		z-index: 3 !important;
		pointer-events: auto !important;
		cursor: pointer;
		touch-action: manipulation;
		-webkit-tap-highlight-color: rgba(255, 255, 255, 0.15);
	}

	.mobile_header button.mobile-trigger-user {
		-webkit-appearance: none;
		appearance: none;
		border: none;
		padding: 0;
		margin: 0;
		background: transparent;
		color: inherit;
		font: inherit;
		text-align: center;
	}

	.mobile_header .mobile-trigger {
		left: 0 !important;
		right: auto !important;
	}

	.mobile_header .mobile-trigger-user {
		right: 0 !important;
		left: auto !important;
	}

	html[dir="rtl"] .mobile_header .mobile-trigger {
		right: 0 !important;
		left: auto !important;
	}

	html[dir="rtl"] .mobile_header .mobile-trigger-user {
		left: 0 !important;
		right: auto !important;
	}
}

/* -------------------------------------------------------------------------
   Mobil kullanıcı paneli: sağdan kayan çekmece (Slideout bağımsız)
   ------------------------------------------------------------------------- */
#tnp-user-panel {
	position: fixed;
	inset: 0;
	z-index: 999999;
	visibility: hidden;
	pointer-events: none;
}

body.tnp-user-open #tnp-user-panel {
	visibility: visible;
	pointer-events: auto;
}

.tnp-panel-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.48);
	opacity: 0;
	transition: opacity 0.26s ease;
	cursor: pointer;
	border: none;
	padding: 0;
	margin: 0;
	width: 100%;
	height: 100%;
	display: block;
}

body.tnp-user-open .tnp-panel-backdrop {
	opacity: 1;
}

.tnp-panel-inner {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(340px, 92vw);
	background: #fff;
	box-shadow: -4px 0 32px rgba(0, 0, 0, 0.18);
	display: flex;
	flex-direction: column;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	transform: translateX(100%);
	transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1);
}

body.tnp-user-open .tnp-panel-inner {
	transform: translateX(0);
}

.tnp-panel-head {
	display: flex;
	justify-content: flex-end;
	padding: 10px 10px 0;
	flex-shrink: 0;
}

.tnp-panel-close {
	width: 44px;
	height: 44px;
	border: none;
	background: #f3f4f6;
	font-size: 26px;
	line-height: 1;
	color: #333;
	cursor: pointer;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	-webkit-appearance: none;
	appearance: none;
}

.tnp-panel-nav {
	padding: 4px 12px 32px;
	flex: 1;
}

/* Klonlanan menü içeriği */
.tnp-panel-nav .thenexpoint-user-menu-airbnb {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	position: static !important;
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	min-width: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	padding: 0 !important;
}

.tnp-panel-nav .thenexpoint-user-menu-airbnb > a,
.tnp-panel-nav .thenexpoint-user-menu-airbnb > .menulogout {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 14px 12px !important;
	color: #111 !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	text-decoration: none !important;
	background: transparent !important;
	border-radius: 8px !important;
	transition: background 0.15s ease !important;
}

.tnp-panel-nav .thenexpoint-user-menu-airbnb > a:hover,
.tnp-panel-nav .thenexpoint-user-menu-airbnb > .menulogout:hover {
	background: #f5f5f5 !important;
}

.tnp-panel-nav .thenexpoint-user-menu-airbnb > a i,
.tnp-panel-nav .thenexpoint-user-menu-airbnb > .menulogout i {
	width: 20px !important;
	min-width: 20px !important;
	font-size: 15px !important;
	color: #6b7280 !important;
	flex-shrink: 0;
	text-align: center;
}

.tnp-panel-nav .thenexpoint-user-menu-divider {
	height: 0;
	border: none;
	border-top: 1px solid #e5e7eb;
	margin: 6px 0;
}

/* Fallback: ul listesi */
.tnp-panel-nav .user_mobile_menu_list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.tnp-panel-nav .user_mobile_menu_list li a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 12px;
	color: #111;
	text-decoration: none;
	font-size: 16px;
	border-radius: 8px;
}

.tnp-panel-nav .user_mobile_menu_list li a:hover {
	background: #f5f5f5;
}

/* Ev sahibi tanıtım kutusu kaldırılsın */
.owner-page-wrapper {
	display: none !important;
}

/* Modal ve ilan sahibi başlıkları p yapıldığında görünüm aynı kalsın */
p.modal-title_big {
	margin-top: 30px;
	margin-bottom: 0;
	font-size: 28px !important;
	font-weight: 600;
	color: #fff;
}
#loginmodal p.modal-title_big {
	color: #484848;
	margin-top: 0;
	margin-bottom: 30px;
}
#direct_pay_modal p.modal-title_big {
	margin-bottom: 30px;
}
p.modal-title {
	margin-top: 9px;
	font-size: 16px !important;
	color: #dde2ec;
}
#loginmodal p.modal-title {
	color: #484848;
}
p[itemprop="agent"] {
	margin: 0;
	font-size: inherit;
	font-weight: 600;
}

