.elementor-944 .elementor-element.elementor-element-d5a0f7b{--display:flex;}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-1408d23 *//* =========================================
   PAGINA FIDELITY CARD - CSS COMPLETO
   ========================================= */

/* --- CONTENITORE GLOBALE (Max 1256px) --- */

.lx-container {
    max-width: 1256px !important; /* Forza il limite massimo richiesto */
    margin: 0 auto;               /* Centra il blocco nello schermo */
    padding: 0 20px;              /* Margine di sicurezza laterale per i telefoni */
    width: 100%;
    box-sizing: border-box;
}

.lx-fidelity-page {
    padding: 100px 0 100px;
    background-color: #fafbfd;
}

/* --- HERO GRID E TESTI --- */
.lx-fidelity-hero-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    margin-bottom: 120px;
}

.lx-badge-fidelity {
    display: inline-block;
    padding: 8px 16px;
    background: #e6f0f7;
    color: #016096;
    border-radius: 50px;
    font-size: 0.85rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 25px;
}

.lx-fidelity-text-col .lx-title-main {
    font-size: 2.8rem;
    font-weight: 800;
    color: #016096;
    margin-bottom: 20px;
    line-height: 1.2;
}

.lx-fidelity-text-col .lx-highlight {
    font-weight: 900;
    color: #016096;
}

.lx-fidelity-text-col .lx-subtitle-main {
    color: #6e6e73;
    font-size: 1.1rem;
    line-height: 1.6;
    margin-bottom: 40px;
    max-width: 500px;
}

.lx-fidelity-text-col .lx-subtitle-main strong {
    color: #1d1d1f;
}

.lx-btn-primary {
    display: inline-block;
    background: #016096 !important;
    color: #ffffff !important;
    padding: 18px 30px;
    border-radius: 14px;
    font-size: 1.05rem;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 15px 30px rgba(1, 96, 150, 0.25);
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.lx-btn-primary:hover {
    background: #004a75;
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(1, 96, 150, 0.35);
}

/* --- CARD FLUTTUANTE VERTICALE (Immagine PNG) --- */
.lx-fidelity-card-col {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    perspective: 1000px; /* Profondità per l'animazione */
}

/* Animazioni */
@keyframes float {
    0% { transform: translateY(0px) rotate(1deg); }
    50% { transform: translateY(-15px) rotate(-1deg); }
    100% { transform: translateY(0px) rotate(1deg); }
}

@keyframes shadowPulse {
    0% { transform: scale(1); opacity: 0.4; }
    50% { transform: scale(0.85); opacity: 0.2; }
    100% { transform: scale(1); opacity: 0.4; }
}

/* Stile per l'Immagine PNG VERTICALE */
.lx-floating-card-img {
    width: 100%; 
    max-width: 180px; /* Dimensione ridotta ideale per desktop */
    height: auto; 
    max-height: 300px; /* Previene l'allungamento eccessivo */
    object-fit: contain; /* Mantiene le proporzioni intatte */
    border-radius: 14px; /* Simula gli angoli della carta fisica */
    box-shadow: 0 25px 50px rgba(1, 96, 150, 0.25);
    animation: float 6s ease-in-out infinite;
    position: relative;
    z-index: 2;
}

/* Ombra sul pavimento (Stretta e proporzionata) */
.lx-floating-shadow {
    width: 140px; 
    height: 15px;
    background: radial-gradient(ellipse at center, rgba(1, 96, 150, 0.25) 0%, rgba(0,0,0,0) 70%);
    margin-top: 25px;
    border-radius: 50%;
    animation: shadowPulse 6s ease-in-out infinite;
}

/* --- I 3 PASSI (STEPS) --- */
.lx-fidelity-steps-section {
    text-align: center;
}

.lx-fidelity-steps-section .lx-section-title {
    font-size: 2.4rem;
    font-weight: 800;
    color: #016096;
}

.lx-steps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
    margin-top: 60px;
}

.lx-step-card {
    background: #ffffff;
    padding: 50px 30px 40px;
    border-radius: 30px;
    box-shadow: 0 15px 40px rgba(0,0,0,0.03);
    border: 1px solid rgba(0,0,0,0.02);
    position: relative;
    transition: transform 0.3s ease;
}

.lx-step-card:hover { 
    transform: translateY(-10px); 
}

.lx-step-number {
    position: absolute;
    top: -25px; left: 50%;
    transform: translateX(-50%);
    width: 60px; height: 60px;
    background: #e6f0f7;
    color: #016096;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.5rem; font-weight: 800;
    box-shadow: 0 10px 20px rgba(230, 240, 247, 0.8);
    border: 4px solid #ffffff;
}

.lx-step-card h3 {
    font-size: 1.4rem; font-weight: 800; color: #1d1d1f; margin-bottom: 15px;
}

.lx-step-card p {
    color: #6e6e73; font-size: 0.95rem; line-height: 1.6;
}

.lx-step-card p strong {
    color: #1d1d1f;
}

/* --- RESPONSIVE MOBILE (< 900px) --- */
@media (max-width: 900px) {
    .lx-fidelity-page { padding: 40px 0; }
    
    .lx-fidelity-hero-grid { 
        grid-template-columns: 1fr; 
        text-align: flex-start; 
        gap: 50px; 
        margin-bottom: 80px;
    }
    
    .lx-fidelity-text-col .lx-title-main { font-size: 2.2rem; }
    .lx-fidelity-text-col .lx-subtitle-main { margin: 0 auto 30px; }
    .lx-badge-fidelity { margin: 0 auto 20px; }
    
    /* Ridimensionamento carta verticale su mobile */
    .lx-floating-card-img { max-width: 140px; } 
    .lx-floating-shadow { width: 110px; margin-top: 20px; }
    
    .lx-steps-grid { grid-template-columns: 1fr; gap: 50px; }
    .lx-step-card { margin-top: 20px; }
}/* End custom CSS */