/* Single source for shared CTA, shell and form-submit buttons. */
/* design.css shared button rules */
.av2-button{display:inline-flex;justify-content:space-between;gap:44px;align-items:center;min-height:57px;padding:15px 22px;border:1px solid var(--av2-ink);border-radius:7px;background:var(--av2-ink);color:var(--av2-paper)!important;font-size:14px;font-weight:600;transition:background .2s,transform .2s;line-height:1.3}
.av2-button span{font-size:23px;line-height:1}
.av2-button:hover{background:var(--av2-purple);border-color:var(--av2-purple);transform:translateY(-2px)}
.av2-button-small{min-height:47px;gap:38px;padding:12px 19px}
.av2-button-light{background:var(--av2-paper);border-color:var(--av2-paper);color:var(--av2-ink)!important}
.av2-button-light:hover{color:white!important}
.av2-button-purple{background:var(--av2-purple);border-color:var(--av2-purple)}
.av2-button-outline{background:transparent;color:var(--av2-ink)!important;border-color:var(--av2-line)}
.av2-button-outline:hover{color:white!important}
.av2-page-hero .av2-button{margin-top:30px}
.av2-contact-form input[type=submit]{background:var(--av2-purple);color:white;border:0;border-radius:6px;min-height:52px;padding:15px 23px;font-size:14px;font-weight:600;cursor:pointer;width:auto}
.av2-contact-form input[type=submit]:hover{background:#4d259f}
@media (max-width:1100px){.av2-button{gap:25px}}
@media (max-width:800px){.av2-header-inner>.av2-button{margin-left:auto;min-height:43px;font-size:12px;gap:25px}}
@media (max-width:580px){.av2-header-inner>.av2-button{display:none}
.av2-button{min-height:52px;padding:14px 18px;gap:26px;font-size:13px}
.av2-contact-form input[type=submit]{width:100%}}
.av2 .av2-contact-form input[type=submit]{text-transform:none;letter-spacing:0}
/* homepage.css shared button rules */
.apx-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:55px;padding:15px 22px;border:0;border-radius:5px;background:var(--ink);color:white!important;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap}
.apx-button span{font-size:25px;line-height:1}
.apx-button:hover{background:var(--purple);transform:translateY(-3px)}
.apx-button-lime{margin-top:31px;background:var(--lime);color:var(--ink)!important;font-size:12px}
.apx-button-lime:hover{background:white}
.apx-site .apx-contact-form input[type=submit]{background:var(--ink);border-radius:4px;font-size:12px;width:100%;min-height:49px}
.apx-site .apx-contact-form input[type=submit]:hover{background:var(--purple)}
@media (max-width:800px){.apx-button{font-size:11px;min-height:48px;padding:13px 17px;gap:25px}}
@media (max-width:580px){.apx-hero-actions .apx-button{min-height:49px;font-size:11px;gap:21px;padding:13px 16px}
.apx-button-lime{margin-top:24px;min-height:49px;font-size:11px;gap:26px}}
@media (max-width:360px){.apx-hero-actions .apx-button{font-size:10px;gap:13px;padding-inline:13px}}
/* homepage-growth.css shared button rules */
.apx-site .apx-hero-actions .apx-button{font-size:12px}
.ag-delivery .apx-button{margin-top:28px;font-size:12px}
@media (max-width:800px){.ag-delivery .apx-button{font-size:11px;gap:18px}
.apx-site .apx-hero-actions .apx-button{font-size:11px;padding-inline:14px;gap:19px}}
@media (max-width:580px){.ag-delivery .apx-button{font-size:11px;margin-top:25px}
.apx-site .apx-hero-actions .apx-button{font-size:11px;gap:18px;padding-inline:16px}}
@media (max-width:360px){.apx-site .apx-hero-actions .apx-button{font-size:10px;padding-inline:13px;gap:12px}}
/* homepage-refined.css shared button rules */
.apx-refined .apx-button{border-radius:5px;padding:16px 22px;min-height:55px;gap:30px}
.apx-refined .apx-button span{font-size:25px}
.apx-refined .apx-hero-actions .apx-button{background:#e9e1f7;color:#22172f!important;min-height:56px;font-size:12px;padding:16px 21px}
.apx-refined .apx-hero-actions .apx-button:hover{background:var(--violet)}
@media (max-width:800px){.apx-refined .apx-hero-actions .apx-button{padding:13px 16px;font-size:11px;gap:20px;min-height:49px}}
@media (max-width:580px){.apx-refined .apx-hero-actions .apx-button{font-size:11px;padding:14px 17px;min-height:51px;gap:19px}}
@media (max-width:360px){.apx-refined .apx-hero-actions .apx-button{font-size:10px;padding:13px 14px;gap:13px}}
/* header-footer.css shared button rules */
.apx-site .apx-shell-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 24px;background:#d7b9fa;border:1px solid #d7b9fa;border-radius:5px;color:#261632;font-size:12px;line-height:1.4;font-weight:700;text-decoration:none;transition:background .2s,color .2s;white-space:nowrap}
.apx-site .apx-shell-button:hover{background:#ece0fb;border-color:#ece0fb;color:#261632;text-decoration:none}
@media (prefers-reduced-motion:reduce){.apx-site .apx-shell-button{transition:none}}
/* homepage-clients.css shared button rules */
.apx-site .apx-work-footer .apx-button{font-size:11px;padding:14px 21px}
@media (max-width:700px){.apx-site .apx-work-footer .apx-button{padding:13px 16px;font-size:10px}}
.apx-site :is(.apx-button,.apx-shell-button,.av2-button,.wpcf7-submit){text-decoration:none!important;cursor:pointer;border-radius:var(--apx-button-radius);transition:background .2s,color .2s,transform .2s}
.apx-site .apx-shell-button{background:var(--apx-button-accent);border-color:var(--apx-button-accent);color:var(--apx-button-ink)}
.apx-site :is(.apx-button,.apx-shell-button,.av2-button,.wpcf7-submit):focus-visible{outline:3px solid #936bf0;outline-offset:4px}
.apx-site :is(button,input[type=submit]):disabled{cursor:not-allowed;opacity:.6}
@media(prefers-reduced-motion:reduce){.apx-site :is(.apx-button,.apx-shell-button,.av2-button,.wpcf7-submit){transition:none}}

/* Keep an inactive form spinner from adding a blank row beneath full-width submits. */
.apx-site .apx-contact-form form{position:relative}
.apx-site .apx-contact-form .wpcf7-spinner{display:none}
.apx-site .apx-contact-form form.submitting .wpcf7-spinner{display:inline-block;position:absolute;right:12px;bottom:12px;margin:0}
