.calendar-grid-container {
    margin-bottom: var(--bulma-block-spacing) !important;
}

.calendar-grid {
    grid-auto-rows: 1fr;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.puzzle-calendar-cell>.box {
    height: 100%;
    width: 100%;
    position: relative;
}

.puzzle-calendar-cell .label {
    font-size: 0.9em;
}

.puzzle-calendar-cell .puzzle-name {
    font-size: 1.15em;
    font-weight: bold;
}

.puzzle-calendar-cell .puzzle-answer {
    font-size: 1.0em;
}

.puzzle-calendar-cell .block:not(:last-child) {
    margin-bottom: 0.25em;
}

/* Unavailable puzzle */

.puzzle-calendar-cell>.unavailable {
    background-color: var(--bulma-primary);
}

.puzzle-calendar-cell .unavailable-symbol {
    color: var(--bulma-text-invert);
    font-size: 2em;
    font-weight: bold;
}

/* Locked puzzle */

.puzzle-calendar-cell>.locked {
    background-color: var(--bulma-primary);
}

.puzzle-calendar-cell>.locked>.label {
    color: var(--bulma-text-invert);
}

.puzzle-calendar-cell>.locked>.puzzle-name {
    color: var(--bulma-text-invert);
}

/* Available Puzzle */

.puzzle-calendar-cell>.available {
    background-color: var(--midnight-green);
}

.puzzle-calendar-cell>.available>.label {
    color: var(--bulma-text-invert);
}

.puzzle-calendar-cell>.available>.puzzle-name>a {
    color: var(--bulma-warning);
}

.puzzle-calendar-cell>.available>.puzzle-answer {
    color: var(--bulma-text-invert);
}

/* Solved Puzzle */

.puzzle-calendar-cell>.solved {
    background-color: var(--bulma-info);
}

.puzzle-calendar-cell>.solved>.label {
    color: var(--bulma-text);
}

.puzzle-calendar-cell>.solved>.puzzle-name>a {
    color: var(--bulma-link-text);
}

.puzzle-calendar-cell>.solved>.puzzle-answer {
    color: var(--bulma-text);
}

/* Meta */
.puzzle-calendar-cell>.meta {
    border: 3px solid var(--bulma-success);
}

.meta-icon {
    font-size: 2em;
    position: absolute;
    top: 0em;
    right: .25em;
}
