.ku-cal{ border:0; border-radius:.75rem; overflow:hidden; }
.ku-cal__header{ background:var(--bs-primary); font-weight: 700; font-size: 1.25rem;}

.ku-cal__navlink{
    display:inline-flex; align-items:center; justify-content:center;
    width:28px; height:28px; border-radius:.5rem;
    color:#fff; opacity:.9; text-decoration:none;
    transition:background-color .15s ease, opacity .15s ease;
}
.ku-cal__navlink:hover{ background:rgba(255,255,255,.18); opacity:1; }
.ku-cal__navlink i{ font-weight: 700; font-size: 1.25rem; line-height:1; }

.ku-cal__week{ display:grid; grid-template-columns:repeat(7,1fr); gap:.5rem; text-align:center; }
.ku-cal__weekday{font-weight: 700;
    font-size: 1rem;color: #333333; text-transform:uppercase;}
.ku-cal__days{ display:grid; grid-template-columns:repeat(7,1fr); gap:.5rem; text-align:center; }

.ku-cal__day{
    font-weight: 600;
    font-size: 1rem;
    aspect-ratio:1/1;
    display:flex; align-items:center; justify-content:center;
    border-radius:.6rem;
    color:#61676b;
}
.ku-cal__day.has-info{ text-decoration: underline; text-underline-offset:2px; }
.ku-cal__day.is-selected{
    background:var(--ku-brand,#05a4ba);
    color:#fff;
    box-shadow:0 0 0 .15rem rgba(5,164,186,.15);
}
.ku-cal__day.is-today:not(.is-selected){
    outline:1px solid rgba(5,164,186,.35);
    outline-offset:-1px;
}
.ku-cal__empty{ aspect-ratio:1/1; visibility:hidden; }

.ku-cal__overlay{
    position:absolute; inset:0;
    display:flex; align-items:center; justify-content:center;
    background:rgba(255,255,255,.65); z-index:10;
}
