/* Shared CTA language: restrained solid colors, balanced spacing, no glyphs. */
#top .hero-register-button,
.floating-contact .floating-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 56px;
  padding: 15px 26px !important;
  border: 1px solid rgba(0, 0, 0, .06) !important;
  border-radius: 12px !important;
  background: var(--cta-color) !important;
  color: #fff !important;
  box-shadow: 0 2px 5px rgba(20, 40, 65, .12) !important;
  font-family: inherit;
  font-size: 19px !important;
  font-weight: 700 !important;
  letter-spacing: .025em;
  line-height: 1.4 !important;
  text-decoration: none;
  transition: background-color .18s ease, box-shadow .18s ease;
}
#top .hero-register-button { --cta-color: #c95309; --cta-hover: #ac4506; min-width: 260px; }
.floating-contact .floating-action--register { --cta-color: #16864b; --cta-hover: #116d3c; }
.floating-contact .floating-action--login { --cta-color: #1764bc; --cta-hover: #12529d; }
.floating-contact .floating-action--contact { --cta-color: #b92f38; --cta-hover: #9f252d; }
#top .hero-register-button:hover,
.floating-contact .floating-action:hover {
  background: var(--cta-hover) !important;
  box-shadow: 0 4px 10px rgba(20, 40, 65, .16) !important;
  filter: none;
}
#top .hero-register-button:focus-visible,
.floating-contact .floating-action:focus-visible { outline: 3px solid #07316d; outline-offset: 4px; }
.floating-contact { width: 244px !important; gap: 10px; }
.floating-contact .floating-contact-close {
  left: auto !important;
  right: -8px !important;
  top: -17px !important;
  width: 28px;
  height: 28px;
  color: #526172 !important;
  background: #fff !important;
  border: 1px solid #dce3eb !important;
  box-shadow: 0 2px 6px rgba(20, 40, 65, .12) !important;
  font-size: 20px !important;
}
@media (max-width: 640px) {
  .floating-contact { width: auto !important; gap: 7px; }
  .floating-contact .floating-action {
    flex-direction: row;
    min-height: 50px;
    padding: 12px 3px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    letter-spacing: 0;
  }
  .floating-contact .floating-contact-close { right: -3px !important; top: -23px !important; }
}
@media (prefers-reduced-motion: reduce) {
  #top .hero-register-button, .floating-contact .floating-action { transition: none; }
}
