/* Match the supplied SPICA pill button across primary actions site-wide. */
:where(
  a.btn:not(.btn-filter),
  button.btn:not(.btn-filter):not(#mobileMenuBtn),
  input[type="submit"],
  button[type="submit"],
  .btn-premium,
  .btn-outline-premium,
  .action:not(.text-link),
  .brand-button,
  .home-primary-action,
  .home-secondary-action,
  .home-closing > a,
  .editorial-hero-top > a,
  .editorial-hero-bottom .editorial-hero-link,
  .editorial-closing > a,
  .projects-closing > a,
  .showroom-card__button,
  .healthcare-enquiry-actions > a
) {
  position: relative;
  display: inline-flex !important;
  min-height: 40px !important;
  align-items: center;
  justify-content: center;
  padding: 10px 42px !important;
  overflow: visible;
  border: 0 !important;
  border-radius: 999px !important;
  outline: none !important;
  color: #fff !important;
  background: #222 !important;
  box-shadow: none !important;
  font-family: Outfit, Arial, sans-serif;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.15;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  white-space: normal;
  cursor: pointer;
  transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

:is(
  a.btn:not(.btn-filter),
  button.btn:not(.btn-filter):not(#mobileMenuBtn),
  input[type="submit"],
  button[type="submit"],
  .btn-premium,
  .btn-outline-premium,
  .action:not(.text-link),
  .brand-button,
  .home-primary-action,
  .home-secondary-action,
  .home-closing > a,
  .editorial-hero-top > a,
  .editorial-hero-bottom .editorial-hero-link,
  .editorial-closing > a,
  .projects-closing > a,
  .showroom-card__button,
  .healthcare-enquiry-actions > a
) {
  padding: 10px 42px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

:where(
  a.btn:not(.btn-filter),
  button.btn:not(.btn-filter):not(#mobileMenuBtn),
  button[type="submit"],
  .btn-premium,
  .btn-outline-premium,
  .action:not(.text-link),
  .brand-button,
  .home-primary-action,
  .home-secondary-action,
  .home-closing > a,
  .editorial-hero-top > a,
  .editorial-hero-bottom .editorial-hero-link,
  .editorial-closing > a,
  .projects-closing > a,
  .showroom-card__button,
  .healthcare-enquiry-actions > a
)::after {
  position: absolute;
  top: -4px;
  right: -4px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #222;
  content: "";
  box-shadow: 0 0 0 2px #fff;
  z-index: 1;
  pointer-events: none;
}

:where(
  a.btn:not(.btn-filter),
  button.btn:not(.btn-filter):not(#mobileMenuBtn),
  button[type="submit"],
  .btn-premium,
  .btn-outline-premium,
  .action:not(.text-link),
  .brand-button,
  .home-primary-action,
  .home-secondary-action,
  .home-closing > a,
  .editorial-hero-top > a,
  .editorial-hero-bottom .editorial-hero-link,
  .editorial-closing > a,
  .projects-closing > a,
  .showroom-card__button,
  .healthcare-enquiry-actions > a
):is(:hover, :focus-visible) {
  color: #fff !important;
  background: #303030 !important;
  transform: translateY(-1px);
}

:where(
  a.btn:not(.btn-filter),
  button.btn:not(.btn-filter):not(#mobileMenuBtn),
  button[type="submit"],
  .btn-premium,
  .btn-outline-premium,
  .action:not(.text-link),
  .brand-button,
  .home-primary-action,
  .home-secondary-action,
  .home-closing > a,
  .editorial-hero-top > a,
  .editorial-hero-bottom .editorial-hero-link,
  .editorial-closing > a,
  .projects-closing > a,
  .showroom-card__button,
  .healthcare-enquiry-actions > a
):is(:hover, :focus-visible)::after {
  background: #303030;
}

:where(
  a.btn:not(.btn-filter),
  button.btn:not(.btn-filter):not(#mobileMenuBtn),
  .btn-premium,
  .btn-outline-premium,
  .action:not(.text-link),
  .brand-button,
  .home-primary-action,
  .home-secondary-action,
  .home-closing > a,
  .editorial-hero-top > a,
  .editorial-hero-bottom .editorial-hero-link,
  .editorial-closing > a,
  .projects-closing > a,
  .showroom-card__button,
  .healthcare-enquiry-actions > a
) :is(i, svg, [aria-hidden="true"]) {
  display: none !important;
}

:where(a.btn:not(.btn-filter), button.btn:not(.btn-filter):not(#mobileMenuBtn), .btn-premium, .brand-button, .home-primary-action, .home-secondary-action):focus-visible {
  outline: 2px solid #f5a27d !important;
  outline-offset: 4px;
}

:where(button.btn:not(.btn-filter):not(#mobileMenuBtn), button[type="submit"]):disabled {
  cursor: not-allowed;
  opacity: .65;
}

@media (prefers-reduced-motion: reduce) {
  :where(a.btn:not(.btn-filter), button.btn:not(.btn-filter):not(#mobileMenuBtn), .btn-premium, .brand-button, .home-primary-action, .home-secondary-action) {
    transition: none;
  }
}

/* Keep homepage hero CTAs close to Sunon's compact 216 × 40 reference pill. */
.home-hero-actions > :is(.home-primary-action, .home-secondary-action) {
  width: 216px !important;
  max-width: 100%;
  min-height: 40px !important;
  box-sizing: border-box;
  justify-content: center !important;
  gap: 0 !important;
}

/* Product archive hero CTA keeps the shared pill style over photography. */
:is(.products-page, .category-page) .products-hero-top > a {
  position: relative;
  display: inline-flex !important;
  min-height: 40px !important;
  align-items: center;
  justify-content: center;
  padding: 10px 42px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: #222 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

:is(.products-page, .category-page) .products-hero-top > a::after {
  position: absolute;
  display: block;
  top: -4px;
  right: -4px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #222;
  box-shadow: 0 0 0 2px #fff;
  opacity: 1 !important;
  content: "";
}

