/*
Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
Click nbfs://nbhost/SystemFileSystem/Templates/JSP_Servlet/CascadeStyleSheet.css to edit this template
*/
/* 
    Created on : 15 lug 2026, 12:32:38
    Author     : Michele
*/
.ui-menuitem-link.menu-active {
    position: relative;
}

.ui-menuitem-link.menu-active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background-color: #006680;
}
/* =========================================================
   EVENTI - PAGINA PRINCIPALE
   ========================================================= */

.events-page {
    width: 100%;
}


/* =========================================================
   FILTER BAR
   ========================================================= */

.filterbar {
    flex-shrink: 0;

    margin: .25rem 0 .75rem;

    padding: .65rem .9rem;

    background: #FFFFFF;

    border: 1px solid #DCE5E8;

    border-radius: 10px;

    box-shadow: 0 2px 8px rgba(0,0,0,.05);
}


.filterbar-content {
    display: flex;

    align-items: center;

    gap: 1.25rem;

    width: 100%;
}


.filter-item {
    display: flex;

    align-items: center;

    gap: .7rem;
}


.filter-label {
    color: #263238;

    font-size: .88rem;

    font-weight: 500;

    white-space: nowrap;
}


.filter-separator {
    width: 1px;

    height: 28px;

    background: #DCE5E8;
}


.event-filter-select {
    min-width: 20rem;
}


/* =========================================================
   FACULTY HEADER
   ========================================================= */

.faculty-header {

    display: flex;

    align-items: center;

    gap: .5rem;

    margin: .75rem .25rem .35rem;

    padding: .6rem .85rem;

    background: #EEF5F7;

    border-left: 4px solid #00667F;

    border-radius: 0 7px 7px 0;

    color: #263238;
}


.faculty-prefix {

    color: #607078;

    font-size: .85rem;

    font-weight: 500;
}


.faculty-name {

    color: #00667F;

    font-size: .95rem;

    font-weight: 600;
}


/* =========================================================
   DATA VIEW
   ========================================================= */

.dteventi {

    min-height: 0;

    display: flex;

    flex-direction: column;

    margin-top: .25rem;
}


.dteventi .ui-dataview-content {

    flex: 1;

    min-height: 0;

    overflow: auto;

    background: transparent !important;
}


.dteventi .ui-dataview-header {

    display: none;
}


.dteventi .ui-dataview-row {

    margin-left: .1rem;

    margin-right: .1rem;
}


/* =========================================================
   EVENT CARD
   ========================================================= */

.event-card {

    height: calc(100% - .75rem);

    margin: .375rem;

    background: #FFFFFF;

    border: 1px solid #DCE5E8;

    border-radius: 10px;

    overflow: hidden;

    box-shadow:
        0 2px 8px rgba(0,0,0,.06);

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}


.event-card-inner {

    height: 100%;

    display: flex;

    flex-direction: column;
}


/* =========================================================
   CARD - FACULTY
   ========================================================= */

.event-faculty {

    min-height: 42px;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: .45rem .7rem;

    text-align: center;

    color: #00667F;

    background: #EEF5F7;

    border-bottom: 1px solid #DCE5E8;

    font-size: .78rem;

    font-weight: 600;

    line-height: 1.2;
}


/* =========================================================
   IMAGE
   ========================================================= */

.event-image-container {

    padding: .75rem .75rem 0;
}


.img-wrapper {

    position: relative;

    overflow: hidden;

    border: 1px solid #DCE5E8;

    border-radius: 8px;

    background: #F5F7F8;

    box-shadow: none;

    transition:
        box-shadow .18s ease,
        transform .18s ease;
}


.img-wrapper a {

    display: block;
}


img.locandina {

    width: 100%;

    height: 196px;

    display: block;

    object-fit: cover;
}


/* =========================================================
   ONLINE BANNER
   ========================================================= */

.img-banner {

    position: absolute;

    top: 0;

    left: 0;

    right: 0;

    z-index: 2;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: .4rem;

    padding: .4rem .5rem;

    background: rgba(0,102,127,.92);

    color: #FFFFFF;

    font-size: .76rem;

    font-weight: 600;

    letter-spacing: .01em;
}


/* =========================================================
   DETAILS
   ========================================================= */

.event-details {

    flex: 1;

    display: flex;

    flex-direction: column;

    padding: .75rem .85rem 0;
}


/* CODICE */

.event-code {

    display: flex;

    align-items: center;

    gap: .25rem;

    color: #607078;

    font-size: .72rem;

    line-height: 1.2;
}


.title-codice {

    color: #00667F;

    font-style: italic;

    font-weight: 500;
}


/* NOME */

.event-name {

    min-height: 3.4rem;

    display: flex;

    align-items: center;

    justify-content: center;

    padding: .45rem 0;

    text-align: center;
}


.title-nome {

    color: #165A70;

    font-size: 1rem;

    font-weight: 600;

    line-height: 1.25;
}


/* DATA */

.event-date {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: .3rem;

    padding: .2rem 0;

    text-align: center;

    font-size: .82rem;
}


.title-data {

    color: #00667F;

    font-weight: 600;
}


.date-separator {

    color: #607078;
}


/* DIVIDER */

.event-divider {

    width: 100%;

    height: 1px;

    margin: .55rem 0;

    background: #E5ECEE;
}


/* DESCRIZIONE */

.event-description {

    min-height: 3.2rem;

    display: flex;

    align-items: center;

    justify-content: center;

    text-align: center;

    padding-bottom: .25rem;
}


.title-titolo {

    color: #54636A;

    font-size: .76rem;

    font-weight: 500;

    line-height: 1.35;
}


/* =========================================================
   ACTIONS
   ========================================================= */

.event-actions {

    padding: .65rem .85rem .8rem;

    text-align: center;
}


.event-action-button {

    width: 100% !important;

    max-width: 12rem;

    height: 36px !important;

    border: 0 !important;

    border-radius: 7px !important;

    background: #00667F !important;

    color: #FFFFFF !important;

    box-shadow: none !important;

    font-size: .8rem !important;

    font-weight: 500 !important;

    transition:
        background-color .18s ease,
        transform .18s ease;
}


.event-action-button:hover {

    background: #004D5F !important;

    transform: translateY(-1px);
}


.event-action-button:disabled {

    opacity: .55;

    transform: none;
}


.event-action-edit {

    background: #00667F !important;
}


/* =========================================================
   STATUS
   ========================================================= */

.title-stato {

    display: block;

    margin: .55rem auto 0;

    padding: .3rem .6rem;

    border-radius: 5px;

    font-size: .72rem;

    font-weight: 600;

    line-height: 1.2;
}


.title-stato.status-out {

    color: #B3261E;

    background: #FDECEC;
}


.title-stato.status-in {

    color: #256029;

    background: #EAF5EC;
}


.title-stato.status-next {

    color: #856F00;

    background: #FFF8D9;
}


/* =========================================================
   HOVER
   ========================================================= */

@media (hover:hover) {

    .event-card:hover {

        transform: translateY(-2px);

        border-color: rgba(0,102,127,.35);

        box-shadow:
            0 8px 20px rgba(0,0,0,.10);
    }


    .event-card:hover .img-wrapper {

        box-shadow:
            0 3px 10px rgba(0,0,0,.08);
    }
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 768px) {

    .filterbar {

        margin-top: .25rem;

        padding: .75rem;
    }


    .filterbar-content {

        flex-direction: column;

        align-items: stretch;

        gap: .75rem;
    }


    .filter-item {

        justify-content: space-between;

        width: 100%;
    }


    .filter-separator {

        width: 100%;

        height: 1px;
    }


    .filter-facolta {

        flex-direction: column;

        align-items: stretch;
    }


    .event-filter-select {

        width: 100% !important;

        min-width: 0;
    }


    .faculty-header {

        margin-left: .1rem;

        margin-right: .1rem;
    }


    img.locandina {

        height: auto;

        max-height: 240px;
    }
}


@media (max-width: 480px) {

    .event-card {

        margin-left: .2rem;

        margin-right: .2rem;
    }


    .event-image-container {

        padding-left: .6rem;

        padding-right: .6rem;
    }


    .event-details {

        padding-left: .7rem;

        padding-right: .7rem;
    }


    .event-actions {

        padding-left: .7rem;

        padding-right: .7rem;
    }
}

