/* vSphere API Viewer - Design System Italia & D3.js Styles */

.vsphere-resources-wrapper {
	max-width: 1300px;
	margin: 1.5rem auto;
	font-family: "Titillium Web", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.vsphere-d3-container {
	position: relative;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.vsphere-d3-container svg {
	max-width: 100%;
	height: auto;
	overflow: visible;
}

.vsphere-d3-tooltip {
	font-family: "Titillium Web", sans-serif;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	backdrop-filter: blur(4px);
}

.card-teaser {
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.card-teaser:hover {
	transform: translateY(-2px);
	box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.08) !important;
}

.table th {
	font-weight: 600;
	letter-spacing: 0.02em;
}

.vsphere-api-viewer-marker {
	display: none !important;
}

/* Stati di caricamento */
.vsphere-loading-overlay {
	min-height: 320px;
	background: #ffffff;
	border-radius: 0.5rem;
	border: 1px dashed #dee2e6;
	text-align: center;
}

.vsphere-loading .vsphere-loading-overlay {
	display: flex !important;
}

.vsphere-spinner-border {
	width: 3rem;
	height: 3rem;
	border: 0.25rem solid #e9ecef;
	border-right-color: #0066cc;
	border-radius: 50%;
	animation: vsphere-spin 0.75s linear infinite;
}

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

.vsphere-resources-wrapper[data-loading="true"] .vsphere-loading-overlay {
	display: flex !important;
}

.vsphere-resources-wrapper[data-loading="false"] .vsphere-loading-overlay {
	display: none !important;
}

/* Nasconde eventuali elementi di paginazione duplicati dei caroselli Splide */
.splide__pagination ~ .splide__pagination {
	display: none !important;
}

