body {
 font-family: 'Open Sans', sans-serif;
   background-color: #0B0D10;
    color: white;
    margin: 0;
    padding: 0;
    line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Open Sans', sans-serif;
    font-weight: 700; /* Usa il peso 700 per i titoli */
}

/* --- HERO SECTION --- */
.hero-new {
    /* Ho aggiunto "display: flex" e "text-align: center" per rimettere tutto al centro */
    background: #0B0D10;
    padding: 100px 20px !important;
    margin: 0 !important;
    width: 100%;
    border-radius: 0 !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
}

.services-list {
    color: #ff6666;
    letter-spacing: 2px;
    font-size: 1.2em !important;
    margin-bottom: 10px;
}

.brand-badges {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 30px;
    flex-wrap: wrap; /* Per evitare che vadano fuori schermo su mobile */
}

.brand-badges {
    background: rgba(255,255,255,0.1);
    padding: 10px 20px;
    border-radius: 50px;
    backdrop-filter: blur(5px);
    border: 1px solid rgba(255,255,255,0.2);
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: bold;
    color: white;
}

.badge-item {
display: inline-flex;
margin: 5px;

}

/* QUESTO È IL FIX PER LE IMMAGINI GIGANTI NELLO SCREENSHOT */
.badge-item img {
    width: 25px !important;  /* Forza la dimensione piccola */
    height: 25px !important;
    display: block;
}




/* --- GRIGLIA SERVIZI --- */
.services-grid {
    background: #1A1D21;
    margin: 40px 20% !important;
    padding: 50px !important;
    border-radius: 15px; /* Aggiunto per coerenza */
    text-align: center;
}

.grid-container {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-top: 40px;
}

.service-card {
    flex: 1;
    text-decoration: none;
    color: white;
    transition: 0.4s;
}

.service-card img {
    width: 100%;
    height: auto;
    border-radius: 15px;
    margin-bottom: 15px;
    border-bottom: 4px solid transparent;
    filter: grayscale(20%); /* Leggermente desaturate di base */
     transition: 0.4s ease;
}

.service-card:hover img {
    transform: translateY(-10px);
   filter: grayscale(0%) brightness(1.1); /* Si illuminano e prendono colore al passaggio */
   transform: scale(1.03);
}

.service-card span {
    font-weight: 800;
    letter-spacing: 1px;
}

.sub-h2 {
    color: #888;
    margin-top: -10px;
}



.modern-carousel {
    width: 100%;
    position: relative;
    overflow: hidden;
    background: #0B0D10;
    margin: 40px 0 !important;
}

.carousel-container {
    display: flex;
    transition: transform 0.5s ease-in-out;
}

.carousel-slide {
    min-width: 100%; /* Ogni gruppo occupa tutto lo schermo */
    display: none;    /* Nascondiamo i gruppi non attivi */
    gap: 5px;
    justify-content: center;
}

.carousel-slide.active {
    display: flex; /* Mostriamo solo il gruppo attivo */
}

.slider-item {
    flex: 1;
    height: 500px;
    position: relative; /* Fondamentale per contenere l'overlay */
    overflow: hidden;
}

.item-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 30px 20px;

    /* Gradiente scuro per far leggere il bianco anche su foto chiare */
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));

    color: white;
    z-index: 10; /* Forza il testo a stare sopra a tutto */
    pointer-events: none; /* Evita che l'overlay interferisca con il click */
    text-align: left;
}

.item-overlay span {
    display: inline-block;
    font-weight: 800;
    font-size: 0.9rem;
    letter-spacing: 2px;
    text-transform: uppercase;
    border-left: 4px solid #ff6666; /* Il tuo rosso */
    padding-left: 12px;
}

/* Assicurati che l'immagine non copra il testo */
.slider-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    position: relative;
    z-index: 1;
    filter: brightness(0.8);
        transition: 0.5s;
}

.slider-item:hover img {
    filter: brightness(1.1);
    transform: scale(1.05);
}

/* --- STILE PUNTINI --- */
.carousel-dots {
    text-align: center;
    padding: 20px 0;
    background: #0B0D10;
}

.dot {
    height: 8px;
    width: 8px;
    margin: 0 5px;
    background-color: #555;
    border-radius: 50%;
    display: inline-block;
    transition: all 0.3s ease;
    cursor: pointer;
}

.dot.active {
    background-color: #ff6666; /* Il tuo rosso */
    transform: scale(1.3);
}

.dot:hover {
    background-color: #bbb;
}



.cta-simple {
    width: 100%;
    box-sizing: border-box; /* Include padding nei calcoli della larghezza */
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 30px 20px 80px 20px !important; /* Spazio ridotto sopra, ampio sotto */
}

/* 3. Centratura assoluta del contenuto */
.cta-content {
    width: 100%;
    max-width: 1200px; /* Deve essere uguale alla larghezza massima del tuo slider */
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
}

/* 4. Il bottone ora sarà perfettamente in asse */
.btn-main-cta {

}

.cta-content h2 {
    color: white;
    font-size: 2.2rem;
    font-weight: 800;
    margin-bottom: 10px; /* Spazio ridotto tra titolo e sottotitolo */
}

.cta-content p {
    color: #888;
    font-size: 1.1rem;
    margin-bottom: 30px; /* Spazio tra testo e pulsante */
}

.btn-main-cta {
     margin: 0 auto !important;
        display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 45px; /* Un po' più largo per farlo sembrare più "stabile" */
    background: #ff6666;
    color: white;
    text-decoration: none;
    font-weight: 800;
    letter-spacing: 1px;
    border-radius: 50px;
    transition: all 0.3s ease;
    /* Ombra più morbida */
    box-shadow: 0 8px 15px rgba(255, 102, 102, 0.2);
}

.btn-main-cta:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(255, 102, 102, 0.5);
    background: #e65555;
    color: white; /* Evita che il testo cambi colore al passaggio */
}