/*--------------------------------------------------------------
# Alert
--------------------------------------------------------------*/
.alert {
    padding-left: 4em;
    border-radius: 0;
    background-color: #FFF;
    background-position: 20px 12px;
    background-repeat: no-repeat;
    background-size: 32px 32px;
}

.alert.alert-danger {
    border-left: 8px solid #cc334d;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='hsl(350deg, 60%, 50%)' d='M11.5 14.2V5.7h1.2v8.5zm-.1 4.1h1.2v-1.8h-1.2zM22 7.9v8.3L16.1 22H7.9L2 16.2V7.9L7.9 2h8.2zm-1 .4L15.7 3H8.3L3 8.3v7.5L8.3 21h7.4l5.3-5.2z'%3E%3C/path%3E%3C/svg%3E");
}

.alert.alert-success {
    border-left: 8px solid #008055;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='hsl(160deg, 100%, 25%)' d='M17.1 7.9l.7.7-7.8 7.6-4.7-4.6.7-.7 4 3.9zM22 12A10 10 0 1 1 12 2a10 10 0 0 1 10 10zm-1 0a9 9 0 1 0-9 9 9 9 0 0 0 9-9z'%3E%3C/path%3E%3C/svg%3E");
}

.alert ul>li {
    border: none;
}

.alert ul>li:hover {
    background: none;
}

.alert ul>li:hover::before{
    background: none;
}

/*--------------------------------------------------------------
# Lista dei messaggi alert
--------------------------------------------------------------*/
.alert.box-messages {
    position: relative;
}

/* Button per chiudere alert-error nei form */
.alert.box-messages .btn-close-alert {
    color: #cc334d;
    border: none;
    background: none;
    padding: 0;
    position: absolute;
    top: 0;
    right: 0;
    margin: .5rem;
    cursor: pointer;
}

.form-control.is-invalid,
.was-validated .form-control:invalid {
    border-color: var(--bs-form-invalid-border-color) !important;
}

/* Stile per le liste di ricerca */
ul.search-list {
    width: 100%;
    position: absolute;
    background: #FFF;
    border-radius: 8px;
    margin-top: 6px;
    padding: 1rem;
    box-shadow: 0 0 5px 1px rgba(0, 0, 0, .25);
    max-height: 350px;
    overflow-y: scroll;
}

ul.search-list::-webkit-scrollbar {
    width: 0px;
}

ul.search-list li {
    border: none;
    padding-top: 0.5rem;
    padding-bottom: .5rem;
}

ul.search-list li:hover::before {
    top: 0;
    height: 100%;
    left: -.5rem;
}

/* /Stile per le liste di ricerca */


.clickable-card {
    cursor: pointer;
    transition: transform 0.3s, box-shadow 0.3s;
}
.clickable-card:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transform: translateY(-4px);
}
/* Bottone "Classe": inizialmente nascosto */
.classe-button {
    opacity: 0;
    transition: opacity 0.3s;
    margin-top: 10px;
}
/* Mostra il bottone al passaggio del mouse sul container */
.clickable-card:hover .classe-button {
    opacity: 1;
}