.availability-display{margin:28px 0 42px;padding:26px;border:1px solid var(--line);background:var(--tone-fff9)}.availability-display h2{font-size:28px;margin:0 0 8px}.availability-display h3{font-size:21px;margin:24px 0 12px}.availability-display label{display:block;max-width:440px;margin-top:16px}.availability-display select{display:block;margin-top:8px;width:100%;font:inherit;padding:12px}.availability-controls,.availability-dates{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.availability-display button{font:inherit;font-size:17px;background:transparent;color:var(--ink);border:1px solid #aaa;padding:10px 16px;min-height:44px;cursor:pointer}.availability-display button:disabled{opacity:.5;cursor:default}.availability-dates button[aria-pressed=true]{background:var(--dark);color:white;border-color:var(--dark)}.availability-times{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0}.availability-times li{padding:9px 18px;background:#e8e3db;border:1px solid #ccc;font-size:19px}.availability-error{color:#8b2821;background:#fbe9e8;padding:12px}.availability-display :focus-visible{outline:3px solid var(--focus);outline-offset:3px}@media(max-width:650px){.availability-display{padding:18px}.availability-controls button{flex:1;font-size:16px}.availability-display h2{font-size:25px}.availability-dates button{flex:1 1 130px}.availability-times li{flex:1 1 80px;text-align:center}}

.availability-times li:has(button){padding:0}.availability-times button[aria-pressed=true]{background:var(--dark);color:white}.availability-times button{min-width:84px;border:0}

.availability-location-details{max-inline-size:440px;margin-block:8px 0;font-size:16px;line-height:1.6;overflow-wrap:anywhere}
