/* Room details: readable slot rows and a compact booking action. */
#drawer-detail-view .drawer-content { padding:25px 27px 28px; }
#drawer-detail-view .availability-line { font-size:12px;font-weight:600;line-height:1.6;margin-bottom:9px; }
#drawer-detail-view .detail-facts span { padding:6px 9px;font-size:11px;line-height:1.4; }
#drawer-detail-view .room-description { font-size:13px;line-height:1.8;margin:15px 0 0; }
#drawer-detail-view .detail-photo-thumbs:has(button:only-child) { display:none; }
#drawer-detail-view .today-slots { margin-top:24px; }
#drawer-detail-view .drawer-section-title { align-items:center;gap:12px; }
#drawer-detail-view .drawer-section-title h3 { font-size:14px;font-weight:650; }
#drawer-detail-view .drawer-section-title > span { font-size:11px;line-height:1.5; }
#detail-slots { gap:9px;margin-top:12px; }
#detail-slots .slot-row {
  grid-template-columns:112px minmax(0,1fr) auto;
  min-height:60px;padding:12px 13px;gap:14px;border-radius:11px;
}
#detail-slots .slot-row time { font-size:12px;font-weight:600;line-height:1.5;color:#626a7b;white-space:nowrap;font-variant-numeric:tabular-nums; }
#detail-slots .slot-row strong { min-width:0;font-size:13px;font-weight:600;line-height:1.6;overflow-wrap:anywhere; }
#detail-slots .slot-row button { min-height:32px;padding:6px 12px;border:1px solid #d0e7dd;border-radius:8px;font-size:12px;font-weight:600;line-height:1.4;white-space:nowrap; }
#detail-slots .slot-available { border-color:#dcece4;background:#f8fcfa; }
#detail-slots .slot-available strong { color:#287459; }
#detail-slots .slot-available button { background:#e8f4ee;color:#286d55;cursor:pointer; }
#detail-slots .slot-available button:hover { background:#d8ecdf;border-color:#aecfba; }
#detail-slots .slot-unavailable { background:#fafbfc; }
#detail-slots .slot-row button:disabled { background:#eef0f4;color:#7c8291;border-color:#e1e4ea;cursor:not-allowed; }
#detail-slots .slot-row.past { opacity:1; }
#detail-slots .slot-row.past strong { color:var(--muted); }
#drawer-detail-view #detail-book {
  display:flex;width:auto;min-height:36px;margin:18px 0 0 auto;
  padding:8px 14px;border-radius:8px;font-size:12px;font-weight:600;
  line-height:1.4;gap:7px;box-shadow:none;
}
#drawer-detail-view #detail-book:hover { transform:none; }
#drawer-detail-view #detail-book::after { content:"→"; }
#drawer-detail-view button:focus-visible { outline:2px solid var(--brand-text);outline-offset:3px; }
@media(max-width:700px) {
  #drawer-detail-view .drawer-content { padding:22px 20px 26px; }
  #detail-slots .slot-row { grid-template-columns:minmax(98px,.9fr) minmax(0,1fr) auto;padding:11px 10px;gap:8px; }
  #detail-slots .slot-row time { font-size:11px; }
  #detail-slots .slot-row button { min-height:38px;padding:7px 10px; }
  #drawer-detail-view #detail-book { min-height:40px;padding:9px 15px; }
}
