/* Theme-aware styles: rely on Bootstrap 5.3 data-bs-theme */

.day-card.other-month { opacity: 0.5; }
.day-card .small { word-break: break-word; }
.day-card.tint-warning { background-color: #fff1c6; border-color: #dec681; }
.day-card.tint-success { background-color: #bce2d1; border-color: #9bd6bb; }

.day-card { position: relative; transition: background-color 0.25s ease, border-color 0.25s ease; }
.day-card .card-body { position: relative; z-index: 1; }

/* darken on hover */
.day-card::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: rgba(0, 0, 0, 0.08);
    opacity: 0;
    transition: opacity 0.2s ease;
    pointer-events: none;
    z-index: 0; /* sits below content */
}

/* dark mode */
[data-bs-theme="dark"] .day-card.tint-warning { background-color: #3b2e07; border-color: #a6801a; }
[data-bs-theme="dark"] .day-card.tint-success { background-color: #0f2d22; border-color: #1f6f54; }

[data-bs-theme="dark"] .day-card::after { background: rgba(255, 255, 255, 0.10); }

[data-bs-theme="dark"] body { --bs-body-bg: #141719; }

[data-bs-theme="dark"] .card {
    --bs-card-bg: #bdc3e31c;
    --bs-card-color: #e7dddd;
}

/* light mode */
[data-bs-theme="light"] .card {
    --bs-card-bg: #f4f4f4;
    --bs-card-color: #272727;
}

[data-bs-theme="light"] .border-secondary {
    border-color: rgb(211 211 211) !important;
}

.day-card:hover::after { opacity: 1; }

/* animate tint */
.availability-status { transition: color 0.25s ease; }

/* animate names and height of cards */
.availability-names {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.25s ease, opacity 0.25s ease;
}

.day-card.show-names .availability-names {
    max-height: 120px;
    opacity: 1;
}

.day-card:not(.other-month) { cursor: pointer; }

/* tag list styling this shit is confusing */
.name-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.name-tag {
    display: inline-block;
    padding: 3px 8px;
    border-radius: 6px;
    border: 1px solid rgba(0,0,0,0.15);
    background: rgba(0,0,0,0.05);
    color: inherit;
    line-height: 1.2;
    opacity: 0;
    transform: translateY(-2px);
    transition: opacity 0.22s ease, transform 0.22s ease, background-color 0.25s ease, border-color 0.25s ease;
}
.name-tag.in { opacity: 1; transform: none; }
/* tint tags based on card color */
.day-card.tint-warning .name-tag { background: #fff3cd; border-color: #ffe69c; }
.day-card.tint-success .name-tag { background: #d1e7dd; border-color: #a3cfbb; }

[data-bs-theme="dark"] .day-card.tint-warning .name-tag { background: #3b2e07; border-color: #a6801a; }
[data-bs-theme="dark"] .day-card.tint-success .name-tag { background: #0f2d22; border-color: #1f6f54; }

.save-bar { position: sticky; bottom: 12px; margin-top: 12px; }

/* mobile */
@media (max-width: 576px) {
  .modal .modal-dialog {
    width: 75vw;
    max-width: 75vw;
    margin-left: auto;
    margin-right: auto;
  }
}


