/* BookLocal brand overlay for the Easy!Appointments engine page.
   Injected by nginx sub_filter on the @ea proxy — the container is untouched. */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Inter:wght@400;500;600&display=swap');

body {
  background: linear-gradient(160deg, #0f0c1d 0%, #1a1430 55%, #0f0c1d 100%);
  background-attachment: fixed;
  color: #f4f1fa;
  font-family: 'Inter', 'Space Grotesk', system-ui, sans-serif;
}

.container { max-width: 960px; }

.bg-body {
  background-color: #161226 !important;
  border: 1px solid #241d3d;
  border-radius: 20px;
  box-shadow: 0 30px 70px rgba(0,0,0,.55);
  overflow: hidden;
}

.bg-primary {
  background: linear-gradient(135deg, #5b4bff 0%, #7c3aed 100%) !important;
}

.bg-primary img {
  max-height: 42px;
  border-radius: 10px;
}

.display-booking-selection { color: rgba(244,241,250,.75) !important; }

.book-step {
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.25);
}
.book-step strong { color: rgba(244,241,250,.5); }
.book-step.active-step {
  background: rgba(244,241,250,.95) !important;
  border-color: transparent;
}
.book-step.active-step strong { color: #5b4bff !important; }

h2.frame-title { color: #a79fc7 !important; font-family: 'Space Grotesk', sans-serif; }
label { color: #c9c2e8; }

.form-select, .form-control {
  background-color: #241d3d;
  border: 1px solid #2c2445;
  color: #f4f1fa;
  border-radius: 9px;
}
.form-select:focus, .form-control:focus {
  background-color: #241d3d;
  border-color: #8b7bff;
  box-shadow: 0 0 0 3px rgba(139,123,255,.25);
  color: #f4f1fa;
}
select.form-select option { background: #161226; color: #f4f1fa; }
.form-select { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23a79fc7' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); }

.btn-dark, .button-next {
  background: #5b4bff;
  border-color: #5b4bff;
  border-radius: 11px;
  box-shadow: 0 8px 22px rgba(91,75,255,.35);
}
.btn-dark:hover, .button-next:hover {
  background: #6c5cff;
  border-color: #6c5cff;
}
.btn-primary {
  background: linear-gradient(135deg, #5b4bff, #7c3aed);
  border: none;
  border-radius: 11px;
  box-shadow: 0 8px 22px rgba(91,75,255,.35);
}
.btn-primary:hover { filter: brightness(1.08); }
.btn-outline-secondary {
  color: #c9c2e8;
  border-color: #3a2f63;
  border-radius: 11px;
}
.btn-outline-secondary:hover {
  background: #241d3d;
  border-color: #8b7bff;
  color: #f4f1fa;
}

.form-check-input { background-color: #241d3d; border-color: #2c2445; }
.form-check-input:checked { background-color: #5b4bff; border-color: #5b4bff; }

.text-muted { color: #a79fc7 !important; }
.text-white-50 { color: rgba(244,241,250,.55) !important; }
.form-text { color: #8a83a8 !important; }

.border-top { border-color: #241d3d !important; }
.footer-powered-by, .footer-options { color: #8a83a8; }
.badge.bg-secondary { background-color: #2c2445 !important; }
a.backend-link {
  background-color: #2c2445 !important;
  color: #c9c2e8 !important;
  border-radius: 8px;
}

::selection { background: rgba(139,123,255,.4); }
