/**
 * Fichier  : /features/timetable/assets/css/grid.css
 * Fonction : style du tableau des horaires
 */


/* ==================================================
   GRID
================================================== */

.timetable .grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
}


/* ==================================================
   ROW
================================================== */

.timetable .grid .row {
    display: grid;
    grid-template-columns: 10em 1fr 1fr;
    align-items: center;
    gap: 12px;
}


/* ==================================================
   CELLS
================================================== */

.timetable .grid .row div {
    height: var(--button-height);
}

.timetable .grid .row div {
    display: flex;
    align-items: center;
    justify-content: center;
}

.timetable .grid .row div {
    background-color: #f9fafb;
    border: 1px solid #edf0f2;
    border-radius: var(--block-borderRadius);
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
    backdrop-filter: blur(12px);
}

.timetable .grid .row div {
    font-family: 'content-font';
    font-size: 90%;
    color: #111;
}


/* ==================================================
   HEADER
================================================== */

.timetable .grid .row.head div {
    height: 2em;
}

.timetable .grid .row.head div {
    font-family: 'content-font';
    font-size: 12px;
    color: #111;
}

.timetable .grid .row.head .empty {
    opacity: 0;
}


/*** COLORS ***/

.timetable .grid .row.head .am {
    background: var(--gradient__4);
}

.timetable .grid .row.head .pm {
    background: var(--gradient__2);
}

.timetable .grid .row.head div {
    color: #fff;
}


/* ==================================================
   JOUR
================================================== */

.timetable .grid .row .day {
    background: var(--gradient__2);
}

.timetable .grid .row .day {
    color: #fff;
}


/* ==================================================
   FERMÉ
================================================== */

.timetable .grid .row .closed {
    background-color: #fee2e2;
    border-radius: 50px;
    padding: 5px 15px;
}

.timetable .grid .row .closed {
    font-family: 'content-font';
    font-size: 80%;
    font-weight: 400;
    color: #b91c1c;
}


/* ==================================================
   ANIMATIONS
================================================== */

/*** SLIDE IN LEFT ***/

@keyframes slideInLeft {

    from {
        transform: translateX(100%);
        opacity: 0;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }

}

.timetable .slide-in-left {
    animation: slideInLeft 0.5s ease forwards;
}


/*** SLIDE IN RIGHT ***/

@keyframes slideInRight {

    from {
        transform: translateX(-100%);
        opacity: 0;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }

}

.timetable .slide-in-right {
    animation: slideInRight 0.5s ease forwards;
}


/* ==================================================
   RESPONSIVE
================================================== */

@media screen and (max-width: 1024px) {

    .timetable .grid {
        display: grid;
        grid-template-columns: 50% 50%;
        gap: 10px;
    }

    .timetable .grid .row.head {
        display: none;
    }

    .timetable .grid .row {
        display: flex;
        flex-direction: column;
        align-items: normal;
        gap: 10px;
    }

}