/*
* @package css/csw-interactive-map.css
*/
.csw-map-wrapper{
	position:relative;
	width:100%;
	margin:auto;
	overflow:visible;
	margin-bottom:30px
}

.csw-svg-embed{
	position:relative;
	width:100%;
	height:100%
}

.csw-svg-embed svg{
	width:100%;
	display:block;
	height:100%
}

.csw-region{
	stroke:#fff;
	stroke-width:1.2;
	transition:fill 0.3s ease;
	outline:none
}

.csw-region.csw-titicaca{
	fill:#72d2ff!important;
	stroke:#fff;
	stroke-width:1.2;
	transition:fill 0.3s ease;
	outline:none
}

.csw-region.has-info{
	cursor:pointer
}

.csw-region-text-node{
	font-weight:600;
	pointer-events:none;
	user-select:none;
	font-size:1.4rem;
	text-transform:uppercase
}

.csw-map-tooltip{
	position:absolute;
	display:none;
	background:rgba(0,0,0,0.9);
	color:#fff;
	padding:8px 15px;
	border-radius:4px;
	font-size:14px;
	font-weight:600;
	z-index:9999;
	pointer-events:none;
	transform:translateX(-50%);
	white-space:nowrap;
	box-shadow:0 4px 10px rgba(0,0,0,0.2)
}

/* POPUP AHORA GLOBAL (BODY) */
.csw-popup-overlay{
	position:absolute;
	z-index:999999;
	width:350px;
	max-height:500px;
	filter:drop-shadow(0 15px 35px rgba(0,0,0,0.3));
	pointer-events:auto;
	display:none;
	flex-direction:column;
}

.csw-popup-content{
	background:#fff;
	padding:20px;
	border-radius:12px;
	position:relative;
	display:flex;
	flex-direction:column
}

.csw-popup-arrow{
	position:absolute;
	width:0;
	height:0;
}
.csw-popup-overlay.is-bottom .csw-popup-arrow{
	top:-10px;
	left:50%;
	transform:translateX(-50%);
	border-left:12px solid transparent;
	border-right:12px solid transparent;
	border-bottom:12px solid #fff;
	border-top:none;
}

.csw-popup-overlay.is-top .csw-popup-arrow{
	bottom:-10px;
	left:50%;
	transform:translateX(-50%);
	border-left:12px solid transparent;
	border-right:12px solid transparent;
	border-top:12px solid #fff;
	border-bottom:none;
}

.csw-popup-overlay.is-right .csw-popup-arrow{
	left:-10px;
	top:50%;
	transform:translateY(-50%);
	border-top:12px solid transparent;
	border-bottom:12px solid transparent;
	border-right:12px solid #fff;
	border-left:none;
}

.csw-popup-overlay.is-left .csw-popup-arrow{
	right:-10px;
	top:50%;
	transform:translateY(-50%);
	border-top:12px solid transparent;
	border-bottom:12px solid transparent;
	border-left:12px solid #fff;
	border-right:none;
}
.csw-popup-close{
	position:absolute;
	top:10px;
	right:12px;
	background:#f5f5f5;
	border:none;
	font-size:22px;
	width:32px;
	height:32px;
	border-radius:50%;
	cursor:pointer;
	line-height:1;
	z-index:9
}

.csw-places-grid{
	flex:1;
	overflow-y:auto!important;
	max-height:350px;
	margin-top:10px;
	padding-right:5px
}

.csw-places-grid::-webkit-scrollbar{
	width:6px
}

.csw-places-grid::-webkit-scrollbar-thumb{
	background:#ccc;
	border-radius:10px
}

.csw-place-card{
	width:100%;
	margin-bottom:15px;
	border:1px solid #eee;
	border-radius:8px;
	overflow:hidden
}

.csw-place-card img{
	width:100%;
	height:150px;
	object-fit:cover
}

.csw-place-content{
	padding:12px
}

.csw-btn-more{
	display:inline-block;
	background:#2e7d32;
	color:#fff;
	padding:7px 15px;
	border-radius:4px;
	font-size:13px;
	text-decoration:none
}


@media (max-width:768px){
	.csw-map-wrapper{
		height: 100%!important;
	}

	.csw-region-text-node{
		font-size:160%;
	}
	.csw-popup-overlay{
		width:95vw;
		max-width:420px;
		max-height:70vh;
		left:50% !important;
		top:50% !important;
		transform:translate(-50%, -50%) !important;
		position:fixed !important;
		display:flex;
	}
	.csw-popup-arrow{
		display:none;
	}
}