/* Public frontend theme overrides (book/details/cancel) */

:root {
  --public-blue: #0d6efd;
  --public-blue-dark: #0b5ed7;
  --public-blue-border: #0a58ca;
}

body.public-booking-theme .btn {
  border-radius: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.005em;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, transform .12s ease;
}

body.public-booking-theme .btn:active {
  transform: translateY(1px);
}

body.public-booking-theme .btn-primary {
  background: linear-gradient(180deg, var(--public-blue) 0%, var(--public-blue-dark) 100%) !important;
  border: 1px solid var(--public-blue-border) !important;
  color: #fff !important;
  box-shadow: 0 .45rem 1.05rem rgba(13, 110, 253, .24) !important;
}

body.public-booking-theme .btn-primary:hover,
body.public-booking-theme .btn-primary:focus-visible {
  background: linear-gradient(180deg, #1b74fd 0%, var(--public-blue) 100%) !important;
  border-color: var(--public-blue-border) !important;
  color: #fff !important;
  box-shadow: 0 .55rem 1.2rem rgba(13, 110, 253, .28) !important;
}

body.public-booking-theme .btn-primary:active {
  background: linear-gradient(180deg, #0b5ed7 0%, #0a58ca 100%) !important;
  border-color: #094fb8 !important;
  color: #fff !important;
}

body.public-booking-theme .btn-outline-primary {
  background: #fff !important;
  border: 1px solid rgba(13, 110, 253, .45) !important;
  color: var(--public-blue) !important;
  box-shadow: 0 1px 2px rgba(13, 110, 253, .08) !important;
}

body.public-booking-theme .btn-outline-primary:hover,
body.public-booking-theme .btn-outline-primary:focus-visible {
  background: rgba(13, 110, 253, .09) !important;
  border-color: rgba(13, 110, 253, .6) !important;
  color: var(--public-blue-dark) !important;
}

body.public-booking-theme .btn-outline-primary:active {
  background: rgba(13, 110, 253, .14) !important;
  border-color: var(--public-blue-border) !important;
  color: #084298 !important;
}

body.public-booking-theme .public-branding-card {
  border-radius: 1rem;
}

body.public-booking-theme .public-branding-row {
  min-width: 0;
}

body.public-booking-theme .public-branding-logo {
  max-height: 56px;
  max-width: 200px;
  object-fit: contain;
}

body.public-booking-theme .public-booking-footer {
  margin-top: 1.25rem !important;
}

body.public-booking-theme .public-booking-footer-links a,
body.public-booking-theme .brand-meta a {
  color: rgba(11, 18, 32, .74);
  text-decoration: none;
}

body.public-booking-theme .public-booking-footer-links a:hover,
body.public-booking-theme .brand-meta a:hover {
  text-decoration: underline;
}

@media (max-width: 575.98px) {
  body.public-booking-theme .public-branding-row {
    flex-direction: column;
    align-items: flex-start !important;
    gap: .65rem;
  }
}
