/*
 * Reusable controls based on the Bricks iPrestige global style.
 */

.ip-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 26px;
  border: 0;
  border-radius: var(--ip-radius-button, 9px);
  font-family: var(--ip-font-heading, "Manrope", sans-serif);
  font-size: 17px;
  font-weight: 800;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-position .7s ease, transform .25s ease, box-shadow .25s ease;
}

.ip-btn--primary {
  color: var(--white) !important;
  background: linear-gradient(90deg, var(--secondary) 0%, var(--primary) 50%, var(--secondary) 100%);
  background-size: 220% 100%;
  background-position: 0% 50%;
}

.ip-btn--primary:hover,
.ip-btn--primary:focus-visible {
  color: var(--white) !important;
  background-position: 100% 50%;
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(0, 196, 248, .22);
}

.ip-btn--outline,
.ip-btn--ghost {
  color: var(--primary) !important;
  background: var(--white);
  border: 1px solid var(--primary);
  font-family: var(--ip-font-heading, "Manrope", sans-serif);
  font-size: var(--text-m);
  font-weight: 700;
}

.ip-btn--outline:hover,
.ip-btn--outline:focus-visible,
.ip-btn--ghost:hover,
.ip-btn--ghost:focus-visible {
  color: var(--secondary) !important;
  border-color: var(--secondary);
  transform: translateY(-1px);
}

.ip-btn:focus-visible {
  outline: 3px solid rgba(0, 196, 248, .42);
  outline-offset: 3px;
}

.ipm-icon {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

@media (prefers-reduced-motion: reduce) {
  .ip-btn {
    transition: none;
  }

  .ip-btn:hover,
  .ip-btn:focus-visible {
    transform: none;
  }
}
