/* Frontend styles for CFP blocks */
.cfp-parallax { color: #fff; padding: 0; position: relative; overflow: hidden; min-height: 200px; }
.cfp-parallax-bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.cfp-parallax-bg img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center center; }
.cfp-parallax-overlay { position: absolute; left: 0; top: 0; right: 0; bottom: 0; pointer-events: none; z-index: 1; }
.cfp-parallax-inner { position: relative; z-index: 2; display: flex; flex-direction: column; height: 100%; width: 100%; }
.cfp-parallax-content { width: 100%; }
.cfp-parallax .cfp-parallax-inner h2 { margin: 0; }
.cfp-chess { display: grid; grid-auto-rows: auto; gap: 20px; }
.cfp-chess-item { box-sizing: border-box; display: flex; gap: 20px; align-items: center; }
.cfp-chess-item img { width: 100%; height: auto; display: block; }
.cfp-chess-item-image { flex: 1 1 50%; }
.cfp-chess-item-content { flex: 1 1 50%; }
.cfp-chess-item.reverse { flex-direction: row-reverse; }
.cfp-chess-item.reverse .cfp-chess-item-image { text-align: right; }

@media (max-width: 768px) {
	.cfp-chess { grid-template-columns: 1fr !important; }
	.cfp-chess-item { flex-direction: column; }
	.cfp-chess-item.reverse { flex-direction: column; }
	.cfp-chess-item-image, .cfp-chess-item-content { flex: none; width: 100%; }
	.cfp-chess-item-image img { width: 100%; height: auto; object-fit: cover; }
}
/* .cfp-value-block { text-align: center; padding: 40px 20px; }
.cfp-value-items { display: flex; flex-wrap: wrap; gap: 20px; justify-content: center; }
.cfp-value-item { width: 220px; }
.cfp-icons { display: flex; gap: 16px; flex-wrap: wrap; }
.cfp-icon-item i { margin-right: 8px; } */

.cfp-value-block {
    width: 100%;
}
.cfp-value-header h2,
.cfp-value-header h3,
.cfp-value-header p,
.cfp-value-item p {
    margin: 0; /* Il margin è gestito dai controlli Elementor */
}
.cfp-value-items {
    display: grid;
    /* grid-template-columns e gap sono gestiti dai controlli */
}
.cfp-value-item {
    display: flex;
    flex-direction: column;
    /* Align items eredita dal parent, ma si può forzare */
    align-items: inherit; 
}
.cfp-value-item-image img {
    display: block;
    height: auto;
    /* width gestita dai controlli */
}

/* Assicuriamoci che la griglia abbia righe con altezza uniforme */
.cfp-value-block--equal-height .cfp-value-items {
    display: grid;              /* Probabilmente già impostato da te altrove, ma lo ribadiamo */
    grid-auto-rows: 1fr;        /* Ogni riga ha la stessa altezza */
}

/* Ogni item riempie tutta l'altezza della riga */
.cfp-value-block--equal-height .cfp-value-item {
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* Immagine con altezza fissa + crop, così sono tutte uguali */
.cfp-value-block--equal-height .cfp-value-item-image img {
    width: 100%;
    height: 180px;              /* puoi cambiare il valore */
    object-fit: cover;
    display: block;
}

/* Spazio tra immagine e testo, opzionale */
.cfp-value-block--equal-height .cfp-value-item-image {
    margin-bottom: 1rem;
}

/* Fa "spingere" il testo verso il basso se vuoi allineare i contenuti */
.cfp-value-block--equal-height .cfp-value-item p {
    margin-top: auto;
}