:root {
    --verde-base: #089b4a;
    --verde-chiaro: #33cc00;
    --verde-scuro: #066a37;
}

body {
    font-family: Arial, sans-serif;
}

.text-primary {
    color: var(--verde-base) !important;
}

.fw-bold {
    color: var(--verde-base) !important;
}

.bg-primary-light {
    background-color: var(--verde-chiaro) !important;
}

/* Hero Section Styles */
.bg-hero {
    background-image: url('/assets/images/children-playing.webp');
    background-size: cover;
    background-position: center;
    height: 90vh; /* Altezza uguale alla finestra */
    position: relative;
    display: flex;
    align-items: center; /* Centra verticalmente */
    justify-content: center; /* Centra orizzontalmente */
}

.hero-overlay {
    background-color: rgba(0, 0, 0, 0.5); /* Sovrapposizione nera semitrasparente */
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.hero-section {
    position: relative; /* Per sovrascrivere l'overlay */
    z-index: 1; /* Assicura che il testo sia visibile sopra l'overlay */
    color: white; /* Contrasto migliore per il testo */
    text-align: center;
    display: flex; /* Flexbox per il layout interno */
    flex-direction: column; /* Dispone gli elementi in colonna */
    align-items: center; /* Centra gli elementi orizzontalmente */
    justify-content: center; /* Centra gli elementi verticalmente */
    height: 100%; /* Assicura che occupi tutta l'altezza del contenitore */
}

.hero-section h1 {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.hero-section p {
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
}

.hero-section a {
    font-size: 1.2rem;
    padding: 0.75rem 1.5rem;
}


/* HERO SU OPENSOURCE */
/* Hero Section */

.hero-opensource {
    background-image: url('/assets/images/orchestra.webp'); 
}

.hero-flussu {
    background-image: url('/assets/images/workflow.jpg'); 
}

.hero-contact {
    background-image: url('/assets/images/opensource.webp'); 
}

.hero-prices {
    background-image: url('/assets/images/target.jpg'); 
}



.hero-page {
    background-size: cover;
    background-position: center;
    height: 45vh; /* Altezza della sezione */
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.7); /* Effetto ombra sul testo per migliore leggibilità */
    position: relative;
    margin-top:-55px
}

/* Opzionale: Overlay scuro */
.hero-page::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Sovrapposizione scura */
    z-index: 1;
}

.herohead {
    color: var(--verde-chiaro);
    font-weight:800;
    position: relative;
    z-index: 4; /* Porta il contenuto sopra l'overlay */
}

.hero-page.container {
    position: relative;
    z-index: 2; /* Porta il contenuto sopra l'overlay */
}

.hero-page p{
    font-size: 1.25rem;
    z-index: 2; /* Porta il contenuto sopra l'overlay */
}


.btn-primary {
    background-color: var(--verde-base);
    border: none;
}

.btn-primary:hover {
    background-color: var(--verde-scuro);
}

.card {
    border-color: var(--verde-base);
}

.card .card-title {
    color: var(--verde-base);
}

footer {
    background: var(--verde-scuro);
    color: white;
}

footer a {
    color: var(--verde-chiaro);
    text-decoration: underline;
}

/* Header */
header {
    background-color: white;
    border-bottom: 1px solid #ccc;
}

header .nav {
    display: flex;
    gap: 15px; /* Spaziatura tra i link */
    list-style: none;
    padding: 0;
    margin: 0;
}

header .nav-item .nav-link {
    text-decoration: none;
    font-weight: 500;
    color: #333;
    transition: color 0.3s;
}

header .nav-item .nav-link:hover {
    color: var(--verde-base);
}

header .logo {
    display: block;
    margin: 0 auto;
    height: 50px;
}

/* Responsività */
@media (max-width: 768px) {
    header .nav {
        gap: 10px;
    }
    header .logo {
        height: 40px;
    }
}

/* Navbar */
.nav-link {
    font-size: 1rem;
    color: #333;
}

.nav-link:hover {
    color: #007bff;
}

/* Logo */
.logo {
    height: 40px;
}

/* Hamburger Position */
.navbar-toggler {
    border: none; /* Rimuove il bordo */
    margin-left: 10px; /* Sposta leggermente a destra rispetto al logo */
}

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

/* Mobile View */
@media (max-width: 991.98px) {
    /* Mantiene l'hamburger e il logo allineati a sinistra */
    .navbar-toggler {
        margin-left: 0;
    }

    .collapse {
        margin-top: 10px; /* Sposta leggermente il menu aperto */
    }
}

    .carousel-item img {
      height: 400px;
      object-fit: cover;
      width: 100%;
    }
    /* Anche per le immagini dei casi d’uso, se vuoi una dimensione forzata */
    .case-image {
      width: auto;
      height: 300px;
      object-fit: cover;
    }