/* Owner-approved public-site action family. Selection pills, icon controls,
   inputs and cards are deliberately outside this mapping. Load after page CSS. */
:root {
  --action-radius: 6px;
  --action-motion: 160ms ease-out;
}

html body :is(.btn, .uf-submit, .form-submit, .uf-alt-btn, .f2-email,
  .pt-card-cta, .gs-pkg-cta, .pmax-package-cta, .art-share-btn,
  .art-meta-cta-btn, .audit-sample__cta-link, .solutions-sparse-note__cta,
  .cookie-banner__btn, .sj-skip, .cd-skip-float, .landing-sticky-cta,
  .m-fab-audit, .fc-submit, .geo-form-submit, .geo-form-alt-btn,
  .geo-pkg-cta, .hs-pkg-cta, .hs-pkg-panel-cta, .mt-pkg-cta,
  .tg-pkg-cta, .tt-pkg-cta, .nv4-btn, .xscan-submit,
  .art-cta-card a[href*="contact"], .art-cta-card a[href*="brief"],
  .art-cta-card a[href*="audit"], .art-cta-card a[href*="form"],
  #mobileMenu .m-foot .cta) {
  border-radius: var(--action-radius);
  min-height: var(--action-min-height, 44px);
  box-sizing: border-box;
  box-shadow: none;
}

/* Text actions stay under the pointer. Do not override the visibility transforms
   of sticky/FAB controls or their collision/scroll logic. */
html body :is(.btn, .uf-submit, .form-submit, .uf-alt-btn, .f2-email,
  .pt-card-cta, .gs-pkg-cta, .pmax-package-cta, .art-share-btn,
  .art-meta-cta-btn, .audit-sample__cta-link, .solutions-sparse-note__cta,
  .cookie-banner__btn, .fc-submit, .geo-form-submit, .geo-form-alt-btn,
  .geo-pkg-cta, .hs-pkg-cta, .hs-pkg-panel-cta, .mt-pkg-cta,
  .tg-pkg-cta, .tt-pkg-cta, .nv4-btn, .xscan-submit,
  .art-cta-card a[href*="contact"], .art-cta-card a[href*="brief"],
  .art-cta-card a[href*="audit"], .art-cta-card a[href*="form"],
  #mobileMenu .m-foot .cta) {
  transform: none;
  transition: background-color var(--action-motion), border-color var(--action-motion),
    color var(--action-motion);
}

html body :is(.uf-submit, .form-submit, .fc-submit, .geo-form-submit) { --action-min-height: 56px; }
html body header.nav .nav-cta,
html body #mobileMenu .m-foot .cta { --action-min-height: 48px; }

/* Keep native labels, form loading states and all established theme colours. */
@media (hover: hover) and (pointer: fine) {
  html body :is(.btn, .uf-submit, .form-submit, .uf-alt-btn, .f2-email,
    .pt-card-cta, .gs-pkg-cta, .pmax-package-cta, .art-share-btn,
    .art-meta-cta-btn, .audit-sample__cta-link, .solutions-sparse-note__cta,
    .cookie-banner__btn, .sj-skip, .cd-skip-float, .landing-sticky-cta,
    .m-fab-audit, .fc-submit, .geo-form-submit, .geo-form-alt-btn,
    .geo-pkg-cta, .hs-pkg-cta, .hs-pkg-panel-cta, .mt-pkg-cta,
    .tg-pkg-cta, .tt-pkg-cta, .nv4-btn, .xscan-submit,
    .art-cta-card a[href*="contact"], .art-cta-card a[href*="brief"],
    .art-cta-card a[href*="audit"], .art-cta-card a[href*="form"],
    #mobileMenu .m-foot .cta):hover { box-shadow: none; }
  html body :is(.btn.primary, .btn-primary, .uf-submit, .form-submit):not(:disabled):hover {
    background-color: color-mix(in oklab, var(--accent-fill, var(--accent)) 94%, var(--fg));
  }
  html body header.nav .nav-cta:hover,
  html body #mobileMenu .m-foot .cta:hover {
    background-color: color-mix(in oklab, var(--accent) 94%, var(--fg));
  }
}

html body :is(.btn, .uf-submit, .form-submit, .uf-alt-btn, .f2-email,
  .pt-card-cta, .gs-pkg-cta, .pmax-package-cta, .art-share-btn,
  .art-meta-cta-btn, .audit-sample__cta-link, .solutions-sparse-note__cta,
  .cookie-banner__btn, .sj-skip, .cd-skip-float, .landing-sticky-cta,
  .m-fab-audit, .fc-submit, .geo-form-submit, .geo-form-alt-btn,
  .geo-pkg-cta, .hs-pkg-cta, .hs-pkg-panel-cta, .mt-pkg-cta,
  .tg-pkg-cta, .tt-pkg-cta, .nv4-btn, .xscan-submit,
  .art-cta-card a[href*="contact"], .art-cta-card a[href*="brief"],
  .art-cta-card a[href*="audit"], .art-cta-card a[href*="form"],
  #mobileMenu .m-foot .cta):focus-visible {
  outline: 2px solid var(--fg);
  outline-offset: 3px;
}

html body :is(.btn.primary, .btn-primary, .uf-submit, .form-submit):not(:disabled):active {
  background-color: color-mix(in oklab, var(--accent-fill, var(--accent)) 92%, var(--bg));
}

@media (max-width: 767px) {
  html body main :is(.btn, .uf-submit, .form-submit, .uf-alt-btn,
    .gs-pkg-cta, .pmax-package-cta, .audit-sample__cta-link, .fc-submit,
    .geo-form-submit, .geo-form-alt-btn, .geo-pkg-cta, .hs-pkg-cta,
    .hs-pkg-panel-cta, .mt-pkg-cta, .tg-pkg-cta, .tt-pkg-cta,
    .nv4-btn, .xscan-submit) {
    max-width: 100%;
    white-space: normal;
    text-align: center;
    overflow-wrap: anywhere;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body :is(.btn, .uf-submit, .form-submit, .uf-alt-btn, .f2-email,
    .pt-card-cta, .gs-pkg-cta, .pmax-package-cta, .art-share-btn,
    .art-meta-cta-btn, .audit-sample__cta-link, .solutions-sparse-note__cta,
    .cookie-banner__btn, .sj-skip, .fc-submit, .geo-form-submit,
    .geo-form-alt-btn, .geo-pkg-cta, .hs-pkg-cta, .hs-pkg-panel-cta,
    .mt-pkg-cta, .tg-pkg-cta, .tt-pkg-cta, .nv4-btn, .xscan-submit,
    .art-cta-card a[href*="contact"], .art-cta-card a[href*="brief"],
    .art-cta-card a[href*="audit"], .art-cta-card a[href*="form"],
    #mobileMenu .m-foot .cta) { transition: none; }
}
