/* Tour Route Map Plugin Styles */

.tour-route-map-container {
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	border-radius: 4px;
	overflow: hidden;
	margin: 20px 0;
	background: #f0f0f0;
	min-height: 300px;
	width: 100%;
}

.tour-route-map-loading {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 40px 20px;
	text-align: center;
	background: #f9f9f9;
	border: 1px solid #e0e0e0;
	border-radius: 4px;
	margin: 20px 0;
	min-height: 300px;
}

.tour-route-map-loading p {
	color: #666;
	font-size: 16px;
	margin: 0;
}

.tour-route-map-loading::after {
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-left: 10px;
	border: 3px solid #f3f3f3;
	border-top: 3px solid #999;
	border-radius: 50%;
	animation: spin 1s linear infinite;
	vertical-align: middle;
}

@keyframes spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* Leaflet route styling */
.leaflet-routing-alt {
	border: 1px solid #e0e0e0;
	padding: 8px;
	margin-top: 10px;
	border-radius: 4px;
	background: #fafafa;
}

.leaflet-routing-alt-minimized {
	display: none;
}

/* Marker popup styling */
.leaflet-popup-content-wrapper {
	border-radius: 4px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.leaflet-popup-tip-container {
	display: none;
}

/* Route line styling */
.leaflet-routing-container .leaflet-routing-line {
	stroke: #FF0000 !important;
	stroke-width: 5 !important;
	opacity: 0.8 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

/* Responsive design */
@media (max-width: 768px) {
	.tour-route-map-container {
		min-height: 250px;
	}

	.tour-route-map-loading {
		min-height: 250px;
	}

	.leaflet-routing-container {
		display: none;
	}
}

/* Error message styling */
.tour-route-map-error {
	padding: 15px 20px;
	background: #fee;
	border: 1px solid #fcc;
	border-radius: 4px;
	color: #c33;
	margin: 20px 0;
}

.tour-route-map-error::before {
	content: '⚠️ ';
	margin-right: 5px;
}

/* Success message styling */
.tour-route-map-success {
	padding: 15px 20px;
	background: #efe;
	border: 1px solid #cfc;
	border-radius: 4px;
	color: #3c3;
	margin: 20px 0;
}

.tour-route-map-success::before {
	content: '✓ ';
	margin-right: 5px;
}

/* Admin metabox styles */
#trm_hotel_list .trm_hotel_item {
	cursor: move;
	transition: all 0.2s ease;
}

#trm_hotel_list .trm_hotel_item:hover {
	background: #f5f5f5;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

#trm_hotel_list .trm_hotel_item.trm_hotel_ghost {
	opacity: 0.5;
	background: #e8e8e8;
}

#trm_hotel_list .trm_hotel_item label {
	margin: 0;
}

#trm_hotel_list .trm_hotel_item input[type="checkbox"] {
	accent-color: #0073aa;
	width: 18px;
	height: 18px;
}

/* Custom marker styling for SVG emoji icons */
.trm-custom-marker {
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: none;
}

.trm-custom-marker svg {
	width: 50px;
	height: 65px;
}
