/* shared date/time picker (calendar + analog clock) styling — used by the
   homepage booking bar and the booking-page trip editor so both look identical.
   var() fallbacks keep it self-sufficient on whichever page imports it. */
@keyframes bwClockIn { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: none; } }
.bw__clock { animation: bwClockIn .3s ease; }
@media (prefers-reduced-motion: reduce) { .bw__clock { animation: none; } .bw__clock g { transition: none !important; } }

.bw__cal { left: 0; right: auto; width: 282px; padding: 14px; cursor: default; }
.bw__cal-h { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.bw__cal-h b { font-family: var(--text, "Inter", system-ui, sans-serif); font-size: 14px; font-weight: 600; color: #fff; }
.bw__cal-h button {
  width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center;
  color: #fff; border: 1px solid rgba(255,255,255,.22); background: transparent; -webkit-appearance: none; appearance: none; transition: background .15s, opacity .15s;
}
.bw__cal-h button:hover { background: rgba(255,255,255,.12); }
.bw__cal-h button:disabled { opacity: .25; pointer-events: none; }
.bw__cal-g { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; margin-top: 10px; }
.bw__cal-dow span {
  text-align: center; font-family: var(--text, "Inter", system-ui, sans-serif); font-size: 10.5px; font-weight: 600;
  letter-spacing: .06em; color: rgba(255,255,255,.45);
}
.bw__cal-dow { margin-top: 12px; }
.bw__cal-d {
  height: 32px; border: 0; border-radius: 9px; background: transparent; -webkit-appearance: none; appearance: none;
  display: grid; place-items: center;
  font-family: var(--text, "Inter", system-ui, sans-serif); font-size: 13.5px; font-weight: 500; color: #fff;
  transition: background .12s;
}
.bw__cal-d:hover { background: rgba(255,255,255,.1); }
.bw__cal-d:disabled { opacity: .25; pointer-events: none; }
.bw__cal-d.today { box-shadow: inset 0 0 0 1px rgba(207,198,172,.55); }
.bw__cal-d.sel {
  background: linear-gradient(180deg, var(--gold, #b4a886) 0%, var(--gold-600, #9b8e69) 100%);
  color: #2a2618; font-weight: 700; box-shadow: none;
}
.bw__cal-f { display: flex; justify-content: flex-end; margin-top: 12px; }
.bw__cal-f button {
  font-family: var(--text, "Inter", system-ui, sans-serif); font-size: 13px; font-weight: 600; color: var(--gold-300, #cfc6ac);
  padding: 6px 12px; border-radius: 9px; transition: background .15s;
}
.bw__cal-f button:hover { background: rgba(255,255,255,.08); }

/* light theme — for the booking page (dark text on a white card) */
.bw__cal--light .bw__cal-h b { color: var(--ink, #20222a); }
.bw__cal--light .bw__cal-h button { color: var(--ink, #20222a); border-color: var(--line2, #dedcd6); }
.bw__cal--light .bw__cal-h button:hover { background: rgba(0,0,0,.05); }
.bw__cal--light .bw__cal-dow span { color: var(--muted2, #9a9ea7); }
.bw__cal--light .bw__cal-d { color: var(--ink, #20222a); }
.bw__cal--light .bw__cal-d:hover { background: rgba(0,0,0,.05); }
.bw__cal--light .bw__cal-d.today { box-shadow: inset 0 0 0 1px rgba(155,142,105,.5); }
