.omr-border { border: 3px solid #111111; }
.omr-box-shadow { box-shadow: 8px 8px 0px 0px #111111; }
.omr-box-shadow-hover:hover { box-shadow: 12px 12px 0px 0px #111111; transform: translate(-4px, -4px); }
.transition-omr { transition: all 0.2s ease-in-out; }

.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

.calendar-day {
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 0.875rem;
    cursor: pointer;
    transition: all 0.15s ease-in-out;
    position: relative;
    border: 2px solid transparent;
}
.calendar-day:hover:not(.empty) { background-color: #f4f4f4; }
.calendar-day.empty { cursor: default; }
.calendar-day.has-event::after {
    content: '';
    position: absolute;
    bottom: 4px;
    left: 50%;
    transform: translateX(-50%);
    width: 6px;
    height: 6px;
    background-color: #DEFF0A;
    border-radius: 50%;
    border: 1px solid #111111;
}
.calendar-day.selected {
    background-color: #111111;
    color: #DEFF0A;
}
.calendar-day.selected.has-event::after {
    background-color: #DEFF0A;
    border-color: #DEFF0A;
}
.calendar-day.today:not(.selected) {
    border-color: #111111;
}

#mobile-menu { display: none; }
#mobile-menu.open { display: block; }

.page-card {
    border: 4px solid #111111;
    box-shadow: 8px 8px 0px 0px #111111;
    transition: all 0.2s ease-in-out;
}
.page-card:hover {
    box-shadow: 12px 12px 0px 0px #111111;
    transform: translate(-4px, -4px);
}

.legal-section h3 {
    font-family: Impact, 'Arial Black', sans-serif;
    text-transform: uppercase;
    letter-spacing: -0.02em;
}
