
/* =========================================================
   CLOSED DAYS, BANK HOLIDAYS + OWNER HOLIDAYS
========================================================= */

.calendar-day.closed-day,
.owner-day-header.closed-day,
.owner-day-column.closed-day,
.calendar-day.bank-holiday,
.owner-day-header.bank-holiday,
.owner-day-column.bank-holiday {
    position: relative;
    overflow: hidden;
}

.calendar-day.bank-holiday,
.calendar-day.owner-holiday,
.calendar-day.sunday-closed {
    opacity: 1;
    cursor: not-allowed;
}

.calendar-day.bank-holiday {
    background: repeating-linear-gradient(
        135deg,
        rgba(138, 75, 42, 0.14) 0,
        rgba(138, 75, 42, 0.14) 8px,
        rgba(255, 244, 235, 0.96) 8px,
        rgba(255, 244, 235, 0.96) 16px
    );
    border: 2px solid #b06a3c;
    color: #7a3f22;
}

.calendar-day.owner-holiday,
.calendar-day.sunday-closed {
    background: repeating-linear-gradient(
        135deg,
        rgba(95, 76, 62, 0.12) 0,
        rgba(95, 76, 62, 0.12) 8px,
        rgba(255, 249, 244, 0.96) 8px,
        rgba(255, 249, 244, 0.96) 16px
    );
    border: 2px solid #8c7564;
    color: #5f4c3e;
}

.calendar-day.bank-holiday::before,
.calendar-day.owner-holiday::before,
.calendar-day.sunday-closed::before {
    display: block;
    width: fit-content;
    margin: 0 auto 6px;
    font-size: 0.66rem;
    font-weight: 900;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #ffffff;
    padding: 4px 9px;
    border-radius: 999px;
}

.calendar-day.bank-holiday::before {
    content: "Bank Holiday";
    background: #8a4b2a;
}

.calendar-day.owner-holiday::before {
    content: "Unavailable";
    background: #5f4c3e;
}

.calendar-day.sunday-closed::before {
    content: "Closed";
    background: #5f4c3e;
}

.calendar-day.closed-day span,
.calendar-day.closed-day strong,
.calendar-day.closed-day small,
.calendar-day.closed-day em,
.calendar-day.bank-holiday span,
.calendar-day.bank-holiday strong,
.calendar-day.bank-holiday small,
.calendar-day.bank-holiday em {
    position: relative;
    z-index: 1;
}

.calendar-day.closed-day em,
.calendar-day.bank-holiday em {
    font-weight: 900;
    color: inherit;
}

.owner-day-header.owner-holiday {
    background: repeating-linear-gradient(
        135deg,
        rgba(95, 76, 62, 0.13) 0,
        rgba(95, 76, 62, 0.13) 7px,
        rgba(255, 249, 244, 0.96) 7px,
        rgba(255, 249, 244, 0.96) 14px
    ) !important;
    border: 2px solid #8c7564;
    color: #5f4c3e;
}

.owner-day-header.bank-holiday {
    background: repeating-linear-gradient(
        135deg,
        rgba(138, 75, 42, 0.16) 0,
        rgba(138, 75, 42, 0.16) 7px,
        rgba(255, 244, 235, 0.96) 7px,
        rgba(255, 244, 235, 0.96) 14px
    ) !important;
    border: 2px solid #b06a3c;
    color: #7a3f22;
}

.owner-day-header.bank-holiday::before {
    content: "Closed";
    display: inline-block;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #ffffff;
    background: #8a4b2a;
    padding: 3px 7px;
    border-radius: 999px;
    margin-bottom: 4px;
}

.closed-day-label,
.bank-holiday-label {
    display: inline-block;
    margin-top: 3px;
    font-size: 0.58rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #ffffff;
    background: #5f4c3e;
    padding: 3px 7px;
    border-radius: 999px;
}

.bank-holiday-label {
    display: block;
    font-size: 0.68rem;
    font-weight: 800;
    color: #8a4b2a;
    background: transparent;
    padding: 0;
    letter-spacing: normal;
    text-transform: none;
    line-height: 1.15;
}

.owner-day-header.bank-holiday .closed-day-label {
    background: #8a4b2a;
}

.closed-day-name {
    display: block;
    margin-top: 3px;
    font-size: 0.68rem;
    font-weight: 800;
    line-height: 1.15;
    color: inherit;
}

.owner-day-column.owner-holiday {
    background: repeating-linear-gradient(
        135deg,
        rgba(95, 76, 62, 0.07) 0,
        rgba(95, 76, 62, 0.07) 10px,
        rgba(255, 250, 246, 0.82) 10px,
        rgba(255, 250, 246, 0.82) 20px
    );
    box-shadow: inset 0 0 0 2px rgba(95, 76, 62, 0.26);
}

.owner-day-column.bank-holiday {
    background: repeating-linear-gradient(
        135deg,
        rgba(138, 75, 42, 0.08) 0,
        rgba(138, 75, 42, 0.08) 10px,
        rgba(255, 248, 242, 0.82) 10px,
        rgba(255, 248, 242, 0.82) 20px
    );
    box-shadow: inset 0 0 0 2px rgba(176, 106, 60, 0.35);
}

.owner-day-column.closed-day::after {
    position: absolute;
    top: 14px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 5;
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #ffffff;
    padding: 6px 10px;
    border-radius: 999px;
    box-shadow: 0 6px 16px rgba(80, 42, 22, 0.18);
    pointer-events: none;
    white-space: nowrap;
}

.owner-day-column.owner-holiday::after {
    content: "UNAVAILABLE";
    background: #5f4c3e;
}

.owner-day-column.bank-holiday::after {
    content: "BANK HOLIDAY";
    background: #8a4b2a;
}

.owner-day-column.closed-day .owner-calendar-slot {
    pointer-events: none;
    opacity: 0.22;
}

.owner-day-column.closed-day .owner-calendar-slot:hover {
    background: transparent;
    cursor: not-allowed;
}
