.rental-shell{max-width:1080px;margin:auto;padding:24px 24px 48px}
.rental-waiver{min-width:0;margin:24px 0;padding:20px;border:1px solid var(--line)}.rental-waiver legend{font-weight:700;padding:0 8px}.rental-waiver input:not([type=checkbox]){max-width:100%;box-sizing:border-box}.rental-waiver .waiver-consent{display:flex;gap:12px;align-items:flex-start;font-weight:400}.rental-waiver input[type=checkbox]{width:22px;height:22px;min-width:22px;margin:3px 0;flex:0 0 22px}.rental-waiver p{overflow-wrap:anywhere}
.rental-time-fields{display:grid;gap:16px;margin-top:16px;min-width:0}.rental-time-fields select{width:100%;min-width:0}.rental-time-fields output{display:block;border:1px solid var(--line);background:var(--soft);padding:14px;font-weight:600;overflow-wrap:anywhere}.rental-time-fields .help-text{margin-top:8px}
.rental-rates{display:flex;flex-wrap:wrap;gap:24px;padding:18px 0;border-block:1px solid var(--line);margin:24px 0}.rental-rates strong{font-size:1.5rem}
.rental-dev-note{padding:14px 18px;border-left:3px solid var(--warn);background:var(--soft);font-size:.9rem}
.rental-bikes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}
.rental-bike{border:1px solid var(--line);padding:0 0 18px;background:white;overflow:hidden}.rental-bike img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#fafafa}.rental-bike h3,.rental-bike p{margin:12px 18px}.rental-bike button{margin:4px 18px 0}.rental-bike.selected{border:2px solid var(--good)}.rental-bike.selected button{background:var(--good)}
.rental-selection-summary{font-weight:700;color:var(--good)}.rental-booking-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;align-items:start}.rental-summary{background:var(--soft);padding:20px}.rental-summary h3{margin-top:0}
.rental-shell section{margin:28px 0}.rental-shell .calendar-day:disabled{cursor:default;color:#999;background:#eee;border-color:#e5e5e5}.rental-shell button:disabled{opacity:.6;cursor:default}.rental-shell .calendar-day.selected{background:var(--good);color:white}.rental-shell .calendar-day.outside{visibility:hidden}
.rental-shell dl{margin:0}.rental-shell dt{font-size:.8rem;color:var(--muted);margin-top:16px}.rental-shell dd{margin:4px 0;overflow-wrap:anywhere}.rental-shell dd.rental-total{font-size:1.5rem;font-weight:750}.rental-actions{display:flex;gap:12px;flex-wrap:wrap}.rental-shell dialog{max-width:520px;width:calc(100% - 32px);padding:24px;max-height:90vh;overflow:auto;border:1px solid var(--line)}.rental-shell dialog::backdrop{background:#0006}
.rental-confirmation{max-width:600px;margin:32px auto!important;text-align:center;padding:24px;border:1px solid var(--line)}
.rental-table-wrap{overflow:auto}.rental-table{width:100%;border-collapse:collapse;font-size:.9rem}.rental-table th,.rental-table td{padding:14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.rental-table th{white-space:nowrap}.rental-table td span{display:block}.rental-table .inactive{color:#888}.rental-table td button{font-size:.8rem;padding:8px;margin:3px}.rental-event-list{font-size:.8rem;padding-left:18px}
@media(max-width:650px){.rental-shell{padding:18px 16px 32px}.rental-booking-layout{grid-template-columns:1fr}.rental-shell .fields{grid-template-columns:1fr}.rental-rates{gap:12px;font-size:.85rem}.rental-rates strong{font-size:1.2rem}.rental-shell .booking-footer{flex-wrap:wrap}.rental-shell .wordmark{font-size:1rem}.rental-shell .availability-calendar{padding:12px}.rental-shell .calendar-day{min-height:44px}.rental-actions button{flex:1}}

.rental-actions[hidden]{display:none}
.rental-description{font-size:.9rem;line-height:1.6;color:var(--muted);overflow-wrap:anywhere;border-top:1px solid var(--line);margin-top:18px;padding-top:4px}
