:root {
    --ordinaire: #22aa38;
    --violet: #9341bd;
    --rouge: #e35a5a;
    --or: #e3cc5a;
}

#events-loading {
    border-radius: 50%;
    border: 2px solid var(--brown);
    border-top-color: transparent;
    width: 20px;
    height: 20px;
    animation: rotation 1s linear infinite;
}

@keyframes rotation {
    to {
        transform: rotate(360deg);
    }
}

#agenda-option-part {
    display: flex;
    justify-content: space-between;
    align-items: center;
    row-gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 40px;
    a {
        white-space: nowrap;
    }
}

#agenda-top-buttons {
    display: flex;
    justify-content: flex-end;
    column-gap: 20px;
    row-gap: 10px;
    flex-wrap: wrap;
    & > div {
        border-radius: 8px;
        border: 1px solid var(--brown);
        padding: 5px 10px;
        color: var(--brown);
        cursor: pointer;
        &:hover, &.selected {
            color: #fff;
            background: var(--brown);
        }
        svg {
            width: 24px;
            height: 24px;
        }
    }
}

#agenda-date-selector, #agenda-search {
    display: flex;
    column-gap: 10px;
    align-items: center;
    form {
        display: flex;
        column-gap: 8px;
        align-items: center;
    }
    input {
        width: 200px;
        height: 28px;
    }
    .datepicker {
        color: var(--brown);
    }
}

#agenda {
    display: flex;
    flex-direction: column;
}

.agenda-day {
    display: flex;
    flex-direction: column;
    border-radius: 8px;
    margin-bottom: 20px;
    box-shadow: 4px 4px 4px lightgray;
}

.agenda-title-part {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-radius: 8px 8px 0 0;
    padding: 10px 20px;
    font-weight: bold;
    color: #fff;
    &:hover {
        svg {
            color: #fff;
        }
    }
    svg {
        height: 28px;
        color: transparent;
        cursor: pointer;
    }
}

.agenda-day-title {
    display: flex;
    column-gap: 10px;
    align-items: center;
}

.agenda-events-part {
    display: flex;
    flex-direction: column;
    border-radius: 0 0 8px 8px;
    border: 2px solid;
    border-top: none;
}

.agenda-event {
    display: flex;
    align-items: center;
    border-bottom: 1px solid;
    > div {
        padding: 20px;
    }
    a {
        font-weight: bold;
        text-decoration: underline;
        color: var(--brown);
    }
    &:hover {
        color: var(--brown);
        svg {
            color: var(--brown);
        }
    }
    &:last-child {
        border-bottom: none;
    }
}

[data-liturgic="nothing"] {
    .agenda-title-part {
        border: 2px solid var(--brown);
        color: #000;
        &:hover svg {
            color: #000;
        }
    }
    .agenda-events-part, .agenda-event {
        border-color: var(--brown);
    }
    .agenda-event {
        border-color: var(--brown);
    }
}

[data-liturgic="green"] {
    .agenda-title-part {
        background: var(--ordinaire);
    }
    .agenda-events-part, .agenda-event {
        border-color: var(--ordinaire);
    }
}

[data-liturgic="purple"] {
    .agenda-title-part {
        background: var(--violet);
    }
    .agenda-events-part, .agenda-event {
        border-color: var(--violet);
    }
}

[data-liturgic="red"] {
    .agenda-title-part {
        background: var(--rouge);
    }
    .agenda-events-part, .agenda-event {
        border-color: var(--rouge);
    }
}

[data-liturgic="white"] {
    .agenda-title-part {
        background: var(--or);
    }
    .agenda-events-part, .agenda-event {
        border-color: var(--or);
    }
}

.day-date {
    text-transform: capitalize;
}

.agenda-event-hour {
    width: 100px;
}

.agenda-event-location {
    width: 280px;
    text-align: center;
}

.agenda-event-description {
    flex: 1;
}

.agenda-event-options {
    display: flex;
    column-gap: 20px;
    padding: 0 20px;
    svg {
        height: 28px;
        color: transparent;
        cursor: pointer;
    }
}

#no-more-events {
    text-align: center;
}

#agenda-loading-part {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 20px;
}

#load-more-events {
    border-radius: 8px;
    border: 1px solid var(--brown);
    padding: 10px 20px;
    font-weight: bold;
    color: var(--brown);
    cursor: pointer;
    &:hover {
        color: #fff;
        background: var(--brown);
    }
}

#print-modal {
    display: flex;
    flex-direction: column;
    row-gap: 20px;
    align-items: center;
    padding: 20px;
    max-width: 1000px;
    color: #000;
    h2 {
        margin-bottom: 10px;
        font-size: 20px;
        font-weight: bold;
        color: var(--brown);
    }
    p.info {
        font-style: italic;
    }
    h3 {
        font-weight: bold;
        color: var(--brown);
    }
}

#agenda-print-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    font-size: 16px;
}

#agenda-print-styles-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 10px;
    padding: 10px;
    width: 100%;
}

#agenda-print-styles {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 10px;
    row-gap: 10px;
    div {
        border-radius: 8px;
        border: 2px solid var(--brown);
        padding: 10px 20px;
        font-weight: bold;
        color: var(--brown);
        cursor: pointer;
        &:hover, &.selected {
            color: #fff;
            background: var(--brown);
        }
    }
}

#events-remove {
    display: flex;
    flex-direction: column;
    row-gap: 10px;
    align-items: center;
}

#events-remove-submit {
    display: flex;
    column-gap: 20px;
}

#agenda-print-button {
    margin: 20px 0;
}

#agenda-print-preview {
    display: flex;
    flex-direction: column;
    row-gap: 20px;
    width: 100%;
    section {
        display: flex;
        flex-direction: column;
        row-gap: 10px;
        align-items: center;
    }
    .agenda-print-page {
        display: flex;
        flex-direction: column;
        border: 2px solid var(--brown);
        padding: 40px;
        width: 782px;
        aspect-ratio: 21 / 29.7;
        background: #fff;
    }
    .agenda-event {
        position: relative;
        input[type="checkbox"] {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            right: calc(100% + 10px);
        }
    }
}

#agenda-print-header {
    display: flex;
    flex-direction: column;
    row-gap: 20px;
}

#events-copy {
    position: absolute;
    top: 0;
    left: -9000px;
    display: flex;
    flex-direction: column;
    padding: 40px;
    width: 782px;
}

@media (max-width: 780px) {
    #agenda-option-part {
        flex-direction: column;
        row-gap: 20px;
        .expand-button {
            align-self: start;
            width: 100%;
        }
        .expand-button-content {
            max-width: 100%;
            a {
                white-space: unset;
            }
        }
    }
    .agenda-title-part svg, .agenda-event svg {
        display: none;
    }
    .agenda-event-location {
        width: 200px;
    }
}

@media (max-width: 578px) {
    .agenda-event-location {
        width: 150px;
    }
}

@media (max-width: 492px) {
    .agenda-title-part {
        padding: 10px;
    }
    .agenda-event > div {
        padding: 10px;
    }
    .agenda-event-hour {
        width: 80px;
    }
    .agenda-event-location {
        width: 100px;
    }
}

@media (max-width: 396px) {
    .agenda-title-part {
        padding: 10px 5px;
    }
    .agenda-event > div {
        padding: 5px;
    }
    .agenda-event-hour {
        width: 60px;
    }
}
