/* Business Snapshot light palette for public pages that still use the admin
   stylesheet (base.html + custom.css), e.g. the booking page. Load it AFTER
   custom.css: it re-points the shared colour tokens at the site palette, which
   comes from the official logo (blue #0076DB, red #EC1C24, yellow #FDCB34,
   green #65CC33) on white, so those pages match the marketing site.
   The old "--gold*" token names are kept because the templates use them; they
   now carry the brand blue. */
:root {
  --brand-blue: #0076DB;
  --brand-blue-hover: #005BB0;
  --bg-primary: #F7FAFD;
  --bg-secondary: #F3F7FC;
  --bg-tertiary: #E8F2FD;
  --bg-card: #FFFFFF;
  --bg-card-hover: #FAFCFF;
  --bg-input: #FFFFFF;
  --gold: #006BC7;          /* brand blue, text-safe on white and the pale tints */
  --gold-hover: #005BB0;
  --gold-champagne: #E8F2FD;
  --gold-bronze: #004A8F;
  --gold-tint: #E8F2FD;
  --gold-glow: rgba(0, 118, 219, 0.25);
  --text-primary: #0F1B2D;
  --text-muted: #334155;
  --text-subtle: #5B6578;
  --text-inverse: #FFFFFF;
  --border: #C3D0DF;
  --border-light: #DCE5EF;
  --border-gold: rgba(0, 118, 219, 0.35);
  --success: #2E7D1F;
  --success-bg: rgba(101, 204, 51, 0.16);
  --danger: #B42318;
  --danger-bg: #FDECEA;
  --shadow-sm: 0 1px 2px rgba(15, 27, 45, .06), 0 4px 12px rgba(15, 27, 45, .06);
  --shadow-md: 0 1px 2px rgba(15, 27, 45, .06), 0 8px 24px rgba(15, 27, 45, .08);
  --shadow-lg: 0 24px 60px rgba(15, 27, 45, .14);
}
body { background-color: #F7FAFD; color: #334155; }
h1, h2, h3 { font-family: "Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; letter-spacing: -.02em; line-height: 1.15; font-style: normal; }
.card { background: #FFFFFF; border-color: #DCE5EF; box-shadow: var(--shadow-md); }
input, select, textarea { background: #FFFFFF !important; color: #0F1B2D !important; border-color: #C3D0DF !important; }
input:focus, select:focus, textarea:focus { border-color: #0076DB !important; box-shadow: 0 0 0 4px rgba(0, 118, 219, .18) !important; }
.btn-primary { background: #0076DB; border-color: #0076DB; color: #fff; }
.btn-primary:hover { background: #005BB0; border-color: #005BB0; color: #fff; }
.bs-topbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px max(16px, 4vw); border-bottom: 1px solid #DCE5EF; background: rgba(255, 255, 255, .96); }
.bs-topbar .bs-brand { display: flex; align-items: center; gap: 10px; color: #0F1B2D; font-weight: 700; font-size: 1.1rem; text-decoration: none; font-family: "Plus Jakarta Sans", "Inter", sans-serif; line-height: 0; }
.bs-topbar .bs-brand img { height: 40px; width: auto; display: block; }
@media (min-width: 900px) { .bs-topbar .bs-brand img { height: 48px; } }
.bs-topbar .bs-back { color: #006BC7; font-weight: 600; font-size: .9rem; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #EC1C24; white-space: nowrap; }
.bs-footer { text-align: center; padding: 28px 16px 40px; color: #5B6578; font-size: .88rem; }
.bs-footer a { color: #006BC7; }
