html { scroll-behavior: smooth; }
body { font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; }

/* dialogs */
.dlg {
  width: min(92vw, 560px);
  max-height: 90vh;
  overflow-y: auto;
  padding: 0;
  border: 0;
  border-radius: 2rem;
  background: #fff;
  color: #480936;
  box-shadow: 0 30px 80px rgba(72, 9, 54, 0.35);
}
.dlg::backdrop { background: rgba(72, 9, 54, 0.6); backdrop-filter: blur(4px); }
.dlg[open] { animation: pop 0.2s ease-out; }
@keyframes pop { from { opacity: 0; transform: translateY(12px) scale(0.98); } }

/* form fields */
.field { display: block; border-radius: 1rem; background: #F6F3F7; padding: 0.6rem 1rem; }
.field > span { display: block; font-size: 10px; font-weight: 900; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(72, 9, 54, 0.5); }
.field input, .field select, .field textarea { width: 100%; background: transparent; font-size: 0.95rem; font-weight: 700; outline: none; resize: none; }
.field:focus-within { box-shadow: 0 0 0 2px #8E3BA0; }

/* dark selects in the explore section */
#explore select option { color: #480936; }

/* time slots */
.slot { border-radius: 0.9rem; padding: 0.6rem 0; font-size: 0.85rem; font-weight: 800; background: #F6F3F7; transition: background 0.15s, color 0.15s; }
.slot:hover:not(:disabled) { background: #C8F03C; }
.slot[aria-pressed="true"] { background: #480936; color: #C8F03C; }
.slot:disabled { opacity: 0.35; text-decoration: line-through; cursor: not-allowed; }
