﻿
main {
    overflow: visible !important; /* oppure auto */
    height: auto !important;
    /* se impostato su 100vh o simili */
}

@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        /* max-width: 96% !important;*/
        max-width: 100% !important;
    }
}

@media (min-width: 1200px) {
    .display-6 {
        font-size: 1.5rem;
    }
}


    .bg-primary {
        --bs-bg-opacity: 1;
        /*background-color: #e8fcf1 !important*/
        background-color: #f4fdf8 !important
    }

    .border-primary {
        border-color: #01535f !important;
    }

    .cookie-consent {
        background-color: #f8f9fa;
        padding: 1rem;
        border-top: 1px solid #dee2e6;
    }





    .bg-menu {
        --bs-bg-opacity: 1;
        background-color: #42A260 !important
    }

    .navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav .show > .nav-link {
        color: #fff;
    }

    .navbar-light .navbar-nav .nav-link {
        color: #fff;
    }




    .bg-dark {
        background-color: #545558 !important;
        color: #fff;
    }



    .breadcrumb {
        display: flex;
        flex-wrap: wrap;
        padding: 0 0;
        margin-bottom: 1rem;
        list-style: none;
    }

        .breadcrumb a {
            color: #01535f !important;
            text-decoration: none;
        }

            .breadcrumb a:hover {
                color: darkred;
                text-decoration: underline; /* se vuoi l'effetto al passaggio */
            }





    .scrolledHeader .HeaderLogo {
        height: 40px !important
    }


    .scrolledMenu {
    }

        .scrolledMenu .navbar .navbar-nav .nav-link {
            /* padding: 15px 0; */
        }




    .page-header {
        background: linear-gradient(rgba(0, 0, 0, .7), rgba(0, 0, 0, .7)), url(../images/carousel-1.jpg) center center no-repeat;
        background-size: cover;
    }




    .navbar-toggler:focus {
        color: #fff;
    }




    .feature-item a:hover {
        /*color: var(--bs-primary) !important;*/
        color: #42A260 !important;
    }


    a.nav-item.nav-link:hover {
        color: #fff !important;
        /*border-bottom: 3px solid #e8fcf1;*/
        text-decoration: underline;
    }

    .colorFontAU a {
        color: #2d8222;
    }

    .colorFontAU {
        color: #2d8222
    }

    .progress-bar {
        background-color: #2d8222 !important;
    }

    .btn-outline-primary {
        color: #2d8222; /* Colore del testo */
        border-color: #2d8222; /* Colore del bordo */
    }

        .btn-outline-primary:hover,
        .btn-outline-primary:focus {
            background-color: #2d8222; /* Colore di sfondo al passaggio */
            color: #fff; /* Testo bianco */
        }


    td.not-collapse, th.not-collapse {
        white-space: nowrap;
    }



    .bg-white {
        padding-top: 20px !important;
        background-color: #f8f8f8 !important;
    }

    body {
        background-color: #f8f8f8 !important;
    }

    .form-container {
        /* max-width: 800px;*/
        margin: 3rem auto;
        padding: 1rem;
        padding-top: 3rem;
        padding-bottom: 3rem;
        background: white;
        border-radius: 16px !important; /*var(--border-radius);*/
        box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    }

    .validation-message {
        color: red;
        /* font-weight: bold; */
    }

    .listDetail div {
        padding: 5px;
        border-bottom: 1px solid #999;
        margin-bottom: 10px;
    }

    .titleDetail {
        background-color: #eef5ef;
    }


    /*.box600 {
    max-width: 600px;
    background-color: #fff !important;
    padding-top: 50px;
    border-radius: 16px;
    margin-bottom:30px
}*/

    .form-signin {
        height: auto;
        padding: 20px;
    }

    .mobileNavBar {
        display: inline;
        border: 0px;
    }

        .mobileNavBar a {
            color: #fff;
            text-decoration: none;
            padding: 6px;
        }

            .mobileNavBar a:hover {
                border-bottom: 2px solid #fff;
                margin-bottom: 2px;
            }

    button.btn.btn-light {
        background-color: #dedede;
        border: 1px solid #ccc;
    }

    h4.h4detail {
        border-bottom: 3px solid #dedede;
        color: #868686cc;
    }

    .nav {
        --bs-nav-link-color: #42A260 !important;
    }

    .dropdown-menu a:hover {
        color: #000;
        background-color: #dedede;
    }


    .navbar-light .navbar-nav .nav-link:hover {
        color: #fff !important;
    }


    .colorWhite {
        color: #fff !important
    }

        .colorWhite a {
            color: #fff !important
        }

            .colorWhite a:hover {
                color: #fff !important;
            }


    .visually-hidden.focusable {
        position: absolute;
        left: -9999px;
        top: auto;
        width: 1px;
        height: 1px;
        overflow: hidden;
    }

        .visually-hidden.focusable:focus {
            position: static;
            width: auto;
            height: auto;
            left: auto;
            padding: 8px;
            background: #42A260;
            color: #fff;
            z-index: 1000;
        }


    .flagLanguageMenu img {
        height: 15px;
        width: 20px;
        border: 1px solid #fff;
    }

    .flagLanguageMenu .active {
        /* background-color:#fff; */
    }

    @media (prefers-reduced-motion: reduce) {
        .wow {
            animation: none !important;
        }
    }

    a.btn.btn-outline-light.btn-sm {
        background-color: #fff;
        border: 1px solid #444;
        margin-right: 10px;
        font-size: 12px;
        color: #444
    }

        a.btn.btn-outline-light.btn-sm:hover {
            background-color: #2d8222 !important;
            border: 1px solid #fff;
            color: #fff !important;
        }

    /* Focus visibile per tutti gli elementi interattivi */
    a:focus, button:focus, .btn:focus, .nav-link:focus, .dropdown-toggle:focus {
        outline: 2px solid #42A260 !important;
        outline-offset: 2px !important;
        box-shadow: 0 0 0 3px rgba(0, 120, 61, 0.3) !important;
    }

    /* Miglioramento contrasto per il verde aziendale */
    .colorFontAU, .flagLanguageMenu a {
        color: #42A260 !important; /* Verde più scuro per miglior contrasto */
    }

    /* Skip link visibile al focus */
    .visually-hidden.focusable:focus {
        position: static !important;
        width: auto !important;
        height: auto !important;
        padding: 8px 16px !important;
        margin: 0 !important;
        overflow: visible !important;
        clip: auto !important;
        white-space: nowrap !important;
        background: #42A260 !important;
        color: white !important;
        text-decoration: none !important;
        z-index: 9999 !important;
    }

    /* Stato hover e focus per i dropdown */
    .dropdown-toggle:hover, .dropdown-toggle:focus {
        background-color: rgba(255,255,255,0.1) !important;
    }


    table.dataTable > tbody > tr.child span.dtr-title {
        max-width: 30% !important;
    }

    /* 1) Mobile-first + reset elenco */
    .child .dtr-details {
        margin: 0;
        padding: 0;
        list-style: none;
        width: 100%;
    }

        /* 2) Ogni riga (li) sottolineata al 100% dentro la td */
        .child .dtr-details > li {
            display: flex;
            align-items: center;
            width: 100%;
            padding: .5rem 0;
            border-bottom: 1px solid var(--bs-border-color, #dee2e6);
        }

            .child .dtr-details > li:last-child {
                border-bottom: 0;
            }

    /* 3) Distanza fissa tra titolo e dato uguale per tutte le righe */
    :root {
        /* Larghezza colonna "titolo": adattiva su mobile, costante su schermi medi+ */
        --dtr-title-width: clamp(8rem, 45vw, 14rem);
        --dtr-gap: .75rem;
    }

    .child .dtr-details .dtr-title {
        flex: 0 0 var(--dtr-title-width); /* colonna sinistra a larghezza fissa */
        margin-right: var(--dtr-gap); /* gap costante tra titolo e dato */
        font-weight: 600;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis; /* evita che il titolo rompa il layout su mobile */
    }

    .child .dtr-details .dtr-data {
        flex: 1 1 auto; /* colonna destra si adatta */
        display: inline-flex;
        /*justify-content: flex-end;  allinea i bottoni a destra */
        gap: .5rem;
    }

    /* Facoltativo: su schermi ≥576px rendi la colonna titolo più stabile */
    @media (min-width: 576px) {
        :root {
            --dtr-title-width: 16rem;
        }
    }

    a.position-relative.text-body.text-uppercase.small.pe-3:hover {
        text-decoration: none;
    }

    .detailView {
       /* margin-bottom: 60px;*/
    }

        .detailView .row {
            --bs-gutter-x: 10px; /* distanza tra colonne */
            /*  border-bottom: 1px dotted #ccc; */
            margin-bottom: 1rem;
            padding-bottom: 0.5rem;
        }

        .detailView .label-gray {
            font-weight: bold;
            color: #6c757d; /* grigio Bootstrap */
            display: block;
            margin-bottom: 0.25rem;
        }

        .detailView .value {
            display: block;
        }

   









       

        

       

    .custom-tabs {
        background-color: #f8f9fa;
        border-radius: 15px;
        overflow: hidden;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        padding: 20px;
        min-height: 300px;
    }

    .custom-column {
        border-bottom: 1px dotted #cccccc;
        padding: 3px;
    }

    .custom-tabs .tab-content {
        padding: 30px;
    }

    div#myTabContent {
        background-color: #fff;
        border: 1px solid #dedede;
        border-top: 0px;
    }

    @media (min-width: 576px) {
        .container, .container-sm {
            max-width: auto;
            min-width:96% !important;
        }
    }

    .colorBlue {
        color: #015360 !important
    }

    .breadcrumb-item {
        font-weight: bold;
        color: #015360;
    }

    /*  .backgoundPage {
        background-color: #f8f8f8 !important;
    }*/


    .commentPage {
        display: none
    }

    .table-striped {
    }

        /*.table-striped th {
            background-color: #015360;
            color:#fff;

        }*/

        .table-striped tbody tr:nth-of-type(odd) td {
            background-color: #edf5ed; /* colore righe dispari */
        }

        .table-striped tbody tr:nth-of-type(even) td {
            background-color: #ffffff; /* colore righe pari */
        }

    /*.table-striped tbody tr:hover td {
            background-color: #e6f2e6;*/ /* verde chiaro quando hoveri la riga */
    /*}*/
    .spinner-border {
        margin-bottom: 50px
    }

    table.dataTable > tbody > tr.child ul.dtr-details {
        display: table !important;
    }

    #documentationsTable .btn {
        padding: 0px 8px !important;
    }

    ul.dtr-details {
        width: 100%;
        text-align: left;
    }

    .AppTitle {
        font-size: 30px;
        letter-spacing: -1px;
        margin-left: 10px;
    }

    .text-primary {
        color: #2d8222 !important
    }

    .alert hr {
        border-top: 3px solid #fff;
    }

    /*.dt-button,
.dt-button.buttons-excel {
    all: unset;*/ /* reset stile */
    /*}*/

    button.navbar-toggler.ms-auto {
        background-color: #fff;
    }

    .mobile .nav-item:hover > .nav-link {
        background-color: #ccc;
    }

    .mobile a.nav-link:hover {
        background-color: #dedede;
    }

    .mobile a.nav-link {
        border-bottom: 1px dotted;
    }

.btn-download {
    height: 30px !important;
}

.btn.disabled, .btn:disabled, fieldset:disabled .btn {
    background-color: #19619D !important;
    border-color: #19619D !important;
}

.mw-100{
    width:100px !important
}

.msgTable {
    color: #42a260;
    font-weight: bold;
    background-color: #42a26017;
}

/*.btn-doc {
    min-width: 120px;*/ /* larghezza minima uguale per tutti */
    /*height: 32px;*/ /* stessa altezza */
    /*display: inline-flex;*/ /* allinea icona + testo */
    /*align-items: center;
    justify-content: center;
    white-space: nowrap;*/ /* evita a capo */
    /*padding: 0 10px;*/ /* padding coerente */
    /*font-size: 0.85rem;*/ /* testo uniforme */
    /*line-height: 1.2;*/ /* migliora allineamento verticale */
/*}*/

.btn-doc {
    min-width: 120px; /* larghezza minima uguale per tutti */
    height: 32px; /* stessa altezza */
    display: inline-flex; /* allinea icona + testo */
    align-items: center;
    justify-content: center;
    white-space: nowrap; /* evita a capo */
    padding: 0 10px; /* padding coerente */
    font-size: 0.85rem; /* testo uniforme */
    line-height: 1.2; /* migliora allineamento verticale */
}


input[readonly] {
    background-color: #f0f0f0; /* colore grigio chiaro */
    color: #333; /* colore del testo (opzionale) */
    cursor: not-allowed; /* aspetto del cursore */
}


/* Scrollbar gigante – Chrome/Edge/Safari */
/* Per browser WebKit (Chrome, Safari, Edge) */
::-webkit-scrollbar {
  width: 10px; /* Larghezza della scrollbar verticale */
  height: 15px;
}

::-webkit-scrollbar-track {
    background: #e8f5e9; /* Colore dello sfondo */
}

::-webkit-scrollbar-thumb {
  background: #888; /* Colore della barra */
  border-radius: 10px; /* Arrotondamento opzionale */
}

::-webkit-scrollbar-thumb:hover {
  background: #555; /* Colore al passaggio del mouse */
}

/* ============================
   FONT MOLTO RIDOTTO SU MOBILE
   ============================ */
/*@media (max-width: 768px) {
    html, body {
        font-size: 0.7rem !important;*/ /* 👈 Ridotto di molto */
        /*line-height: 1.2 !important;
    }

    h1 {
        font-size: 1.1rem !important;
    }

    h2 {
        font-size: 1rem !important;
    }

    h3 {
        font-size: 0.95rem !important;
    }

    h4, h5, h6 {
        font-size: 0.85rem !important;
    }

    p, span, a, li, td, th, label, input, select {
        font-size: 0.75rem !important;
    }

    button, .btn {
        font-size: 0.7rem !important;
        padding: 0.25rem 0.5rem !important;
    }

    table {
        font-size: 0.7rem !important;
    }

    .container, .container-fluid {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }
}*/

