/* Shared public actions; keep each page's existing colour palette and layout. */
.public-site .button {
  min-height: 48px;
  padding: 13px 22px;
  gap: 12px;
  border-radius: 10px;
  text-decoration: none;
}

.public-site :is(.enterprise-workspace, .calculator-shell) .button {
  border-radius: 10px;
}

.public-site .button .site-icon {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

.public-site .button-primary {
  box-shadow: 0 4px 12px rgba(102, 74, 22, 0.14);
}

.public-site .button:hover {
  transform: translateY(-1px);
}

.public-site .button-primary:hover {
  box-shadow: 0 6px 16px rgba(102, 74, 22, 0.18);
}

/* Default spacing for direct actions across the site. Low specificity keeps
   existing action groups, form rows and flex auto margins in control. */
.public-site :where(main :is(p, ul, ol, h2, h3):not(.form-status) + :is(.button, .text-link)) {
  margin-block-start: 24px;
}

/* These cards use a 12px flex gap and auto margins to align their actions. */
.public-site .compliance-card > :where(p):has(+ .button) {
  margin-block-end: 12px;
}

@media (prefers-reduced-motion: reduce) {
  .public-site .button {
    transition: none;
  }

  .public-site .button:hover {
    transform: none;
  }
}
