/**
 * Home map desktop — solo body.zp-yolaburo-home-map-desktop @ ≥900px.
 */

.zp-ylb-home-map {
	display: none;
}

@media (min-width: 900px) {
	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map {
		display: block;
		width: 100%;
		max-width: none;
		margin: 0 0 24px;
		padding: 0;
		overflow-x: hidden;
	}

	body.zp-yolaburo-home-map-desktop .zp-app-home > .zp-ylb-home-map {
		margin-left: calc(-1 * var(--ylb-d-gutter, 24px));
		margin-right: calc(-1 * var(--ylb-d-gutter, 24px));
		width: calc(100% + 2 * var(--ylb-d-gutter, 24px));
		max-width: none;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map-below {
		width: min(var(--ylb-d-max, 1240px), calc(100% - 2 * var(--ylb-d-gutter, 24px)));
		max-width: var(--ylb-d-max, 1240px);
		margin: 0 auto 32px;
		padding: 0;
		clear: both;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map-below .zp-ylb-desktop-value-band,
	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map-below .zp-ylb-desktop-how {
		margin-left: 0;
		margin-right: 0;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-hero-visual,
	body.zp-yolaburo-home-map-desktop .zp-ylb-hero-ctas,
	body.zp-yolaburo-home-map-desktop .zp-home-lab-trust {
		display: none !important;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__grid {
		display: grid;
		grid-template-columns: 1fr 320px;
		grid-template-rows: 1fr;
		gap: 0;
		--ylb-map-h: clamp(640px, calc(100vh - var(--zp-home-header-offset, 72px) - 32px), 860px);
		height: var(--ylb-map-h);
		max-height: var(--ylb-map-h);
		min-height: 0;
		border-radius: 0;
		overflow: hidden;
		background: #eaf0f5;
		position: relative;
		isolation: isolate;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__map-col {
		position: relative;
		height: 100%;
		max-height: 100%;
		min-height: 0;
		overflow: hidden;
	}

	body.zp-yolaburo-home-map-desktop .zp-prof--ylb-home-map {
		position: absolute;
		inset: 0;
		height: 100% !important;
		max-height: 100% !important;
		min-height: 0 !important;
		overflow: hidden;
		pointer-events: none;
		padding-bottom: 0 !important;
	}

	body.zp-yolaburo-home-map-desktop .zp-prof--ylb-home-map.is-view-map {
		height: 100% !important;
		max-height: 100% !important;
		min-height: 0 !important;
		overflow: hidden !important;
	}

	/* Anula mapa fixed full-screen del proto /profesionales/ */
	body.zp-yolaburo-home-map-desktop .zp-prof--ylb-home-map.is-view-map .zp-prof__map-wrap {
		display: block !important;
		position: absolute !important;
		top: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 100% !important;
		margin: 0 !important;
	}

	body.zp-yolaburo-home-map-desktop .zp-prof--ylb-home-map .zp-prof__map,
	body.zp-yolaburo-home-map-desktop .zp-prof--ylb-home-map .leaflet-container {
		width: 100% !important;
		height: 100% !important;
		min-height: 100% !important;
		overflow: hidden !important;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-app-search-wrap {
		display: block !important;
	}

	body.zp-yolaburo-home-map-desktop .zp-prof--ylb-home-map .zp-prof__map-wrap,
	body.zp-yolaburo-home-map-desktop .zp-prof--ylb-home-map .zp-ylb-home-map__pan-search,
	body.zp-yolaburo-home-map-desktop .zp-prof--ylb-home-map .leaflet-control-zoom {
		pointer-events: auto;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__map-wrap {
		position: absolute !important;
		inset: 0 !important;
		height: 100% !important;
		min-height: inherit !important;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__map,
	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__map-placeholder {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__map-placeholder {
		background: #eaf0f5;
		z-index: 0;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__map {
		z-index: 1;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot {
		position: absolute;
		z-index: 5;
		left: 24px;
		top: 24px;
		bottom: 24px;
		width: min(448px, calc(100% - 48px));
		display: flex;
		flex-direction: column;
		gap: 12px;
		pointer-events: none;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot > * {
		pointer-events: auto;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-ylb-desktop-hero,
	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-app-hero,
	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-app-search-wrap {
		background: #fff;
		border-radius: 24px;
		box-shadow: 0 24px 60px rgba(15, 23, 42, 0.16);
		padding: 20px 22px;
		margin: 0 !important;
		max-width: 100% !important;
		box-sizing: border-box;
		overflow: hidden;
	}

	/* Card búsqueda + ubicación: solo el contenedor (tipografía = theme base) */
	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-app-search-wrap {
		padding: 26px 28px !important;
		overflow: visible;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-ylb-search-card-title {
		display: block !important;
		width: 100%;
		margin: 0 0 18px;
		padding: 0;
		max-width: 100%;
		box-sizing: border-box;
		font-size: 1.4375rem;
		font-weight: 800;
		line-height: 1.25;
		letter-spacing: -0.03em;
		text-align: center;
		color: #0f172a;
		overflow-wrap: break-word;
		word-break: normal;
		hyphens: manual;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-app-search-card,
	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-app-search-field,
	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot #zp-app-location-field-wrap {
		min-width: 0;
		max-width: 100%;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-app-search-field--service .zp-app-search-bar {
		min-width: 0;
		max-width: 100%;
		box-sizing: border-box;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-app-search-bar__field {
		min-width: 0;
		flex: 1 1 auto;
		overflow: hidden;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-app-search-bar__input,
	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-hybrid-geo-fallback__input {
		min-width: 0;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		text-overflow: ellipsis;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-app-location-field {
		max-width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-app-location-field__main {
		min-width: 0;
		flex: 1 1 auto;
		overflow: hidden;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-app-location-field__value {
		display: block;
		min-width: 0;
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-app-location-field__action {
		flex-shrink: 0;
		white-space: nowrap;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-hybrid-geo-fallback,
	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-hybrid-geo-fallback__field {
		min-width: 0;
		max-width: 100%;
		box-sizing: border-box;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-app-search-submit,
	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-app-search-submit__btn {
		max-width: 100%;
		box-sizing: border-box;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-app-hero__title,
	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-home-lab-hero-title {
		font-size: 34px;
		font-weight: 800;
		line-height: 1.15;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-home-lab-hero-accent {
		text-decoration: underline;
		text-decoration-color: #84cc16;
		text-decoration-thickness: 3px;
		text-underline-offset: 4px;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-home-lab-wa {
		color: #15803d;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-app-search-card {
		box-shadow: none;
		border: none;
		padding: 0;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-ylb-home-map__radius {
		margin-top: 12px;
		margin-left: 6px;
		padding: 8px 14px 10px 26px;
		box-sizing: border-box;
		max-width: 100%;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-ylb-home-map__radius .zp-prof__radius-head {
		margin: 0 0 6px;
		padding: 0 4px;
		max-width: 100%;
		box-sizing: border-box;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__panel-slot .zp-ylb-home-map__radius .zp-prof__radius-slider {
		display: block;
		width: calc(100% - 10px);
		max-width: 100%;
		margin: 0 0 0 10px;
		padding: 0 10px 0 2px;
		box-sizing: border-box;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__results {
		flex: 1;
		min-height: 0;
		overflow: auto;
		background: #fff;
		border-radius: 20px;
		box-shadow: 0 16px 40px rgba(15, 23, 42, 0.12);
		padding: 12px 14px;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__list {
		max-height: 220px;
		overflow: auto;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__result-card {
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 8px 0;
		border-bottom: 1px solid #e2e8f0;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__result-link {
		display: flex;
		align-items: center;
		gap: 10px;
		flex: 1;
		min-width: 0;
		color: inherit;
		text-decoration: none;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__legend {
		position: absolute;
		right: 16px;
		bottom: 16px;
		z-index: 6;
		background: rgba(255, 255, 255, 0.94);
		border-radius: 12px;
		padding: 10px 12px;
		font-size: 12px;
		display: flex;
		flex-direction: column;
		gap: 6px;
		box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__dot {
		display: inline-block;
		width: 10px;
		height: 10px;
		border-radius: 50%;
		margin-right: 6px;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__dot--std {
		background: #2563eb;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__dot--pro {
		background: #ea580c;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__pan-search {
		position: absolute;
		left: 50%;
		bottom: 20px;
		transform: translateX(-50%);
		z-index: 7;
		background: #0f172a;
		color: #fff;
		border: 0;
		border-radius: 999px;
		padding: 12px 20px;
		font-weight: 600;
		cursor: pointer;
		box-shadow: 0 12px 28px rgba(15, 23, 42, 0.25);
	}

	body.zp-yolaburo-home-map-desktop .leaflet-top.leaflet-right {
		top: 16px;
		right: 16px;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__locate {
		position: absolute;
		z-index: 7;
		right: 16px;
		bottom: 88px;
		display: inline-flex;
		align-items: center;
		gap: 8px;
		padding: 10px 14px;
		border: 0;
		border-radius: 12px;
		background: #fff;
		color: #1d4ed8;
		font-size: 13px;
		font-weight: 700;
		cursor: pointer;
		box-shadow: 0 8px 24px rgba(15, 23, 42, 0.14);
		pointer-events: auto;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__locate .fa {
		font-size: 16px;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__locate:hover {
		background: #eff6ff;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__locate.is-loading {
		opacity: 0.7;
		pointer-events: none;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__cats {
		background: #fff;
		border-left: 1px solid #e2e8f0;
		display: flex;
		flex-direction: column;
		height: 100%;
		max-height: 100%;
		min-height: 0;
		overflow: hidden;
		padding: 20px 16px;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__cats-title {
		font-size: 18px;
		font-weight: 700;
		margin: 0 0 12px;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__cats-search-wrap {
		display: flex;
		align-items: center;
		gap: 8px;
		background: #f8fafc;
		border: 1px solid #e2e8f0;
		border-radius: 12px;
		padding: 8px 12px;
		margin-bottom: 12px;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__cats-search {
		border: 0;
		background: transparent;
		width: 100%;
		font-size: 14px;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__cats-list {
		list-style: none;
		margin: 0;
		padding: 0;
		overflow: auto;
		flex: 1;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__cats-item {
		display: flex;
		align-items: center;
		gap: 12px;
		width: 100%;
		border: 0;
		background: transparent;
		text-align: left;
		padding: 10px 8px;
		border-radius: 12px;
		cursor: pointer;
		font-size: 14px;
		color: #0f172a;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__cats-item.is-active {
		background: #eef2ff;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__cats-ico {
		width: 36px;
		height: 36px;
		border-radius: 50%;
		background: #eef2ff;
		color: #2563eb;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__cats-item.is-active .zp-ylb-home-map__cats-ico {
		background: #1d4ed8;
		color: #fff;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__list-more {
		margin: 10px 0 0;
		font-size: 13px;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-home-map__list-more a {
		color: #2563eb;
		font-weight: 600;
	}

	body.zp-yolaburo-home-map-desktop .zp-home-explore,
	body.zp-yolaburo-home-map-desktop .zp-section--ylb-trial-nearby,
	body.zp-yolaburo-home-map-desktop .zp-yolaburo-mascot,
	body.zp-yolaburo-home-map-desktop .zp-yolaburo-search-mascot-row,
	body.zp-yolaburo-home-map-desktop .zp-app-home > .zp-section:not(.zp-ylb-desktop-how):not(.zp-ylb-desktop-value-band),
	body.zp-yolaburo-home-map-desktop .zp-app-home > section:not(.zp-ylb-home-map):not(.zp-ylb-desktop-how):not(.zp-ylb-home-map-below) {
		display: none !important;
	}

	body.zp-yolaburo-home-map-desktop #footer,
	body.zp-yolaburo-home-map-desktop footer.footer {
		display: block !important;
	}

	body.zp-yolaburo-home-map-desktop .zp-ylb-desktop-value-band,
	body.zp-yolaburo-home-map-desktop .zp-ylb-desktop-how {
		display: flex !important;
	}
}
