.map-viewport{display:block;width:100%;height:540px;min-width:0}
.live-map-widget:fullscreen .map-viewport{flex:1;height:auto;min-height:0}
.availability-badge{display:inline-block;border-radius:4px;background:#555;color:#fff;padding:4px 9px;font-size:13px;line-height:1.5;letter-spacing:0}
.tapa-card .availability-badge{position:absolute;top:12px;left:12px;z-index:2}
.detail-copy>.availability-badge{margin:8px 0 18px}
.live-map-canvas .unavailable-tooltip{background:#555;border:1px solid #fff;color:#fff;font-weight:bold}
.calendar-day li a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;width:100%;color:inherit;text-decoration:none;padding:5px 0}
.calendar-day li a:hover,.calendar-day li a:focus-visible{color:#ff9e32;text-decoration:underline}
.calendar-day li .availability-badge{display:block;width:fit-content;font-size:11px;margin-top:4px}
.service-table{min-width:940px}.service-table .btn{white-space:nowrap;font-size:13px;padding:8px 12px}
.hours-slot{border:1px solid #bbb;border-radius:8px;padding:15px;margin:15px 0;background:#fff;color:#222}
.hours-time-row{display:flex;gap:15px;align-items:end;flex-wrap:wrap}.hours-time-row label{display:grid;gap:5px}
.hours-time-row input{width:145px;padding:7px;border:1px solid #aaa;border-radius:5px}
.hours-weekdays{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:15px}.hours-weekdays label{display:flex;gap:6px;align-items:center}
.hours-weekdays input{width:auto}.hours-editor-actions{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:767px){.map-viewport{height:420px}.calendar-day li a{gap:8px}}
