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

.infra-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;
}

.infra-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;
}

.infra-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); }
}

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

.infra-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;
}


/* ENEA Agent 17/10/2026 — contrasto dei testi di caricamento del widget (WCAG 2.1 SC 1.4.3): 4,15:1 -> 6,24:1 su #e9e6f2 */
.vsphere-loading-overlay .text-muted { color: #445566 !important; }

.infra-loading-text { color: #445566; }
