/* Shared public Shopcore CTA. Primary arrows keep their local responsive sizes. */
.sc-public-site :is(.ph-btn,.ph-middle-button:not(.ph-middle-button-secondary),.sl a.btn,.ail a.btn,.sc-builder-hero__cta,.sc-site-header__action,.ecmg-cta,.sc-ai-btn:not(.sc-ai-btn--ghost),.scv a.btn:not(.ghost)){
  --sc-cta-ink:#0b0914;
  --sc-cta-purple:#5d00ff;
  --sc-cta-lime:#dfff54;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  box-sizing:border-box;
  border:2px solid var(--sc-cta-ink)!important;
  border-radius:11px!important;
  background:var(--sc-cta-ink)!important;
  color:#fff!important;
  font-weight:750!important;
  text-decoration:none!important;
  box-shadow:4px 4px 0 var(--sc-cta-purple)!important;
  transform:none!important;
  transition:var(--sc-public-cta-transition,border-color .3s ease,box-shadow .3s ease)!important;
}
.sc-public-site :is(.ph-btn,.ph-middle-button:not(.ph-middle-button-secondary),.sl a.btn,.ail a.btn,.sc-builder-hero__cta,.sc-site-header__action,.ecmg-cta,.sc-ai-btn:not(.sc-ai-btn--ghost),.scv a.btn:not(.ghost))::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  border-radius:inherit;
  background:var(--sc-cta-purple)!important;
  opacity:1!important;
  pointer-events:none;
  transform:translateX(-101%);
  transition:transform .35s ease!important;
}
.sc-public-site :is(.ph-btn,.ph-middle-button:not(.ph-middle-button-secondary),.sl a.btn,.ail a.btn,.sc-builder-hero__cta,.sc-site-header__action,.ecmg-cta,.sc-ai-btn:not(.sc-ai-btn--ghost),.scv a.btn:not(.ghost)):is(:hover,:focus-visible){
  border-color:var(--sc-cta-purple)!important;
  box-shadow:4px 4px 0 #270070!important;
  transform:none!important;
}
.sc-public-site :is(.ph-btn,.ph-middle-button:not(.ph-middle-button-secondary),.sl a.btn,.ail a.btn,.sc-builder-hero__cta,.sc-site-header__action,.ecmg-cta,.sc-ai-btn:not(.sc-ai-btn--ghost),.scv a.btn:not(.ghost)):is(:hover,:focus-visible)::before{transform:translateX(0)}
.sc-public-site :is(.ph-btn,.ph-middle-button:not(.ph-middle-button-secondary),.sl a.btn,.ail a.btn,.sc-builder-hero__cta,.sc-site-header__action,.ecmg-cta,.sc-ai-btn:not(.sc-ai-btn--ghost),.scv a.btn:not(.ghost)):active{transform:none!important}
.sc-public-site :is(.ph-btn,.ph-middle-button:not(.ph-middle-button-secondary),.sl a.btn,.ail a.btn,.sc-builder-hero__cta,.sc-site-header__action,.ecmg-cta,.sc-ai-btn:not(.sc-ai-btn--ghost),.scv a.btn:not(.ghost)):focus-visible{outline:3px solid #9670ff!important;outline-offset:5px}

/* Existing markup uses either a real arrow element or an ::after arrow. */
.sc-public-site :is(.ph-btn-arrow,.sc-builder-hero__arrow,.sc-public-nav__action-arrow,.ecmg-cta-arrow,.v8-arrow),
.sc-public-site .ph-middle-button:not(.ph-middle-button-secondary)>svg,
.sc-public-site :is(.sl a.btn,.ail a.btn)::after{
  border-radius:8px!important;
  background:var(--sc-cta-lime,#dfff54)!important;
  color:var(--sc-cta-ink,#0b0914)!important;
  box-shadow:none!important;
}

/* Menu stays compact and still resizes with the sticky header. */
.sc-public-site .sc-site-header__action{--sc-public-cta-transition:min-height .32s ease,padding .32s ease,border-color .3s ease,box-shadow .3s ease}
.sc-public-site .sc-site-header__action::before{border-radius:8px}

/* The AI landing's large pill joins the rectangular CTA family. Its own arrow remains. */
.sc-public-site .ail.landing-v3 .v8-cta-button{min-height:70px;padding:12px 22px 12px 28px;font-size:clamp(18px,1.4vw,24px)!important;line-height:1.2!important}
.sc-public-site .ail.landing-v3 .v8-arrow{width:42px;height:42px;flex-basis:42px;font-size:34px}

@media(max-width:600px){
  .sc-public-site :is(.ph-btn,.ph-middle-button:not(.ph-middle-button-secondary),.sl a.btn,.ail a.btn,.sc-builder-hero__cta,.sc-site-header__action,.ecmg-cta,.sc-ai-btn:not(.sc-ai-btn--ghost),.scv a.btn:not(.ghost)){border-radius:10px!important;box-shadow:3px 3px 0 var(--sc-cta-purple)!important}
  .sc-public-site :is(.ph-btn,.ph-middle-button:not(.ph-middle-button-secondary),.sl a.btn,.ail a.btn,.sc-builder-hero__cta,.sc-site-header__action,.ecmg-cta,.sc-ai-btn:not(.sc-ai-btn--ghost),.scv a.btn:not(.ghost)):is(:hover,:focus-visible){box-shadow:3px 3px 0 #270070!important}
  .sc-public-site .ail.landing-v3 .v8-cta-button{min-height:60px;padding:10px 16px 10px 21px;font-size:18px!important}
  .sc-public-site .ail.landing-v3 .v8-arrow{width:36px;height:36px;flex-basis:36px;font-size:29px}
}
@media(prefers-reduced-motion:reduce){
  .sc-public-site :is(.ph-btn,.ph-middle-button:not(.ph-middle-button-secondary),.sl a.btn,.ail a.btn,.sc-builder-hero__cta,.sc-site-header__action,.ecmg-cta,.sc-ai-btn:not(.sc-ai-btn--ghost),.scv a.btn:not(.ghost)),
  .sc-public-site :is(.ph-btn,.ph-middle-button:not(.ph-middle-button-secondary),.sl a.btn,.ail a.btn,.sc-builder-hero__cta,.sc-site-header__action,.ecmg-cta,.sc-ai-btn:not(.sc-ai-btn--ghost),.scv a.btn:not(.ghost))::before{transition:none!important}
}
