/* Service-page buttons use the same pill system as .btn (home) and .button (contact, booking). */
.proline-buttons { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.proline-button { display: inline-flex; }
.proline-button-link {
  position: relative; isolation: isolate; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
  min-height: 48px; padding: 0 1.4rem;
  border: 1px solid rgb(34 213 245 / 38%); border-radius: var(--r-pill);
  background: linear-gradient(180deg, rgb(255 255 255 / 13%), transparent 46%), var(--cta-fill);
  color: #fff; font-weight: 600; font-size: .95rem; letter-spacing: 0; text-decoration: none; white-space: nowrap;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 24%), inset 0 -1px 0 rgb(34 213 245 / 18%), 0 9px 24px rgb(11 59 159 / 28%);
  transition: transform var(--d-1) var(--e-out), box-shadow var(--d-2) var(--e-out), border-color var(--d-1) var(--e-out);
}
.proline-button-link::after {
  position: absolute; z-index: -1; top: -70%; left: -42%; width: 28%; height: 240%; pointer-events: none;
  background: linear-gradient(90deg, transparent, rgb(234 253 255 / 45%), transparent);
  transform: rotate(14deg) translateX(-220%); transition: transform 560ms var(--e-out); content: "";
}
.proline-button-link:hover, .proline-button-link:focus-visible {
  color: #fff; transform: translateY(-2px); border-color: rgb(34 213 245 / 62%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 32%), inset 0 -1px 0 rgb(34 213 245 / 24%), 0 0 0 1px rgb(34 213 245 / 16%), 0 0 22px rgb(34 213 245 / 20%), 0 14px 34px rgb(11 59 159 / 38%);
}
.proline-button-link:hover::after, .proline-button-link:focus-visible::after { transform: rotate(14deg) translateX(620%); }
.proline-button-link:active { transform: translateY(0) scale(.99); }
.proline-button-link:focus-visible { outline: 3px solid var(--pl-cyan, #22d5f5); outline-offset: 3px; }

/* Secondary: outlined pill, light text on dark sections, dark text on light ones. */
.proline-button--outline .proline-button-link { background: transparent; border-color: rgb(255 255 255 / 28%); color: var(--text-light); box-shadow: none; }
.proline-button--outline .proline-button-link:hover, .proline-button--outline .proline-button-link:focus-visible { border-color: rgb(34 213 245 / 70%); background: rgb(34 213 245 / 8%); box-shadow: 0 0 0 1px rgb(34 213 245 / 16%); }
.proline-service-section--light .proline-button--outline .proline-button-link { border-color: rgb(16 26 41 / 28%); color: var(--text-dark); }

@media (max-width: 520px) { .proline-buttons { flex-direction: column; align-items: stretch; } .proline-button, .proline-button-link { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .proline-button-link, .proline-button-link::after { transition: none; } }
