/* Reservations module (public) */
.reserve-box { background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:16px; box-shadow:0 10px 24px rgba(0,0,0,.06); }
.reserve-title { font-weight:800; font-size:18px; margin:0 0 8px; }
.reserve-row { display:grid; grid-template-columns: 1fr 1fr; gap:10px; margin-bottom:8px; }
.reserve-field label { display:block; font-weight:600; color:#0f172a; margin-bottom:4px; }
.reserve-field input[type="date"], .reserve-field select, .reserve-field input[type="number"], .reserve-field input[type="text"] { width:100%; box-sizing:border-box; border-radius:10px; border:1px solid #cbd5e1; padding:10px 12px; font-size:14px; }
.reserve-field input:focus, .reserve-field select:focus { outline:none; border-color:#FF8A5B; box-shadow: 0 0 0 3px rgba(255,138,91,.15); }
.reserve-actions { margin-top:10px; display:flex; gap:10px; }
.reserve-submit { width:100%; padding: 12px 16px; border-radius: 10px; background: linear-gradient(90deg,#FF8A5B,#FFB185); color:#fff; border:0; font-weight:700; font-size:16px; box-shadow: 0 8px 20px rgba(255,122,62,.25); cursor:pointer; }
.reserve-submit:hover { filter:brightness(1.05); transform: translateY(-1px); }
.reserve-note { font-size:12px; color:#64748b; margin-top:6px; }

/* Extras */
.extras-chip { display:inline-flex; align-items:center; gap:8px; border:1px solid #e5e7eb; border-radius:9999px; padding:6px 10px; background:#fff; cursor:pointer; }
.extras-chip input { accent-color:#1976D2; }
.extras-chip span { font-weight:600; color:#0f172a; }
.extras-chip small { color:#64748b; }

@media (max-width: 575.98px) {
  .reserve-row { grid-template-columns: 1fr; }
}

/* Lightweight toast styles for public pages (if not loaded) */
.toast-stack{position:fixed; right:16px; bottom:16px; z-index:10010; display:flex; flex-direction:column; align-items:flex-end; gap:8px}
.toast{background:#0f172a; color:#fff; border-radius:10px; box-shadow:0 10px 24px rgba(0,0,0,.25)}
.toast .toast-body{display:flex; align-items:center; gap:10px; padding:10px 12px}
.toast .close{appearance:none;background:transparent;border:1px solid #334155;color:#cbd5e1;border-radius:6px;cursor:pointer;padding:2px 8px}
.toast.hide{opacity:.0; transform: translateY(-4px); transition: all .2s ease}

.room-card.selected{ outline:2px solid #34d399; box-shadow:0 8px 24px rgba(52,211,153,.25); }
.room-card.active{ outline:2px solid #93c5fd; box-shadow:0 8px 24px rgba(147,197,253,.35); }
.service-card.selected{ outline:2px solid #fbbf24; box-shadow:0 8px 24px rgba(251,191,36,.25); }
.room-chip{ display:inline-flex; align-items:center; gap:6px; border:1px solid #e5e7eb; background:#fff; border-radius:9999px; padding:4px 8px; margin-right:6px; }
.room-chip .btnx{ background:#f8fafc; border:1px solid #e5e7eb; color:#0f172a; border-radius:6px; padding:0 6px; cursor:pointer; }
.room-chip .rm{ background:#fee2e2; border:1px solid #ef4444; color:#991b1b; border-radius:6px; padding:0 6px; cursor:pointer; }
/* same controls for service chips */
.svc-chip .btnx{ background:#fff; border:1px solid #f6e3bf; color:#92400e; border-radius:6px; padding:0 6px; cursor:pointer; }
.svc-chip .rm{ background:#fee2e2; border:1px solid #ef4444; color:#991b1b; border-radius:6px; padding:0 6px; cursor:pointer; }

/* Summary card under reservation box */
.summary-card{ border:1px solid #e5e7eb; background:#fff; border-radius:10px; padding:10px; box-shadow:0 6px 18px rgba(0,0,0,.06); }
.summary-header{ font-weight:800; color:#0f172a; display:flex; align-items:center; gap:8px; margin-bottom:6px; }
.summary-sections{ display:grid; grid-template-columns:1fr; gap:8px; }
.summary-title{ font-weight:700; color:#0f172a; display:flex; align-items:center; gap:6px; margin-bottom:4px; }
.summary-list{ display:flex; flex-wrap:wrap; gap:6px; }
.svc-chip{ display:inline-flex; align-items:center; gap:6px; border:1px solid #f6e3bf; background:#fff7ed; color:#92400e; border-radius:9999px; padding:4px 8px; }
.summary-empty{ color:#94a3b8; }

/* Price estimate styling */
#price-estimate .price-est{ background:#f8fafc; border:1px solid #e5e7eb; border-radius:10px; padding:8px 10px; }
.pe-row{ display:flex; align-items:center; justify-content:space-between; font-weight:800; color:#0f172a; }
.pe-sub{ color:#64748b; font-size:12px; margin-top:4px; }
/* Empty hint in price box */
#price-estimate .pe-empty{ display:flex; align-items:center; gap:8px; color:#64748b; font-weight:600; }
#price-estimate .pe-empty .bi{ color:#94a3b8; }

/* Remaining capacity hint near add button */
#add-remaining{ text-align:right; font-size:12px; color:#475569; }

/* Price breakdown */
.pe-breakdown{ margin-top:6px; color:#475569; font-size:12px; }
.pe-breakdown .pe-line{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding-top:4px; border-top:1px dashed #e5e7eb; margin-top:4px; }
.pe-breakdown .pe-name{ font-weight:700; color:#0f172a; }
.pe-breakdown .pe-formula{ color:#64748b; }
#book-add-wrap{ display:flex; align-items:center; gap:10px; }
#book-add-wrap .btn{ flex:0 0 auto; }
#add-remaining{ margin-left:auto; }
