/* ── Booking / Auth / Account / Admin pages ─────────────────────────────── */

.bk-page {
  max-width: 960px;
  margin: 0 auto;
  padding: 140px 24px 80px;
  font-family: 'Kumbh Sans', sans-serif;
  color: #3E4474;
}
.bk-page--narrow { max-width: 440px; }

.bk-title {
  font-family: 'Jost', sans-serif;
  font-size: clamp(1.8rem, 4vw, 2.6rem);
  color: #2A2C6B;
  margin-bottom: 8px;
}
.bk-sub { color: #5A6178; margin-bottom: 32px; line-height: 1.6; }

.bk-card {
  background: #fff;
  border: 1px solid #DEE1F1;
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 4px 24px rgba(31, 42, 68, 0.06);
  margin-bottom: 24px;
}

/* Forms */
.bk-field { margin-bottom: 18px; }
.bk-field label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: #2A2C6B;
  margin-bottom: 6px;
}
.bk-field input,
.bk-field select,
.bk-field textarea {
  width: 100%;
  padding: 11px 14px;
  border: 1px solid #DEE1F1;
  border-radius: 10px;
  font-size: 14.5px;
  font-family: inherit;
  color: #3E4474;
  outline: none;
  transition: border-color 0.2s;
  box-sizing: border-box;
  background: #fff;
}
.bk-field input:focus,
.bk-field select:focus,
.bk-field textarea:focus { border-color: #548494; }

.bk-btn {
  display: inline-block;
  background: #2A2C6B;
  color: #fff;
  border: none;
  border-radius: 10px;
  padding: 12px 28px;
  font-size: 15px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s;
  text-decoration: none;
}
.bk-btn:hover { background: #1F2152; transform: translateY(-1px); color: #fff; }
.bk-btn:disabled { background: #B9BEDA; cursor: not-allowed; transform: none; }
.bk-btn--full { width: 100%; }
.bk-btn--ghost {
  background: transparent;
  color: #2A2C6B;
  border: 1px solid #DEE1F1;
}
.bk-btn--ghost:hover { background: #EEF0F8; color: #2A2C6B; }
.bk-btn--danger { background: #B43E3E; padding: 6px 14px; font-size: 13px; }
.bk-btn--danger:hover { background: #93302F; }

.bk-alert {
  border-radius: 10px;
  padding: 12px 16px;
  font-size: 14px;
  margin-bottom: 18px;
  line-height: 1.55;
}
.bk-alert--error { background: #FBEAEA; color: #93302F; border: 1px solid #EFC9C9; }
.bk-alert--info  { background: #EAF3F5; color: #2F5E6C; border: 1px solid #C9E0E6; }

.bk-meta { font-size: 13.5px; color: #5A6178; }
.bk-link { color: #548494; font-weight: 600; text-decoration: none; }
.bk-link:hover { text-decoration: underline; }

/* Booking flow */
.bk-steps { display: grid; gap: 24px; }
.bk-step-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #548494;
  margin-bottom: 12px;
}

.bk-days, .bk-slots {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.bk-chip {
  border: 1px solid #DEE1F1;
  background: #fff;
  border-radius: 10px;
  padding: 9px 14px;
  font-size: 13.5px;
  font-family: inherit;
  color: #3E4474;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
  text-align: center;
}
.bk-chip:hover { border-color: #548494; }
.bk-chip.bk-chip--selected {
  background: #2A2C6B;
  border-color: #2A2C6B;
  color: #fff;
}
.bk-chip .bk-chip-day { display: block; font-weight: 600; }
.bk-chip .bk-chip-date { display: block; font-size: 11.5px; opacity: 0.75; }

.bk-empty { color: #8A8FB3; font-size: 14px; padding: 6px 0; }

.bk-gateways { display: grid; gap: 10px; }
.bk-gateway {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid #DEE1F1;
  border-radius: 12px;
  padding: 14px 16px;
  cursor: pointer;
  transition: border-color 0.15s;
}
.bk-gateway:hover { border-color: #548494; }
.bk-gateway input { accent-color: #2A2C6B; }
.bk-gateway-label { font-weight: 600; font-size: 14.5px; color: #3E4474; }
.bk-gateway-price { margin-left: auto; font-size: 13.5px; color: #5A6178; }

.bk-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  font-size: 14px;
  color: #2A2C6B;
  margin-bottom: 16px;
}
.bk-summary strong { font-weight: 700; }

/* Result page */
.bk-result-icon { font-size: 52px; margin-bottom: 12px; }

/* Tables (account + admin) */
.bk-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.bk-table th {
  text-align: left;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #8A8FB3;
  padding: 8px 10px;
  border-bottom: 1px solid #DEE1F1;
}
.bk-table td { padding: 12px 10px; border-bottom: 1px solid #EEF0F8; vertical-align: middle; }

.bk-badge {
  display: inline-block;
  border-radius: 999px;
  padding: 3px 12px;
  font-size: 12px;
  font-weight: 600;
}
.bk-badge--confirmed { background: #E4F4E8; color: #2F6C44; }
.bk-badge--pending   { background: #FBF3E0; color: #8A6A1F; }
.bk-badge--cancelled,
.bk-badge--expired   { background: #F0F1F6; color: #8A8FB3; }

/* Admin layout */
.bk-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.bk-inline-form { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.bk-inline-form .bk-field { margin-bottom: 0; flex: 1; min-width: 120px; }

@media (max-width: 720px) {
  .bk-grid-2 { grid-template-columns: 1fr; }
  .bk-page { padding-top: 120px; }
  .bk-table { font-size: 13px; }
}
