/* Button Styling - Fix for text visibility */

.btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* ===== BLUE BUTTONS (btn-primary) ===== */
/* These are form buttons and anchor buttons with blue background */
.btn-primary {
  background-color: rgb(2 132 199 / 1) !important;
  color: rgb(255 255 255 / 1) !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-primary:hover {
  background-color: rgb(3 105 161 / 1) !important;
  color: rgb(255 255 255 / 1) !important;
}

.btn-primary:active {
  background-color: rgb(7 89 133 / 1) !important;
  color: rgb(255 255 255 / 1) !important;
}

.btn-primary:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgb(224 242 254 / 1);
  color: rgb(255 255 255 / 1) !important;
}

.btn-primary:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgb(224 242 254 / 1);
  color: rgb(255 255 255 / 1) !important;
}

/* ===== WHITE BUTTONS ===== */
/* Contact Us button in services.html CTA section */
.btn.bg-white {
  background-color: rgb(255 255 255 / 1) !important;
  color: rgb(2 132 199 / 1) !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn.bg-white:hover {
  background-color: rgb(248 250 252 / 1) !important;
  color: rgb(2 132 199 / 1) !important;
}

.btn.bg-white:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgb(224 242 254 / 1);
  color: rgb(2 132 199 / 1) !important;
}

.btn.bg-white:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgb(224 242 254 / 1);
  color: rgb(2 132 199 / 1) !important;
}

/* ===== OUTLINE BUTTONS ===== */
.btn-outline {
  border-width: 2px;
  border-color: rgb(2 132 199 / 1);
  color: rgb(2 132 199 / 1) !important;
  background-color: transparent;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-outline:hover {
  background-color: rgb(2 132 199 / 1) !important;
  color: rgb(255 255 255 / 1) !important;
}

.btn-outline:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgb(224 242 254 / 1);
}

.btn-outline:focus-visible {
  outline: 2px solid transparent;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgb(224 242 254 / 1);
}

/* ===== ICON STYLING ===== */
.btn i,
.btn svg {
  pointer-events: none;
  display: inline;
  vertical-align: middle;
  color: inherit;
}
