.calendar-view-container {
    margin: var(--n-margin-lg) var(--n-margin-md) 0 var(--n-margin-md);
}

@media screen and (min-width: 30rem) {
    .calendar-view-container {
        border       : var(--border-thin) solid var(--univ-primary);
        border-radius: var(--rounding);
        margin       : inherit;
    }
}

table.calendar-view-table {
    table-layout  : fixed;
    color         : var(--univ-primary);
    border-spacing: var(--margin-xs);
    border        : none;
}

table.calendar-view-table>thead>tr>th {
    font-size  : 0;
    font-weight: var(--font-weight-normal);
    padding-top: 0;
}

table.calendar-view-table>thead>tr>th:first-letter {
    font-size: initial;
}

table.calendar-view-table>tbody>tr>td {
    border       : 1px solid var(--univ-primary);
    border-radius: var(--rounding-sm);
}

table.calendar-view-table>tbody>tr>td.empty {
    border-color: var(--gray-light);
    color       : var(--gray-light);
}

time.calendar-day-number {
    display    : block;
    padding    : var(--margin-xs) 0;
    text-align : center;
    font-weight: var(--font-weight-bold);
}

@media screen and (min-width: 30rem) {
    time.calendar-day-number {
        padding: var(--margin-lg) 0;
    }
}

a.calendar-day-link,
a.calendar-day-link:visited {
    text-decoration: none;
    color          : var(--univ-primary);
}

.calendar-view-pager {
    display        : flex;
    justify-content: space-between;
    padding        : 0;
    margin         : 0;
    font-family    : var(--font-title);
    font-size      : var(--font-size-lg);
    color          : var(--univ-primary);
}

.calendar-view-pager .pager__item {
    padding: 0 var(--margin-xs);
}

.calendar-view-pager .pager__previous,
.calendar-view-pager .pager__next {
    flex-grow: 2;
}

.calendar-view-pager .pager__item>a {
    display    : grid;
    height     : 100%;
    align-items: center;
}

.calendar-view-pager .pager__previous>a {
    justify-items: start;
}

.calendar-view-pager .pager__next>a {
    justify-items: end;
}

.calendar-view-pager .pager__icon {
    width : var(--icon-size);
    height: var(--icon-size);
    fill  : var(--univ-secondary);
}

/* Override base table styles */
table.calendar-view-table td,
table.calendar-view-table tr:first-child>td {
    padding: 0;
}

table.calendar-view-table th::after {
    display: none;
}