#vcapp-rota-mapa{
	width:100%;
	height:100vh;
	border-radius:12px;
	overflow:hidden;
	z-index:1;
}

.vcapp-rota-wrapper{
	position:relative;
	width:100%;
	min-height:100vh;
}

.vcapp-rota-wrapper:fullscreen{
	width:100vw;
	height:100vh;
	background:#ffffff;
}

.vcapp-rota-wrapper:fullscreen #vcapp-rota-mapa{
	height:100vh;
	border-radius:0;
}

.vcapp-rota-filtros{
	position:absolute;
	left:50%;
	bottom:37px;
	z-index:720;
	width:min(760px, calc(100% - 48px));
	transform:translateX(-50%);
	display:flex;
	align-items:center;
	gap:8px;
	padding:8px;
	border-radius:999px;
	background:rgba(255,255,255,.94);
	box-shadow:0 12px 36px rgba(0,0,0,.18);
	backdrop-filter:blur(10px);
	animation:vcappFilterUp .24s ease-out;
}

/* Reset forte para vencer estilos do tema/Astra/browser */
.vcapp-rota-filtros input,
.vcapp-rota-filtros input[type="search"],
.vcapp-rota-filtros select,
.vcapp-rota-search,
.vcapp-rota-category{
	height:42px !important;
	border:0 !important;
	outline:0 !important;
	border-radius:999px !important;
	background:#ffffff !important;
	color:#222222 !important;
	font-size:14px !important;
	box-shadow:none !important;
	text-shadow:none !important;
	-webkit-box-shadow:none !important;
	appearance:none;
	-webkit-appearance:none;
}

.vcapp-rota-filtros input[type="search"]::-webkit-search-decoration,
.vcapp-rota-filtros input[type="search"]::-webkit-search-cancel-button,
.vcapp-rota-filtros input[type="search"]::-webkit-search-results-button,
.vcapp-rota-filtros input[type="search"]::-webkit-search-results-decoration{
	-webkit-appearance:none;
	display:none;
}

.vcapp-rota-search{
	flex:1 1 auto;
	min-width:220px;
	padding:0 16px !important;
}

.vcapp-rota-category{
	flex:0 0 210px;
	padding:0 14px !important;
	cursor:pointer;
}

.vcapp-rota-search:focus,
.vcapp-rota-category:focus,
.vcapp-rota-filtros input:focus,
.vcapp-rota-filtros select:focus{
	border:0 !important;
	outline:0 !important;
	box-shadow:none !important;
	-webkit-box-shadow:none !important;
}

.vcapp-rota-clear{
	height:42px;
	border:0;
	border-radius:999px;
	background:#111111;
	color:#ffffff;
	font-size:13px;
	font-weight:700;
	padding:0 18px;
	cursor:pointer;
	transition:transform .18s ease, opacity .18s ease;
}

.vcapp-rota-clear:hover{
	transform:translateY(-1px);
	opacity:.92;
}

.vcapp-rota-empty{
	display:none;
	position:absolute;
	left:50%;
	bottom:101px;
	z-index:710;
	transform:translateX(-50%);
	max-width:calc(100% - 48px);
	padding:10px 16px;
	border-radius:999px;
	background:rgba(255,255,255,.96);
	color:#222222;
	font-size:13px;
	font-weight:600;
	box-shadow:0 8px 24px rgba(0,0,0,.14);
	animation:vcappFilterUp .22s ease-out;
}

.vcapp-rota-empty.is-active{
	display:block;
}

.vcapp-rota-fullscreen-btn{
	position:absolute;
	left:16px;
	bottom:16px;
	z-index:700;
	border:0;
	border-radius:999px;
	background:#ffffff;
	color:#222222;
	font-size:12px;
	font-weight:600;
	line-height:1;
	padding:9px 12px;
	cursor:pointer;
	box-shadow:0 5px 16px rgba(0,0,0,.18);
	transition:transform .2s ease, box-shadow .2s ease;
}

.vcapp-rota-fullscreen-btn:hover{
	transform:translateY(-1px);
	box-shadow:0 7px 20px rgba(0,0,0,.22);
}

.vcapp-card-detalhes{
	display:none;
	position:absolute;
	top:30px;
	left:30px;
	z-index:650;
	width:min(390px, calc(100% - 60px));
	max-height:calc(100vh - 60px);
	overflow:auto;
	background:#ffffff;
	border-radius:18px;
	padding:18px;
	box-shadow:0 12px 36px rgba(0,0,0,.22);
	transform:none;
	animation:vcappCardIn .22s ease-out;
}

.vcapp-card-detalhes.is-active{
	display:block;
}

.vcapp-card-detalhes img{
	width:100%;
	height:190px;
	object-fit:cover;
	border-radius:14px;
	margin-bottom:14px;
	display:block;
	background:#f2f2f2;
}

.vcapp-card-detalhes h3{
	margin:0 0 10px;
	font-size:21px;
	line-height:1.2;
	color:#111111;
}

.vcapp-card-detalhes p{
	margin:0 0 10px;
	font-size:14px;
	line-height:1.45;
	color:#333333;
}

.vcapp-card-close{
	position:absolute;
	top:12px;
	right:12px;
	z-index:20;
	width:auto;
	height:auto;
	border:0;
	border-radius:0;
	background:transparent;
	color:#111111;
	font-size:26px;
	line-height:1;
	cursor:pointer;
	padding:0;
	box-shadow:none;
}

.vcapp-card-close:hover{
	background:transparent;
	color:#000000;
	box-shadow:none;
}

.vcapp-card-detalhes .vcapp-map-pin-bg{
	background-image:var(--vcapp-pin-bg) !important;
	background-size:cover !important;
	background-position:center !important;
	background-repeat:no-repeat !important;
}

.vcapp-jet-card-shell{
	position:relative;
	overflow:hidden;
	border-radius:16px;
	min-height:260px;
	background:#111111;
}

.vcapp-jet-card-bg{
	position:absolute;
	inset:0;
	z-index:0;
	background-image:var(--vcapp-pin-bg);
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	transform:scale(1.01);
}

.vcapp-jet-card-bg::after{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(
		to bottom,
		rgba(0,0,0,.12),
		rgba(0,0,0,.48)
	);
}

.vcapp-jet-card-inner{
	position:relative;
	z-index:1;
	min-height:260px;
}

.vcapp-jet-card-inner > .elementor,
.vcapp-jet-card-inner .elementor-section,
.vcapp-jet-card-inner .elementor-container,
.vcapp-jet-card-inner .elementor-column,
.vcapp-jet-card-inner .elementor-widget-wrap,
.vcapp-jet-card-inner .elementor-element{
	background-color:transparent !important;
}

@keyframes vcappCardIn{
	from{
		opacity:0;
		transform:translateX(-8px);
	}
	to{
		opacity:1;
		transform:translateX(0);
	}
}

@keyframes vcappFilterUp{
	from{
		opacity:0;
		transform:translate(-50%, 16px);
	}
	to{
		opacity:1;
		transform:translate(-50%, 0);
	}
}

@media(max-width:768px){

	#vcapp-rota-mapa{
		height:100vh;
		border-radius:10px;
	}

	.vcapp-rota-wrapper{
		min-height:100vh;
	}

	.vcapp-rota-filtros{
		left:12px;
		right:12px;
		bottom:27px;
		width:auto;
		transform:none;
		flex-wrap:wrap;
		border-radius:18px;
		padding:8px;
		gap:7px;
	}

	.vcapp-rota-search{
		flex:1 1 100%;
		min-width:0;
		height:40px !important;
	}

	.vcapp-rota-category{
		flex:1 1 calc(65% - 7px);
		min-width:0;
		height:40px !important;
	}

	.vcapp-rota-clear{
		flex:1 1 calc(35% - 7px);
		height:40px;
		padding:0 12px;
	}

	.vcapp-rota-empty{
		left:12px;
		right:12px;
		bottom:131px;
		width:auto;
		max-width:none;
		transform:none;
		text-align:center;
		border-radius:18px;
	}

	.vcapp-card-detalhes{
		top:86px;
		left:12px;
		right:12px;
		bottom:auto;
		width:auto;
		max-height:calc(100vh - 230px);
		transform:none;
		border-radius:18px;
		padding:16px;
	}

	.vcapp-card-detalhes img{
		height:160px;
	}

	.vcapp-rota-fullscreen-btn{
		left:14px;
		bottom:14px;
		font-size:11px;
		padding:8px 11px;
	}

	.vcapp-jet-card-shell,
	.vcapp-jet-card-inner{
		min-height:230px;
	}

	@keyframes vcappCardIn{
		from{
			opacity:0;
			transform:translateY(-12px);
		}
		to{
			opacity:1;
			transform:translateY(0);
		}
	}

	@keyframes vcappFilterUp{
		from{
			opacity:0;
			transform:translateY(16px);
		}
		to{
			opacity:1;
			transform:translateY(0);
		}
	}

}
