.availability-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 20px;margin-bottom:24px}
.availability-heading h2,.page-copy .availability-heading h2{font-size:26px;margin:0}
.availability-state,.page-copy .availability-state{font-size:12px;line-height:1.6;color:var(--muted);margin:0}
.public-offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.public-offer{min-width:0;border:1px solid var(--line);border-radius:8px;padding:26px;display:flex;flex-direction:column;background:var(--paper)}
.public-offer[hidden]{display:none}
.public-offer h3,.page-copy .public-offer h3{font-size:26px;line-height:1.2;margin:10px 0 20px;overflow-wrap:anywhere}
.public-offer p,.page-copy .public-offer p{font-size:14px;line-height:1.7;margin:0 0 6px;overflow-wrap:anywhere}
.public-offer p.eyebrow{font-size:11px;color:var(--coral-700)}
.public-offer-period{font-weight:600;font-variant-numeric:tabular-nums}
.public-offer-location{color:var(--muted)}
.occupancy{margin:20px 0}
.occupancy>div{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--muted)}
.occupancy strong{font-size:18px;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}
.occupancy abbr{font-size:12px;text-decoration:none}
.occupancy meter{display:block;width:100%;height:6px;border:0;border-radius:4px;background:var(--coral-100);margin-top:12px;overflow:hidden;appearance:none}
.occupancy meter::-webkit-meter-bar{background:var(--coral-100);border:0;height:6px}
.occupancy meter::-webkit-meter-optimum-value{background:var(--coral-500)}
.occupancy meter::-moz-meter-bar{background:var(--coral-500)}
.occupancy.is-full meter::-webkit-meter-optimum-value{background:var(--coral-700)}
.occupancy.is-full meter::-moz-meter-bar{background:var(--coral-700)}
.public-offer .occupancy-unavailable{padding-block:18px;color:var(--coral-700)}
.public-offer-description{white-space:pre-line}
.public-offer-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:auto;padding-top:24px}
.public-offer-actions .text-link{font-size:13px}
.availability-note,.page-copy .availability-note{font-size:12px;color:var(--muted);margin:20px 0 32px}
.offer-public-gallery{margin-top:16px;border-top:1px solid var(--line)}
.offer-public-gallery summary{padding:14px 0;cursor:pointer;font-size:13px;min-height:44px}
.offer-public-gallery>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.offer-public-gallery a:only-child{grid-column:1/-1}
.offer-public-gallery img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;background:var(--coral-50);border-radius:6px}
.availability-empty{grid-column:1/-1}
.availability-empty a{text-decoration:underline}
.page-aside [data-public-offers] .public-offer-grid{grid-template-columns:1fr}
@media(max-width:760px){.public-offer-grid{grid-template-columns:1fr;gap:16px}.public-offer{padding:22px}.public-offer h3,.page-copy .public-offer h3{font-size:24px}.availability-heading h2,.page-copy .availability-heading h2{font-size:24px}}
/* The weekly timetable remains readable as labeled rows on small screens. */
.schedule-table th,.schedule-table td{padding-right:18px;overflow-wrap:anywhere}
.schedule-table td:first-child{width:22%}.schedule-table td:nth-child(2){width:15%}
.schedule-table td:nth-child(3),.page-copy .schedule-table td:nth-child(3){width:16%}
.schedule-table td small{display:block;font-size:12px;line-height:1.5;color:var(--muted);margin-top:6px}
.schedule-table .text-link{min-height:44px;white-space:normal;text-align:left}
.schedule-table td:last-child{min-width:100px}
.public-offer-style{color:var(--coral-700);font-weight:600}
.occupancy strong small{display:block;font-size:12px;font-weight:400;color:var(--muted)}
@media(max-width:760px){
 .schedule-table thead{display:none}.schedule-table tbody{display:block}
 .schedule-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 20px;padding:24px 0}
 .schedule-table tr[hidden]{display:none}
 .schedule-table td,.schedule-table td:first-child,.schedule-table td:nth-child(2),.schedule-table td:nth-child(3),.schedule-table td:last-child,.page-copy .schedule-table td:nth-child(3){grid-column:auto;grid-row:auto;width:auto;min-width:0;padding:0;text-align:left;font-size:14px}
 .schedule-table td:first-child{grid-column:1/-1;font-size:18px}
 .schedule-table td[data-label]::before{content:attr(data-label);display:block;font-size:11px;font-weight:500;color:var(--muted);margin-bottom:5px}
 .schedule-table td:first-child::before{display:none}
 .schedule-table td:last-child{align-self:end;grid-column:1/-1}
 .schedule-table td[colspan]{grid-column:1/-1}
 .schedule-table td:last-child .text-link{font-size:14px}
}

.schedule-table .table-occupancy{margin:0;min-width:110px}
.schedule-table .table-occupancy strong{font-size:inherit;font-weight:600}
.schedule-table .table-occupancy meter{margin-top:8px}
