/* NEER Primary CTA on the native, editable Branding buttons. */
:is(.neer-primary-cta, :where(.elementor.elementor-16686 .elementor-element.elementor-widget-wcf--button a.wcf-btn-default)) {
  position: relative;
  isolation: isolate;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  white-space: normal;
  overflow-wrap: anywhere;
  padding: 14px 28px;
  border: 1px solid #ffffff3d;
  border-radius: 9999px;
  color: #fff;
  font: 500 19px/1.5 Kanit, sans-serif;
  letter-spacing: .05em;
  text-decoration: none;
  background: linear-gradient(170deg,#ffffff08,#ffffff03 52%,#fff0),
    radial-gradient(130% 190% at 24% -40%,#ffffff0a,#fff0 56%),
    linear-gradient(165deg,#ccff001f,#14161212 46%,#08090c21);
  -webkit-backdrop-filter: blur(6px) saturate(170%) brightness(1.5);
  backdrop-filter: blur(6px) saturate(170%) brightness(1.5);
  transition: transform .25s ease, border-color .45s ease, background .45s ease;
}

:is(.neer-primary-cta, :where(.elementor.elementor-16686 .elementor-element.elementor-widget-wcf--button a.wcf-btn-default))::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(115deg,#ffffff14,#fff0 34%), linear-gradient(300deg,#ffffff08,#fff0 42%);
  mix-blend-mode: screen;
  pointer-events: none;
}

:is(.neer-primary-cta, :where(.elementor.elementor-16686 .elementor-element.elementor-widget-wcf--button a.wcf-btn-default))::after {
  content: '';
  position: static;
  display: block;
  flex: none;
  width: 26px;
  height: 18px;
  background: #cf0;
  -webkit-mask: url('primary-cta-arrow.svg') center / contain no-repeat;
  mask: url('primary-cta-arrow.svg') center / contain no-repeat;
  pointer-events: none;
}

:is(.neer-primary-cta, :where(.elementor.elementor-16686 .elementor-element.elementor-widget-wcf--button a.wcf-btn-default)):is(:hover,:focus-visible) {
  color: #fff;
  border-color: #ccff008c;
  background: linear-gradient(170deg,#ffffff17,#ffffff08 52%,#ffffff03),
    radial-gradient(130% 190% at 24% -40%,#ffffff1a,#fff0 58%),
    linear-gradient(165deg,#ccff0038,#1c1e1838 46%,#08090c5c);
  transform: translateY(-2px);
}

:is(.neer-primary-cta, :where(.elementor.elementor-16686 .elementor-element.elementor-widget-wcf--button a.wcf-btn-default)):focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

:is(.neer-primary-cta, :where(.elementor.elementor-16686 .elementor-element.elementor-widget-wcf--button a.wcf-btn-default)):active { transform: scale(.98); }

@media (prefers-reduced-motion: reduce) {
  :is(.neer-primary-cta, :where(.elementor.elementor-16686 .elementor-element.elementor-widget-wcf--button a.wcf-btn-default)) {
    transition: none;
    transform: none !important;
  }
}

.neer-primary-cta > span { position: relative; z-index: 1; min-width: 0; }

/* Light glass gives the label and dotted arrow an opaque contrast floor. */
:is(.neer-primary-cta.neer-primary-cta-light, .neer-primary-cta.neer-primary-cta-circle, .elementor-widget.elementor-element.neer-native-service-cta .wcf__btn a.wcf-btn-circle) {
  background: linear-gradient(155deg, #f7ffc9, #eaf2d2 55%, #f8faef) !important;
  color: #25320b !important;
  border-color: #a6b881 !important;
  box-shadow: inset 0 1px 0 #ffffff40, 0 5px 14px #121a1512;
}
:is(.neer-primary-cta.neer-primary-cta-light, .neer-primary-cta.neer-primary-cta-circle, .elementor-widget.elementor-element.neer-native-service-cta .wcf__btn a.wcf-btn-circle)::after {
  background-color: #486300;
}
:is(.neer-primary-cta.neer-primary-cta-light, .neer-primary-cta.neer-primary-cta-circle, .elementor-widget.elementor-element.neer-native-service-cta .wcf__btn a.wcf-btn-circle):is(:hover, :focus-visible) {
  background: linear-gradient(155deg, #fff, #e4f3b3) !important;
  color: #171917 !important;
  border-color: #71823f;
  box-shadow: inset 0 1px 0 #fff, 0 7px 20px #121a1529;
}
:is(.neer-primary-cta.neer-primary-cta-light, .neer-primary-cta.neer-primary-cta-circle, .elementor-widget.elementor-element.neer-native-service-cta .wcf__btn a.wcf-btn-circle):is(:hover, :focus-visible)::after { background-color: #486300; }
:is(.neer-primary-cta.neer-primary-cta-light, .neer-primary-cta.neer-primary-cta-circle, .elementor-widget.elementor-element.neer-native-service-cta .wcf__btn a.wcf-btn-circle):focus-visible {
  outline-color: #63762d;
}
.neer-primary-cta.neer-primary-cta-circle {
  width: 150px;
  aspect-ratio: 1;
  flex-direction: column;
  gap: .35rem;
  padding: 20px;
  text-align: center;
  font-size: 16px;
  letter-spacing: 0;
}

.elementor-widget.elementor-element.neer-native-service-cta .wcf__btn a.wcf-btn-circle > span:empty {
  display: none;
}

/* Preserve the WCF circle and its pointer-origin fill layer. */
.elementor-widget-neer-outline-cta .wcf__btn a.wcf-btn-circle {
  background: transparent !important;
  border: 1px solid #759000 !important;
  color: #121212 !important;
  font: 500 16px/1.35 'NEER Kanit', Kanit, sans-serif !important;
  text-align: center;
  padding-inline: 18px;
  gap: 8px;
}
.elementor-widget-neer-outline-cta.neer-outline-on-dark .wcf__btn a.wcf-btn-circle {
  color: #f6f7f3 !important;
  border-color: #ccff00 !important;
}
.elementor-widget-neer-outline-cta .wcf__btn a.wcf-btn-circle > span {
  background: #ccff00 !important;
}
.elementor-widget-neer-outline-cta .wcf__btn a.wcf-btn-circle::after {
  content: '';
  position: relative;
  width: 24px;
  height: 16px;
  flex: 0 0 24px;
  background: #547000;
  mask: url('primary-cta-arrow.svg') center / contain no-repeat;
}
.elementor-widget-neer-outline-cta.neer-outline-on-dark .wcf__btn a.wcf-btn-circle::after {
  background-color: #ccff00;
}
.elementor-widget-neer-outline-cta .wcf__btn a.wcf-btn-circle:is(:hover, :focus-visible) {
  color: #121212 !important;
}
.elementor-widget-neer-outline-cta .wcf__btn a.wcf-btn-circle:is(:hover, :focus-visible)::after {
  background-color: #354700;
}
.elementor-widget-neer-outline-cta .wcf__btn a.wcf-btn-circle:focus-visible {
  background: #ccff00 !important;
  outline: 2px solid #759000;
  outline-offset: 4px;
}

.elementor-widget-neer-outline-cta.neer-outline-shape-pill .wcf__btn a.wcf-btn-circle {
  width: max-content !important;
  max-width: 100%;
  height: auto !important;
  min-height: 57.6px;
  padding: 14.4px 28.8px;
  gap: 9.6px;
  font-size: 19.2px !important;
  flex-direction: row;
  border-radius: 999px;
}
.elementor-widget-neer-outline-cta.neer-outline-shape-pill .wcf__btn a.wcf-btn-circle::after {
  width: 28.8px;
  height: 19.2px;
  flex-basis: 28.8px;
}
.elementor-widget-neer-outline-cta.neer-outline-shape-circle .wcf__btn a.wcf-btn-circle::after {
  width: 30px;
  height: 20px;
  flex-basis: 30px;
}
