/*
 * PZKO v9.6 – jeden rezervační prostor a tři typy akcí.
 */

:root {
    --pzko-kind: #98142b;
    --pzko-kind-dark: #6f0d20;
    --pzko-kind-soft: #fff1f4;
    --public-kind: #28667d;
    --public-kind-dark: #174b60;
    --public-kind-soft: #edf7fb;
    --private-kind: #756052;
    --private-kind-dark: #58473d;
    --private-kind-soft: #f7f1eb;
}

.occupancy-badge--pzko {
    border-color: var(--pzko-kind);
    background: var(--pzko-kind-soft);
    color: var(--pzko-kind-dark);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .9);
}

.occupancy-badge--public {
    border-color: #9dc4d2;
    background: var(--public-kind-soft);
    color: var(--public-kind-dark);
}

.occupancy-badge--private {
    border-color: #d4c2b4;
    background: var(--private-kind-soft);
    color: var(--private-kind-dark);
}

.occupancy-badge--reserved {
    border-color: #d8bdc3;
    background: #fff;
    color: #78182d;
}

.home-event-preview--pzko-reserved::before,
.home-event-preview--pzko-none::before {
    width: 5px;
    background: var(--pzko-kind);
}

.home-event-preview--public-reserved::before,
.home-event-preview--public-none::before {
    background: var(--public-kind);
}

.event-card--pzko-reserved,
.event-card--pzko-none,
.event-history__row--pzko-reserved,
.event-history__row--pzko-none {
    border-left: 4px solid var(--pzko-kind) !important;
}

.event-card--public-reserved,
.event-card--public-none,
.event-history__row--public-reserved,
.event-history__row--public-none {
    border-left: 4px solid var(--public-kind) !important;
}

.occupancy-detail-panel.visual-pzko-reserved,
.occupancy-detail-panel.visual-pzko-none {
    border: 2px solid var(--pzko-kind);
    background: var(--pzko-kind-soft);
}

.occupancy-detail-panel.visual-public-reserved,
.occupancy-detail-panel.visual-public-none {
    border-color: #a8cbd7;
    background: var(--public-kind-soft);
}

/* Kompaktní kalendář na hlavní stránce */

.home-mini-calendar__day.is-occupied.is-pzko {
    border: 2px solid var(--pzko-kind);
    background: var(--pzko-kind-soft);
    color: var(--pzko-kind-dark);
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, .95),
        0 0 0 1px rgba(152, 20, 43, .17);
    font-weight: 950;
}

.home-mini-calendar__day.is-occupied.is-pzko::after {
    position: absolute;
    top: 4px;
    right: 4px;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--pzko-kind);
    content: "";
}

.home-mini-calendar__day.is-occupied.is-public {
    border: 1px solid #86b6c8;
    background: var(--public-kind-soft);
    color: var(--public-kind-dark);
    font-weight: 850;
}

.home-mini-calendar__day.is-occupied.is-public::after {
    display: none;
}

.home-mini-calendar__day.is-occupied.is-private {
    border: 1px solid #c7b09f;
    background: var(--private-kind-soft);
    color: var(--private-kind-dark);
    font-weight: 850;
}

a.home-mini-calendar__day.is-occupied.is-pzko:hover {
    border-color: var(--pzko-kind-dark);
    background: #ffe3e9;
}

a.home-mini-calendar__day.is-occupied.is-public:hover {
    border-color: var(--public-kind);
    background: #dff1f7;
}

a.home-mini-calendar__day.is-occupied.is-private:hover {
    border-color: var(--private-kind);
    background: #efe4da;
}

.home-mini-calendar__legend {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
}

.home-mini-calendar__legend-group {
    display: block;
    min-width: 0;
    padding: 7px;
}

.home-mini-calendar__legend-group > span {
    display: flex;
    white-space: normal;
}

.home-mini-calendar__legend-group.is-pzko {
    border-color: #dfadb8;
    background: var(--pzko-kind-soft);
}

.home-mini-calendar__legend-group.is-public {
    border-color: #b6d4df;
    background: var(--public-kind-soft);
}

.home-mini-calendar__legend-group.is-private {
    border-color: #ddcec2;
    background: var(--private-kind-soft);
}

.home-mini-calendar__legend i.is-pzko {
    border: 2px solid var(--pzko-kind);
    background: var(--pzko-kind-soft);
}

.home-mini-calendar__legend i.is-public {
    border: 1px solid #86b6c8;
    background: var(--public-kind-soft);
}

.home-mini-calendar__legend i.is-private {
    border: 1px solid #c7b09f;
    background: var(--private-kind-soft);
}

.home-mini-calendar__detail.is-pzko {
    border: 2px solid var(--pzko-kind);
    background: var(--pzko-kind-soft);
}

.home-mini-calendar__detail.is-public {
    border: 1px solid #9bc1cf;
    background: var(--public-kind-soft);
}

.home-mini-calendar__detail.is-private {
    border: 1px solid #cdb9aa;
    background: var(--private-kind-soft);
}

.home-mini-calendar__detail.is-pzko > small {
    color: var(--pzko-kind);
}

.home-mini-calendar__detail.is-public > small {
    color: var(--public-kind-dark);
}

.home-mini-calendar__detail.is-private > small {
    color: var(--private-kind-dark);
}

.home-mini-calendar__request > div {
    grid-template-columns: minmax(0, 1fr);
}

/* Plný kalendář */

.reservation-legend-v9-6 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.reservation-legend-group--pzko {
    border: 2px solid #d89dab;
    background: var(--pzko-kind-soft);
}

.reservation-legend-group--pzko > strong {
    color: var(--pzko-kind);
}

.reservation-legend-group--public {
    border-color: #b8d5df;
    background: var(--public-kind-soft);
}

.reservation-legend-group--public > strong {
    color: var(--public-kind-dark);
}

.reservation-legend-group--private {
    border-color: #ddcdc1;
    background: var(--private-kind-soft);
}

.reservation-legend-group--private > strong {
    color: var(--private-kind-dark);
}

.legend-swatch--pzko {
    border: 2px solid var(--pzko-kind) !important;
    background: var(--pzko-kind-soft) !important;
}

.legend-swatch--public {
    border: 1px solid #86b6c8 !important;
    background: var(--public-kind-soft) !important;
}

.legend-swatch--private {
    border: 1px solid #c7b09f !important;
    background: var(--private-kind-soft) !important;
}

.reservation-day.is-event-pzko {
    border: 2px solid var(--pzko-kind);
    background: var(--pzko-kind-soft);
    color: var(--pzko-kind-dark);
    box-shadow: inset 0 0 0 1px #fff;
}

.reservation-day.is-event-public {
    border: 1px solid #86b6c8;
    background: var(--public-kind-soft);
    color: var(--public-kind-dark);
}

.reservation-day.is-event-private {
    border: 1px solid #c7b09f;
    background: var(--private-kind-soft);
    color: var(--private-kind-dark);
}

a.reservation-day.is-event-pzko:hover {
    border-color: var(--pzko-kind-dark);
    background: #ffe3e9;
}

a.reservation-day.is-event-public:hover {
    border-color: var(--public-kind);
    background: #dff1f7;
}

a.reservation-day.is-event-private:hover {
    border-color: var(--private-kind);
    background: #efe4da;
}

a.reservation-day {
    color: inherit;
    text-decoration: none;
}

.reservation-private-detail {
    position: relative;
    display: grid;
    gap: 5px;
    margin: 18px 0;
    padding: 16px 44px 16px 18px;
    border: 1px solid #cdb9aa;
    border-radius: 13px;
    background: var(--private-kind-soft);
}

.reservation-private-detail > small {
    color: var(--private-kind);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.reservation-private-detail > strong {
    color: #302823;
}

.reservation-private-detail > span {
    color: #6f625a;
}

.reservation-private-detail__close {
    position: absolute;
    top: 8px;
    right: 11px;
    color: #695b53;
    font-size: 1.35rem;
    line-height: 1;
    text-decoration: none;
}

.reservation-request-cta__actions {
    grid-template-columns: minmax(0, 1fr);
}

@media (max-width: 980px) {
    .reservation-legend-v9-6 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .home-mini-calendar__legend,
    .reservation-legend-v9-6 {
        grid-template-columns: minmax(0, 1fr);
    }
}
