/* WHISTLEBLOWING STANDALONE */

.wb-container{
    padding-top:90px;
    min-height:auto;
}

.wb-container .page-hero{
    padding:60px 30px 40px;
}

.wb-container .section{
    padding:40px 0;
}

.wb-container .services-grid{
    margin-top:0;
}

.wb-container .contact-form-container{
    margin-top:30px !important;
}

.service-card,
.value-card,
.news-card,
.tech-card,
.content-section,
.contact-card {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    animation: none !important;
}

.services-grid{
    display:grid !important;
}

.wb-page{
    padding-top:120px;
    padding-bottom:40px;
}

.wb-page .container{
    max-width:1200px;
    margin:0 auto;
}

.wb-page .contact-form-container{
    background:#fff;
    border-radius:16px;
    padding:30px;
    box-shadow:0 8px 32px rgba(0,0,0,.08);
}

.wb-page .value-card{
    opacity:1 !important;
    transform:none !important;
    animation:none !important;
    display:block !important;
}

.wb-back-btn{
    background:#163060;
    color:#fff !important;
    border:1px solid #163060;
    display:inline-block;
    margin-top:15px;
}

.wb-back-btn:hover{
    background:#3498db;
    border-color:#3498db;
    color:#fff !important;
}

.contact-form-container a {
    color: #163060 !important;
    text-decoration: none;
    font-weight: 600;
}

.contact-form-container a:hover {
    color: #F8B61C !important;
    text-decoration: underline;
}

.wb-back-btn,
.wb-back-btn:link,
.wb-back-btn:visited{
    color:#ffffff !important;
}

.wb-back-btn:hover{
    color:#ffffff !important;
}

.badge-status{
    padding:5px 10px;
    border-radius:20px;
    font-size:12px;
    font-weight:600;
}

.wb-table{
    width:100%;
    border-collapse:collapse;
    background:#fff;
}

.wb-table th{
    background:#163060;
    color:#fff;
    padding:12px;
    text-align:left;
}

.wb-table td{
    padding:12px;
    border-bottom:1px solid #e5e7eb;
}

.wb-table tr:hover{
    background:#f8fafc;
}

.badge{
    padding:4px 10px;
    border-radius:20px;
    font-size:12px;
    font-weight:600;
}

.badge-received{
    background:#d1fae5;
    color:#065f46;
}

.badge-review{
    background:#fef3c7;
    color:#92400e;
}

.badge-integration{
    background:#fed7aa;
    color:#9a3412;
}

.badge-completed{
    background:#dbeafe;
    color:#1e40af;
}

.wb-table{
    width:100%;
    border-collapse:collapse;
    background:#fff;
}

.wb-table th{
    background:#163060;
    color:#fff;
    padding:12px;
    text-align:left;
}

.wb-table td{
    padding:12px;
    border-bottom:1px solid #e5e7eb;
    vertical-align:middle;
}

.wb-table tr:hover{
    background:#f8fafc;
}

.wb-badge{
    background:#e8f0ff;
    color:#163060;
    padding:6px 12px;
    border-radius:20px;
    font-size:12px;
    font-weight:600;
}

.wb-table .btn{
    padding:6px 14px;
    min-width:70px;
}

@media (max-width: 768px) {

    header.header nav.nav {
        flex-wrap: wrap !important;
    }

    header.header ul#nav-menu.nav-menu {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: static !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        background: none !important;
        box-shadow: none !important;
        padding: 8px 0 0 0 !important;
        margin: 0 !important;
        gap: 10px !important;
    }

    header.header ul#nav-menu .nav-link {
        font-size: 13px !important;
        padding: 4px 8px !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 768px) {

    /* 1. Menu header: forza il wrap così le voci non escono */
    header.header ul#nav-menu.nav-menu {
        justify-content: flex-start !important;
        gap: 6px 10px !important;
    }
    header.header ul#nav-menu .nav-link {
        font-size: 12px !important;
        padding: 3px 6px !important;
    }

    /* 2. Tabella dashboard: scroll orizzontale invece di taglio */
    .wb-table {
        display: block;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
        font-size: 13px;
    }
    .wb-table th,
    .wb-table td {
        padding: 8px 10px;
    }

    /* Il pulsante Apri resta compatto */
    .wb-table .btn {
        padding: 4px 10px;
        font-size: 12px;
    }
}