/* Shared primary action: portal, Divi, menu CTA and registration shortcode. */
.myspio-design :is(.myspio-button, .et_pb_button, .wp-element-button, .de-menu-cta a, .spioP .spioBtn) {
    display: inline-flex; box-sizing: border-box; align-items: center; justify-content: center;
    gap: 8px; min-height: 56px; max-width: 100%; padding: 15px 24px !important;
    border: 1px solid var(--spio-navy); border-radius: 18px;
    background: var(--spio-lime); color: var(--spio-navy) !important;
    box-shadow: 0 4px 0 var(--spio-navy), 0 12px 22px -18px #183c66a6;
    font: 700 1rem/1.25 var(--spio-body) !important;
    text-align: center; text-decoration: none; white-space: normal;
    cursor: pointer; opacity: 1; transition: transform .2s, box-shadow .2s, background-color .2s;
}
.myspio-design :is(.et_pb_button, .de-menu-cta a)::after { display: none; }
@media (hover: hover) {
    .myspio-design :is(.myspio-button, .et_pb_button, .wp-element-button, .de-menu-cta a, .spioP .spioBtn):hover {
        background: #b8e861; color: var(--spio-navy) !important; opacity: 1 !important;
        transform: translateY(-2px); box-shadow: 0 6px 0 var(--spio-navy);
    }
}
.myspio-design :is(.myspio-button, .et_pb_button, .wp-element-button, .de-menu-cta a, .spioP .spioBtn):active {
    transform: translateY(3px); box-shadow: 0 1px 0 var(--spio-navy);
}
.myspio-design :is(.myspio-button.is-secondary, .spioP .spioGhost) {
    background: #fff; border-color: #d3dbe3; box-shadow: 0 3px 0 #d3dbe3;
}
.myspio-design :is(.myspio-button.is-secondary, .spioP .spioGhost):hover { background: var(--spio-cloud); box-shadow: 0 4px 0 #d3dbe3; }
.myspio-design :is(.myspio-button, .et_pb_button, .wp-element-button, .de-menu-cta a, .spioP .spioBtn):focus-visible {
    outline: 3px solid var(--spio-blue); outline-offset: 5px;
}
.myspio-design :is(.myspio-button, .et_pb_button, .wp-element-button, .spioP .spioBtn):disabled {
    opacity: .65; cursor: not-allowed; transform: none; box-shadow: none;
}
@media (prefers-reduced-motion: reduce) {
    .myspio-design :is(.myspio-button, .et_pb_button, .wp-element-button, .de-menu-cta a, .spioP .spioBtn) { transition: none; transform: none; }
}
