/* Shared public actions, based on the landing page's free-trial button. */
:root {
    --wm-cta-fill: radial-gradient(ellipse at 12% 0%, #ffffff1f, transparent 58%), linear-gradient(115deg, #7b5bca, #6947b5 55%, #51388e);
    --wm-cta-shadow: 0 10px 24px #60409826, 0 3px 7px #442b6e1c, inset 0 1px 0 #ffffff45;
}
body .wm-cta.wm-cta {
    --cta-space: 32px;
    --cta-icon: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--cta-space);
    box-sizing: border-box;
    width: fit-content;
    max-width: 100%;
    min-width: 0;
    min-height: 60px;
    padding: 13px var(--cta-space);
    border: 1px solid #7250b4;
    border-radius: 18px;
    background: var(--wm-cta-fill);
    color: #fff;
    box-shadow: var(--wm-cta-shadow);
    font-family: "SpoqaHanSansNeoSubset", "Apple SD Gothic Neo", sans-serif;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -.035em;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    cursor: pointer;
    transition: box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}
body .wm-cta.wm-cta:is(:hover, :focus-visible) {
    background: var(--wm-cta-fill);
    color: #fff;
    text-decoration: none;
    box-shadow: 0 14px 30px #60409838, 0 4px 9px #442b6e21, inset 0 1px 0 #ffffff55;
    transform: translateY(-2px);
}
body .wm-cta.wm-cta:focus-visible { outline: 3px solid #9874d2; outline-offset: 4px; }
body .wm-cta.wm-cta:active { transform: none; box-shadow: 0 3px 9px #60409824, inset 0 1px 2px #36205d29; }
body .wm-cta > .wm-cta__label { min-width: 0; font: inherit; color: inherit; line-height: inherit; word-break: keep-all; overflow-wrap: anywhere; }
body .wm-cta > .wm-cta__arrow {
    display: grid;
    place-items: center;
    box-sizing: border-box;
    flex: 0 0 var(--cta-icon);
    width: var(--cta-icon);
    height: var(--cta-icon);
    border: 1px solid #ffffff38;
    border-radius: 50%;
    background: linear-gradient(145deg, #ffffff26, #ffffff08);
    color: inherit;
    box-shadow: inset 0 1px #ffffff21;
}
body .wm-cta .wm-cta__arrow svg { display: block; width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; transform: none; }
body .wm-cta.wm-cta--secondary { color: var(--wm-mode-violet, #5c4096); border-color: var(--wm-mode-line, #d9cbee); background: var(--wm-mode-surface, #fff); box-shadow: 0 5px 16px #6343990a, inset 0 1px #ffffff66; }
body .wm-cta.wm-cta--secondary:is(:hover, :focus-visible) { color: var(--wm-mode-violet, #5c4096); border-color: #aa8bd7; background: var(--wm-mode-violet-soft, #f7f1ff); box-shadow: 0 8px 22px #63439914; }
body .wm-cta--secondary > .wm-cta__arrow { border-color: #9278c638; background: #9278c610; }
body .wm-cta.wm-cta--compact { --cta-space: 18px; --cta-icon: 28px; min-height: 48px; padding-block: 9px; border-radius: 14px; font-size: 14px; }
body .wm-cta.wm-cta--full { width: 100%; }
body .wm-cta.wm-cta:is(:disabled, [aria-disabled="true"]) { color: var(--wm-mode-muted, #777180); background: var(--wm-mode-soft, #eeedf2); border-color: var(--wm-mode-line, #ddd8e7); box-shadow: none; cursor: not-allowed; transform: none; }
.wm-login-form > .wm-cta { margin-top: 24px; }
html[data-wm-theme] .wm-auth-page form .wm-cta:not(:disabled) { color: #fff; background: var(--wm-cta-fill); box-shadow: var(--wm-cta-shadow); }
html[data-wm-theme] .wm-auth-page form .wm-cta:not(:disabled):is(:hover, :focus-visible) { box-shadow: 0 14px 30px #60409838, 0 4px 9px #442b6e21, inset 0 1px 0 #ffffff55; }
html[data-wm-theme] .wm-auth-page form .wm-cta:not(:disabled):active { box-shadow: 0 3px 9px #60409824, inset 0 1px 2px #36205d29; }
.wm-hall-empty > .wm-cta { margin: 24px auto 0; }
.wm-membership-plan-action:has(> .wm-cta) { max-width: none; }
@media (max-width: 639px) {
    body .wm-cta.wm-cta { --cta-space: 20px; min-height: 56px; padding-block: 11px; border-radius: 16px; font-size: 16px; }
    body .wm-cta.wm-cta--compact { --cta-space: 12px; --cta-icon: 26px; min-height: 46px; padding-block: 9px; border-radius: 14px; font-size: 13px; }
}
@media (max-width: 767px) {
    /* Three comparison columns stay readable without shrinking the tap target. */
    body .wm-membership-plan-action > .wm-cta { --cta-space: 4px; --cta-icon: 20px; min-height: 48px; padding-block: 5px; border-radius: 12px; font-size: 12px; }
    body .wm-membership-plan-action .wm-cta__arrow svg { width: 14px; height: 14px; }
}
@media (prefers-reduced-motion: reduce) {
    body .wm-cta.wm-cta { transition: none; }
    body .wm-cta.wm-cta:is(:hover, :focus-visible, :active) { transform: none; }
}
@media (forced-colors: active) {
    body .wm-cta.wm-cta,
    html[data-wm-theme] .wm-auth-page form .wm-cta:not(:disabled),
    html[data-wm-theme] .wm-auth-page form .wm-cta:not(:disabled):is(:hover, :focus-visible, :active) { color: ButtonText; background: ButtonFace; border-color: ButtonText; box-shadow: none; }
    body .wm-cta > .wm-cta__arrow { border-color: ButtonText; }
}
