/* Zuberec homepage — behavior that inline styles can't express (hover,
   pseudo-classes, media queries). Layout/color values otherwise stay
   inline in front-page.php to mirror the approved design 1:1. */

.zb-card {
	transition: transform 0.15s;
}
.zb-card:hover {
	transform: translateY(-3px);
}

.zb-lang-btn {
	border: none;
	cursor: pointer;
	padding: 6px 12px;
	font-size: 13px;
	font-weight: 600;
	transition: background 0.15s, color 0.15s;
}

.zb-btn-primary {
	transition: transform 0.1s;
}
.zb-btn-primary:active {
	transform: scale(0.97);
}

.zb-search-cta {
	transition: filter 0.15s;
}
.zb-search-cta:hover {
	filter: brightness(1.08);
}

#zb-hosts-link {
	display: none;
}

@media (min-width: 720px) {
	#zb-hosts-link {
		display: inline;
	}
}

#zb-sheet-overlay {
	display: none;
}

.zb-sheet-panel {
	max-width: 560px;
	width: 100%;
	max-height: 88vh;
	overflow: auto;
	background: #fff;
	border-radius: 22px 22px 0 0;
	position: relative;
}

@media (min-width: 640px) {
	.zb-sheet-panel {
		border-radius: 22px;
		margin-bottom: 40px;
	}
}

/* Hero map — sized so the listings section peeks in at the bottom on
   mobile, giving the user something to grab for page scroll instead of
   dragging the map. */
.zb-hero-map-wrap {
	position: relative;
	height: 74vh;
	min-height: 420px;
	max-height: 640px;
}
#zb-hero-map {
	position: absolute;
	inset: 0;
	z-index: 0;
	background: #dfe3d8;
}

.zb-price-pin {
	position: relative;
	transform: translate(-50%, -100%);
	background: #fff;
	border: 1.5px solid #2f4a37;
	border-radius: 999px;
	padding: 5px 11px;
	font-size: 12.5px;
	font-weight: 700;
	color: #2f4a37;
	white-space: nowrap;
	box-shadow: 0 2px 6px rgba(20, 26, 17, 0.3);
	cursor: pointer;
}
.zb-price-pin:after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -6px;
	transform: translateX(-50%);
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 6px solid #2f4a37;
}
.zb-price-pin.is-active {
	background: #c1652f;
	border-color: #c1652f;
	color: #fff;
	z-index: 1000 !important;
}
.zb-price-pin.is-active:after {
	border-top-color: #c1652f;
}

.leaflet-control-attribution {
	font-size: 10px;
}
