/* Dr. Georgette — Booking picker + My Sessions */
.drbk-picker, .drbk-account {
  --bk-navy: #354135; --bk-gold: #C9A96E; --bk-ivory: #FAF8F5; --bk-border: #E8E0D8;
  --bk-text: #2C2C2C; --bk-muted: #8A8A8A;
}

/* ---------- Picker ---------- */
.drbk-picker { display: flex; flex-direction: column; gap: 12px; }
.drbk-loading, .drbk-empty {
  display: flex; align-items: center; gap: 10px;
  padding: 14px 16px; border: 1px dashed var(--bk-border); border-radius: 8px;
  font-size: .85rem; color: #5A5A5A; background: var(--bk-ivory); line-height: 1.6;
}
.drbk-empty a { color: var(--bk-gold); font-weight: 600; }
.drbk-spin {
  width: 16px; height: 16px; border-radius: 50%; flex-shrink: 0;
  border: 2px solid var(--bk-border); border-top-color: var(--bk-gold);
  animation: drbkSpin .8s linear infinite;
}
@keyframes drbkSpin { to { transform: rotate(360deg); } }

.drbk-tz { font-size: .78rem; color: var(--bk-muted); }

.drbk-days {
  display: flex; gap: 8px; overflow-x: auto; padding: 2px 2px 8px;
  scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch;
  scrollbar-width: thin; scrollbar-color: rgba(201,169,110,.4) transparent;
}
.drbk-day {
  flex: 0 0 64px; scroll-snap-align: start;
  display: flex; flex-direction: column; align-items: center; gap: 1px;
  padding: 8px 4px; border: 1.5px solid var(--bk-border); border-radius: 10px;
  background: #fff; cursor: pointer; font-family: inherit; color: var(--bk-navy);
  transition: border-color .2s, background .2s, transform .15s;
}
.drbk-day:hover { border-color: var(--bk-gold); }
.drbk-day.active { background: var(--bk-navy); border-color: var(--bk-navy); color: #fff; }
.drbk-wd { font-size: .68rem; text-transform: uppercase; letter-spacing: .06em; opacity: .8; }
.drbk-dn { font-size: 1.2rem; font-weight: 700; line-height: 1.2; }
.drbk-mn { font-size: .7rem; opacity: .8; }

.drbk-slots { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 8px; }
.drbk-slot {
  padding: 10px 6px; border: 1.5px solid var(--bk-border); border-radius: 8px;
  background: #fff; color: var(--bk-navy); font-weight: 600; font-size: .85rem;
  cursor: pointer; font-family: inherit; transition: all .2s;
}
.drbk-slot:hover { border-color: var(--bk-gold); background: #FEFBF6; }
.drbk-slot.active { background: var(--bk-gold); border-color: var(--bk-gold); color: #fff; }

.drbk-chosen {
  padding: 10px 14px; border-radius: 8px; font-size: .85rem;
  background: rgba(201,169,110,.1); border: 1px solid rgba(201,169,110,.35); color: var(--bk-navy);
}
.drbk-chosen[hidden] { display: none; }

.drbk-pkg-note {
  padding: 12px 14px; border-radius: 8px; font-size: .84rem; line-height: 1.6;
  background: #f0fdf4; border: 1px solid #bbf7d0; color: #166534;
}
.drbk-pkg-note[hidden] { display: none; }

[dir="rtl"] .drbk-slots, [dir="rtl"] .drbk-chosen, [dir="rtl"] .drbk-tz { direction: rtl; text-align: right; }
[dir="rtl"] .drbk-days { direction: rtl; }

/* ---------- My Account → My Sessions ---------- */
.drbk-account { font-size: .95rem; color: var(--bk-text); }
.drbk-account[dir="rtl"] { text-align: right; }
.drbk-h { font-size: 1.15rem; color: var(--bk-navy); margin: 28px 0 12px; }
.drbk-h:first-child { margin-top: 0; }
.drbk-muted { color: var(--bk-muted); font-size: .85rem; }

.drbk-credit, .drbk-session {
  background: #fff; border: 1px solid var(--bk-border); border-radius: 12px;
  padding: 16px 18px; margin-bottom: 12px;
}
.drbk-credit-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 12px; }
.drbk-credit-name { font-weight: 700; color: var(--bk-navy); }
.drbk-credit-count { text-align: center; color: var(--bk-navy); font-size: .9rem; }
.drbk-credit-count strong { font-size: 1.6rem; }
.drbk-credit-count span { display: block; font-size: .7rem; color: var(--bk-muted); }
.drbk-credit-picker { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--bk-border); }
.drbk-credit-picker[hidden], .drbk-credit-actions[hidden] { display: none; }
.drbk-credit-actions { display: flex; align-items: center; gap: 12px; margin-top: 12px; flex-wrap: wrap; }
.drbk-credit-msg { font-size: .85rem; color: #b91c1c; }
.drbk-credit-msg.ok { color: #166534; }

.drbk-session { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.drbk-session-time { font-weight: 700; color: var(--bk-navy); }
.drbk-past { opacity: .7; }

.drbk-btn {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 10px 22px; border-radius: 50px; border: 2px solid var(--bk-navy);
  background: var(--bk-navy); color: #fff !important; font-weight: 600; font-size: .85rem;
  cursor: pointer; text-decoration: none; font-family: inherit; transition: all .2s;
}
.drbk-btn:hover { background: var(--bk-gold); border-color: var(--bk-gold); }
.drbk-btn-gold { background: var(--bk-gold); border-color: var(--bk-gold); color: #1E2A3A !important; }
.drbk-btn-gold:hover { background: var(--bk-navy); border-color: var(--bk-navy); color: #fff !important; }
.drbk-btn[disabled] { opacity: .6; cursor: wait; }

.drbk-policy {
  margin-top: 24px; padding: 12px 16px; border-radius: 8px; font-size: .82rem; line-height: 1.7;
  background: var(--bk-ivory); border: 1px solid var(--bk-border); color: #5A5A5A;
}
.drbk-policy a { color: var(--bk-gold); font-weight: 600; }

@media (max-width: 640px) {
  .drbk-slots { grid-template-columns: repeat(3, 1fr); }
  .drbk-credit-head { flex-direction: column; }
}

.drbk-slot { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.drbk-loc { font-size: .68rem; font-weight: 500; opacity: .75; }

.drbk-day.off { opacity: .35; cursor: not-allowed; background: #f5f3f0; border-style: dashed; }
.drbk-day.off:hover { border-color: var(--bk-border); }
