/**
 * Override: Stili CSS per la roadmap nel frontend
 *
 * @package Fullstack
 */

/* Roadmap container */
.fullstack-roadmap {
	position: relative;
	width: 100%;
	padding: 4rem 0;
	min-height: 500px;
}

/* Immagine di sfondo */
.fullstack-roadmap-background {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.fullstack-roadmap-background img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	display: block;
}

/* Container degli elementi - stesso container dell'immagine per posizionamento preciso */
.fullstack-roadmap-items {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	min-height: 500px;
	pointer-events: none;
}

.fullstack-roadmap-item {
	pointer-events: auto;
}

/* Singolo elemento roadmap: (position_x, position_y) = centro del bordo basso dell'icona (o della card se senza icona) */
.fullstack-roadmap-item {
	position: absolute;
	z-index: 2;
}

/* Senza icona: ancoraggio al centro del bordo basso della card */
.fullstack-roadmap-item:not(.fullstack-roadmap-item-has-icon) {
	transform: translate(-50%, -100%);
}

/* Con icona a sinistra: centro orizzontale icona = 55px (padding 15*2 + img 80 = 110px) */
.fullstack-roadmap-item-icon-left.fullstack-roadmap-item-has-icon {
	transform: translate(-55px, -100%);
}

/* Con icona a destra: centro icona a (100% - 55px) dal bordo sinistro */
.fullstack-roadmap-item-icon-right.fullstack-roadmap-item-has-icon {
	transform: translate(calc(55px - 100%), -100%);
}

/* Contenuto dell'elemento: allineato in basso così il bordo item = bordo icona */
.fullstack-roadmap-item-content {
	position: relative;
	padding: 1.5rem;
	border-radius: 8px;
	display: flex;
	align-items: center;
}

/* Wrapper per titolo e testo */
.fullstack-roadmap-item-text-wrapper {
	flex: 1;
	min-width: 0;
}

/* Icona circolare */
.fullstack-roadmap-item-icon {
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	padding: 15px;
	box-sizing: border-box;
}

/* Icona a sinistra */
.fullstack-roadmap-item-icon-left .fullstack-roadmap-item-icon {
	margin-right: 0;
}

/* Icona a destra */
.fullstack-roadmap-item-icon-right .fullstack-roadmap-item-icon {
	margin-left: 0;
	order: 2;
}

.fullstack-roadmap-item-icon img {
	width: 80px;
	height: 100%;
	object-fit: contain;
}

/* Titolo */
.fullstack-roadmap-item-title {
	font-size: 1.2rem;
	font-weight: bold;
	color: #1e3a8a;
	margin: 0;
	line-height: 1.3;
}

/* Allineamento testo */
.fullstack-roadmap-item-text-align-left .fullstack-roadmap-item-title,
.fullstack-roadmap-item-text-align-left .fullstack-roadmap-item-text {
	text-align: left;
}

.fullstack-roadmap-item-text-align-center .fullstack-roadmap-item-title,
.fullstack-roadmap-item-text-align-center .fullstack-roadmap-item-text {
	text-align: center;
}

.fullstack-roadmap-item-text-align-right .fullstack-roadmap-item-title,
.fullstack-roadmap-item-text-align-right .fullstack-roadmap-item-text {
	text-align: right;
}

/* Testo */
.fullstack-roadmap-item-text {
	color: #4b5563;
	font-size: 1rem;
	line-height: 1.6;
	margin: 0;
}

.fullstack-roadmap-item-text p {
	margin: 0 0 0.5rem 0;
}

.fullstack-roadmap-item-text p:last-child {
	margin-bottom: 0;
	font-size: 14px;
}

/* Desktop: larghezza minima card */
@media (min-width: 1025px) {
	.fullstack-roadmap-item {
		min-width: 530px;
	}
}

/* Responsive: tablet */
@media (max-width: 1024px) {
	.fullstack-roadmap-item-content {
		max-width: 350px;
		padding: 1.25rem;
	}
	
	
	.fullstack-roadmap-item-title {
		font-size: 1.35rem;
	}
}

/* Responsive: mobile */
@media (max-width: 767px) {
	.fullstack-roadmap {
		padding: 2rem 0;
		min-height: auto;
	}
	
	/* In mobile nascondiamo l'immagine di sfondo
	   e mostriamo solo gli elementi in colonna */
	.fullstack-roadmap-background {
		display: none;
	}
	
	.fullstack-roadmap-items {
		position: static;
		min-height: auto;
		padding: 0 1.5rem 2rem;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	
	.fullstack-roadmap-item {
		position: relative !important;
		left: auto !important;
		top: auto !important;
		transform: none !important;
		margin-bottom: 2rem;
		width: 100%;
		max-width: 100%;
	}
	
	.fullstack-roadmap-item-content {
		max-width: 100%;
		margin: 0 auto;
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
	
	.fullstack-roadmap-item-icon-left .fullstack-roadmap-item-content,
	.fullstack-roadmap-item-icon-right .fullstack-roadmap-item-content {
		flex-direction: column;
		align-items: center;
	}
	
	/* In mobile: icona sopra, poi titolo, poi testo - tutto centrato */
	/* L'icona deve essere sempre prima, indipendentemente dalla posizione desktop */
	.fullstack-roadmap-item-icon-left .fullstack-roadmap-item-icon,
	.fullstack-roadmap-item-icon-right .fullstack-roadmap-item-icon {
		order: 1 !important;
		margin-bottom: 1rem;
		margin-left: auto !important;
		margin-right: auto !important;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	.fullstack-roadmap-item-icon {
		margin-bottom: 1rem;
		margin-left: auto !important;
		margin-right: auto !important;
		order: 1 !important;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	.fullstack-roadmap-item-text-wrapper {
		width: 100%;
		order: 2;
		text-align: center;
	}
	
	.fullstack-roadmap-item-title {
		font-size: 1.25rem;
	}
	
	.fullstack-roadmap-item-text {
		font-size: 0.95rem;
	}

	/* Testo sempre centrato in mobile, indipendentemente dall'opzione desktop */
	.fullstack-roadmap-item-text-align-left .fullstack-roadmap-item-title,
	.fullstack-roadmap-item-text-align-center .fullstack-roadmap-item-title,
	.fullstack-roadmap-item-text-align-right .fullstack-roadmap-item-title,
	.fullstack-roadmap-item-text-align-left .fullstack-roadmap-item-text,
	.fullstack-roadmap-item-text-align-center .fullstack-roadmap-item-text,
	.fullstack-roadmap-item-text-align-right .fullstack-roadmap-item-text {
		text-align: center;
	}
}
