/**
 * All of the CSS for your public-facing functionality should be
 * included in this file.
 */

/* Zone widget simulation (front single, affichage inline comme en admin) */
#ntic-vo-widget .ntic-vo-error {
	color: #c00;
	padding: 1em;
}

.ntic-vo-sim-personalize-link.ntic-vo-widget-loading {
	pointer-events: none;
	opacity: 0.7;
}

/* Loader pendant le chargement de la simulation */
.ntic-vo-widget-loader {
	display: flex;
	align-items: center;
	gap: 0.75em;
	padding: 1em;
}

.ntic-vo-widget-loader-spinner {
	display: inline-block;
	width: 24px;
	height: 24px;
	border: 3px solid #e0e0e0;
	border-top-color: #333;
	border-radius: 50%;
	animation: ntic-vo-widget-spin 0.8s linear infinite;
}

.ntic-vo-widget-loader-text {
	color: #555;
	font-size: 0.95em;
}

@keyframes ntic-vo-widget-spin {
	to {
		transform: rotate(360deg);
	}
}

/* Loader pendant checkOutput (mise à jour metas simulation) */
.ntic-vo-sim-block.ntic-vo-sim-updating {
	position: relative;
	opacity: 0.6;
	pointer-events: none;
	transition: opacity 0.2s ease;
}

.ntic-vo-sim-block.ntic-vo-sim-updating::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 20px;
	height: 20px;
	border: 2px solid #e0e0e0;
	border-top-color: #333;
	border-radius: 50%;
	animation: ntic-vo-widget-spin 0.8s linear infinite;
}

/* Bandeau légal sticky (mention crédit) */
#ntic-vo-legal-sticky {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 9999;
	background: #051d40;
	color: #fff;
	padding: 12px 48px 12px 20px;
	font-size: 0.85em;
	line-height: 1.4;
	display: flex;
	align-items: center;
}
#ntic-vo-legal-sticky p {
	margin: 0;
	flex: 1;
	text-align: center;
	font-family: Montserrat, Arial, Helvetica, sans-serif;
	font-weight: 600;
}
#ntic-vo-legal-sticky-close {
	position: absolute;
	right: 64px;
	top: 50%;
	transform: translateY(-50%);
	background: transparent;
	border: none;
	color: #fff;
	font-size: 1.4em;
	cursor: pointer;
	line-height: 1;
	padding: 4px 8px;
}


.vehicule-overview-toggleButton {
    background-color: #051D40;
    color: #fff;
    padding: 10px 20px;
    text-transform: uppercase;
    margin: 0 auto;
    display: block;
    cursor: pointer;
}

/* Responsive : bloc contenu véhicule (desktop = zone principale, mobile = sidebar) */
.ap-single-content-desktop {
    display: none;
}
@media (min-width: 960px) {
    .ap-single-content-desktop {
        display: block;
    }
}

/* Mobile : réduire la taille du texte de .su-list */
@media (max-width: 959px) {
    .su-list {
        font-size: 12px;
    }
}

.su-column-size-1-2 {
	width: 100% !important;
}