/* Booking components adapted to digital/static/css/brand.css and its portal identity.
   The original wordmark, icons and font files are carried forward without recolouring. */
body {
  background:
    radial-gradient(circle at 78% 8%, rgba(235, 214, 143, .32), transparent 34rem),
    radial-gradient(circle at 8% 20%, rgba(10, 39, 78, .06), transparent 28rem),
    var(--brand-bg);
}
.topbar { background: rgba(255, 255, 255, .97); border-bottom-color: var(--brand-line); }
.brand { flex-wrap: wrap; gap: .65rem; letter-spacing: normal; }
.brand-wordmark { display: block; width: 168px; height: 26px; object-fit: contain; }
.brand-product { font-size: .65rem; letter-spacing: .18em; color: var(--brand-navy); border-inline-start: 1px solid var(--brand-border); padding-inline-start: .7rem; }
.panel { box-shadow: 0 8px 32px rgba(6, 29, 61, .035); }
.hero h1 { color: var(--brand-navy-deep); }
.hero-art { background: linear-gradient(145deg, var(--brand-gold-soft), var(--brand-surface-warm)); border: 1px solid var(--brand-line); border-radius: var(--brand-radius-lg); }
.calendar-art { border: 1px solid var(--brand-border); box-shadow: var(--brand-shadow); }
.art-appointment.pale { background: var(--brand-gold-soft); border-color: var(--brand-gold); }
.floating-tag { color: #fff; background: var(--brand-navy); border-bottom: 3px solid var(--brand-gold); }
.feature-number { color: var(--brand-navy-hover); }
.business-letter { background: var(--brand-gold-soft); color: var(--brand-navy); border: 1px solid rgba(170,136,0,.2); }
.business-card:hover { box-shadow: var(--brand-shadow); }
.eyebrow { color: var(--brand-navy-hover); }
.button:hover, button:hover { filter: none; }
.button:not(.secondary):hover, button:not(.secondary):not(.text-button):not(.danger):hover { background: var(--brand-navy-hover); }
.text-button:hover, .secondary:hover { background: var(--brand-navy-soft); }
@media (max-width: 600px) {
  .brand-wordmark { width: 125px; height: 22px; }
  .brand-product { width: 100%; border: 0; padding: 0; font-size: .55rem; letter-spacing: .2em; }
  .topbar nav { gap: .25rem; }
}
