/* For smaller, one-off styling needs that don't fit elsewhere */

.overflow-hidden {
    overflow: hidden;
}

.overflow-scroll {
    overflow: scroll;
}

.transition-all {
    transition: all 0.2s ease;
}

/* For filters on 'Explore Our Spaces' page */
body.explore-our-spaces form label.active {
    background-color: var(--foreground);
    border-color: var(--foreground);
    color: var(--background);
}

/* Clndr.js */
.clndr-table {
    width: 100%;
    table-layout: fixed;
}
.clndr-controls {
    display: flex;
    align-items: center;
    font-family: 'Aktiv Extended', sans-serif;
    text-transform: uppercase;
    font-size: var(--wp--preset--font-size--medium);
    > * {
        width: 100%;
        &:nth-child(1) {
            svg {
                height: 13px;
                width: fit-content;
                box-sizing: content-box;
                padding: 5px;
                border: 1px solid;
                border-radius: 200px;
            }
        }
        &:nth-child(2) {
            text-align: center;
            white-space: nowrap
        }
        &:nth-child(3) {
            text-align: right;
            svg {
                height: 13px;
                width: fit-content;
                box-sizing: content-box;
                padding: 5px;
                border: 1px solid;
                border-radius: 200px;
            }
        }
    }
}
.clndr td.day.last-month,
.clndr td.day.next-month {
    color: var(--foreground-tint);
}
/* Padding on cells */
.clndr td {
    padding: var(--one-point-five-spacer);
    font-size: var(--wp--preset--font-size--large);
}
@media screen and (max-width: 781px) {
    .clndr td {
        padding: var(--zero-point-five-spacer);
        font-size: var(--wp--preset--font-size--medium);
    }
}
/* Style header days */
.clndr td.header-day {
    font-family: var(--wp--preset--font-family--aktiv-ext);
    font-size: inherit;
    text-transform: uppercase;
}
@media screen and (max-width: 781px) {
    .clndr td.header-day {
        font-size: var(--wp--preset--font-size--small);
    }
}
/* Center days of week and numbered days in cells */
.clndr td,
.clndr td * {
    text-align: center;
}
/* Style a day with an event */
.clndr td.day.event {
    position: relative;
}
.clndr td.day.event::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 80%;
    aspect-ratio: 1;
    border-radius: 50%;
    border: 1px solid;
    z-index: -999;
}
/* Style curret date */
/* w/o selected 'active' item */
.clndr:not(:has(td.active)) td.day.today {
    position: relative;
    color: var(--background);
}
.clndr:not(:has(td.active)) td.day.today::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 80%;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: var(--foreground);
    z-index: -999;
}
/* w selected 'active' item */
.clndr:has(td.active) td.day.today {
    position: relative;
    color: var(--background);
}
.clndr:has(td.active) td.day.today::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 80%;
    aspect-ratio: 1;
    border-radius: 50%;
    border: 1px solid;
    border-color: var(--foreground-tint);;
    background-color: var(--foreground-tint);
    z-index: -999;
}
/* Style selected date */
.clndr td.day.active {
    position: relative;
    color: var(--background) !important;
}
.clndr td.day.active::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 80%;
    aspect-ratio: 1;
    border-radius: 50%;
    border: 1px solid;
    border-color: var(--foreground) !important;
    background-color: var(--foreground) !important;
    z-index: -999;
}

.wp-block-embed.is-type-video.is-provider-youtube .wp-block-embed__wrapper iframe {
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
}

/* Class that eliminates horizontal gap spacing on smaller screens */
@media screen and (max-width: 781px) {
    .single-col-sm {
        column-gap: 0 !important;
    }
}

/* Less space before content on 'person' posts */
body.person .entry-content > :nth-child(2) {
    margin-top: var(--two-spacer) !important;
}

/* Single-page ToC styles */
#toc {
    li {
        position: relative;
        padding-left: calc(18px + var(--one-spacer));
        a::before {
            position: absolute;
            left: 0;
        }
    }
}