﻿body {
    background: #f6f7fb;
}

.loginbox {
    background: #ffffff;
    padding: 30px;
    border-radius: 8px; /* ← allineato al layout interno */
    border: 1px solid #e6e9ef;
    max-width: 420px;
    width: 100%;
    margin: 15px;
    animation: fadeUp 0.4s ease;
    box-shadow: 0 8px 20px rgba(0,0,0,0.05), 0 -1px 0 #445ede inset;
    z-index: 10;
}

footer {
    position: relative;
    z-index: 10;
}


.btn-primary {
    background-color: #4c5bd4;
    border-color: #4c5bd4;
    font-weight: 600;
    box-shadow: 0 2px 6px rgba(76, 91, 212, 0.15);
    border-radius: 10px;
    transition: all 0.15s ease;
}

    .btn-primary:hover {
        background-color: #4c5bd4;
        border-color: #4c5bd4;
        transform: translateY(-1px);
        box-shadow: 0 8px 16px rgba(76, 91, 212, 0.25);
    }

    .btn-primary:active {
        background-color: #4c5bd4;
        transform: translateY(0);
        box-shadow: 0 2px 6px rgba(76, 91, 212, 0.15);
    }

/* INPUT */
.form-control {
    border: 1px solid #c6ccd3;
    background-color: #fff;
    border-radius: 10px;
    transition: all 0.2s ease;
}

    .form-control:focus {
        border-color: #4c6fff;
        box-shadow: 0 0 0 3px rgba(76, 111, 255, 0.15);
    }

/* LABEL */
label {
    font-size: 0.8rem;
    color: #6c757d;
    margin-bottom: 4px;
}

/* SMALL TEXT */
.text-muted.small {
    font-size: 0.8rem;
    opacity: 0.8;
}

/* LINK TOOLBOX */
a[data-toggle="collapse"] {
    transition: color 0.2s;
}

    a[data-toggle="collapse"]:hover {
        color: #4c6fff;
    }

/* BUTTON GENERICO */
.OPbutton {
    border-radius: 10px;
    transition: all 0.15s ease;
}

    .OPbutton:hover {
        transform: translateY(-1px);
        box-shadow: 0 6px 14px rgba(0,0,0,0.08);
    }

    .OPbutton:active {
        transform: translateY(0);
        box-shadow: none;
    }

/* DIVIDER */
hr {
    opacity: 0.1;
}

/* ANIMAZIONE */
@keyframes fadeUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.link-operativi,
.link-operativi:hover,
.link-operativi:focus {
    text-decoration: none !important;
    color: #6c757d;
}

    .link-operativi:hover {
        color: #495057;
    }

#toggleOperativi i {
    display: inline-block;
    transition: transform 0.3s ease;
}

    #toggleOperativi i.rotated {
        transform: rotate(180deg);
    }

/* SFONDO PAGINA */

.bg-slider {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
    background-color: #f8f9fa;
    transform: translateZ(0);
}

.bg-slider-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 2.5s ease-in-out;
    /* niente will-change: è ciò che causava lo stutter */
}

    .bg-slider-img.active {
        opacity: 1;
    }

    /* Ken Burns: una direzione diversa per ogni immagine.
   L'animazione gira SEMPRE, anche quando l'immagine è invisibile. */
    .bg-slider-img:nth-child(1) {
        animation: kb-a 30s ease-in-out infinite alternate;
    }

    .bg-slider-img:nth-child(2) {
        animation: kb-b 30s ease-in-out infinite alternate;
    }

    .bg-slider-img:nth-child(3) {
        animation: kb-c 30s ease-in-out infinite alternate;
    }

    .bg-slider-img:nth-child(4) {
        animation: kb-d 30s ease-in-out infinite alternate;
    }

@keyframes kb-a {
    from {
        transform: scale(1);
    }

    to {
        transform: scale(1.08);
    }
}

@keyframes kb-b {
    from {
        transform: scale(1.1);
    }

    to {
        transform: scale(1);
    }
}

@keyframes kb-c {
    from {
        transform: scale(1.06) translateX(1.5%);
    }

    to {
        transform: scale(1) translateX(-1.5%);
    }
}

@keyframes kb-d {
    from {
        transform: scale(1);
    }

    to {
        transform: scale(1.06) translateX(-1.5%);
    }
}

.bg-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
    background: rgba(255, 255, 255, 0.75);
}