:root { --brown: #6b3a10; --brown-light: #b79a7c; --link: #1b5a99; --dark: #27221e; }
body { background: #fff; color: #222; font-family: "Helvetica Neue", Arial, sans-serif; }
.site-header { background: var(--dark); padding: 14px 20px; }
.site-header img { height: 62px; width: auto; }
.site-footer {
    background: var(--dark);
    color: #d9d2c9;
    text-align: center;
    font-size: .875rem;
    padding: 14px 20px;
}

.tile-card { background: #fafafa; box-shadow: 0 1px 6px rgba(0,0,0,.18); height: 100%; }
.tile-header { background: var(--brown); color: #fff; display: flex; align-items: baseline;
               justify-content: space-between; padding: 10px 14px; }
.tile-heading { font-size: 1rem; margin: 0; font-weight: 400; }
.tile-day { font-size: 2rem; line-height: 1; color: var(--brown-light); }
.tile-item { display: block; padding: 14px 16px; border-bottom: 1px solid #e6e6e6;
             color: #444; text-decoration: none; background: #fff; line-height: 1.45; }
a.tile-item { color: var(--link); }
a.tile-item:hover { background: #f1f6fb; }
.tile-item .status { white-space: nowrap; }
.tile-closed { background: #f5f5f5; color: #b5b5b5; }
.tile-closed-text { color: #222; text-align: center; padding: 28px 12px; }

.navbar-dark-booking { background: var(--dark); }
.table-sessionhead td { background: #f3ece4; font-style: italic; font-weight: 600; }

/* cancelled bookings: same place in the list, struck out, light red */
.table > tbody > tr.cancelled > * { --bs-table-bg-type: #fdecec; --bs-table-color-type: #8a8a8a; }
.cancelled td { color: #8a8a8a; text-decoration: line-through; }
.cancelled td:last-child { text-decoration: none; }
