/* ============================================================
   BOOK.CSS — Booking Flow
   ============================================================ */

.book-page {
  padding-top: 72px; min-height: 100vh; background: var(--black);
  display: flex; align-items: center; justify-content: center;
}
.book-container { max-width: 720px; width: 100%; padding: 40px; }
.book-steps { display: flex; margin-bottom: 50px; }
.book-step {
  flex: 1; display: flex; align-items: center; gap: 10px;
  font-size: .68rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--text-faint); cursor: pointer;
}
.book-step.active { color: var(--gold); }
.book-step.done   { color: var(--text-dim); }
.step-num {
  width: 28px; height: 28px; border-radius: 50%;
  border: 1px solid var(--glass-border);
  display: flex; align-items: center; justify-content: center;
  font-size: .7rem; flex-shrink: 0; transition: all .3s;
}
.book-step.active .step-num { background: var(--gold); border-color: var(--gold); color: var(--black); font-weight: 600; }
.book-step.done   .step-num { background: var(--glass); border-color: rgba(198,166,107,.3); color: var(--gold); }
.step-line { flex: 1; height: 1px; background: var(--glass-border); }
.book-panel { background: var(--surface); border: 1px solid var(--glass-border); border-radius: 4px; padding: 40px; }
.book-panel-title { font-family: 'Playfair Display', serif; font-size: 1.6rem; margin-bottom: 8px; }
.book-panel-sub   { font-size: .82rem; color: var(--text-dim); margin-bottom: 36px; }
.book-options { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 36px; }
.book-option {
  border: 1px solid var(--glass-border); border-radius: 3px;
  padding: 24px 20px; cursor: pointer; transition: all .35s; text-align: center;
}
.book-option:hover,
.book-option.selected { border-color: rgba(198,166,107,.5); background: var(--gold-dim); }
.book-icon-text {
  font-family: 'Playfair Display', serif;
  font-size: 1.3rem; font-weight: 400; color: var(--gold);
  letter-spacing: .15em; font-style: italic;
  margin-bottom: 12px; display: block;
}
.book-option-label { font-family: 'Playfair Display', serif; font-size: 1.1rem; margin-bottom: 4px; }
.book-option-sub   { font-size: .72rem; color: var(--text-faint); }
.book-input-group  { margin-bottom: 20px; }
.book-input-label  {
  font-size: .65rem; letter-spacing: .2em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 8px; display: block;
}
.book-input {
  width: 100%; background: var(--surface2);
  border: 1px solid var(--glass-border); color: var(--text);
  padding: 12px 16px; border-radius: 2px;
  font-family: 'Outfit', sans-serif; font-size: .88rem;
  transition: border-color .3s; outline: none;
}
.book-input:focus { border-color: rgba(198,166,107,.5); }
.book-summary { background: var(--surface2); border: 1px solid var(--glass-border); border-radius: 3px; padding: 24px; margin-bottom: 28px; }
.summary-row { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px solid var(--glass-border); font-size: .82rem; }
.summary-row:last-child { border-bottom: none; }
.summary-label { color: var(--text-dim); }
.summary-total { color: var(--gold); font-family: 'Playfair Display', serif; font-size: 1.1rem; }
.book-nav { display: flex; justify-content: space-between; }
.book-confirm-box { text-align: center; padding: 40px 0; }
.book-confirm-icon { font-size: 2.5rem; color: var(--gold); margin-bottom: 20px; letter-spacing: .1em; font-family: 'Playfair Display', serif; }
