/* Spinner while POST forms submit — used with public/js/form-submit-loader.js (load after site/admin CSS). */

@keyframes hg-form-spin {
    to {
        transform: rotate(360deg);
    }
}

button[type="submit"].hg-submit-pending,
input[type="submit"].hg-submit-pending {
    cursor: wait;
    pointer-events: none;
}

/* ---------- Public layouts (layouts/app) ---------- */

body:not(.admin-body):not(.attach-access-lite)
    button[type="submit"].hg-submit-pending:not(.ui-btn):not(.admin-action-btn) {
    display: flex;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

body:not(.admin-body):not(.attach-access-lite)
    #general-inquiry-form .general-inquiry-submit.hg-submit-pending {
    width: 100%;
}

body:not(.admin-body):not(.attach-access-lite)
    .claims-form-submit.hg-submit-pending {
    display: inline-flex;
    width: auto;
    margin-left: 0;
    margin-right: 0;
}

body:not(.admin-body):not(.attach-access-lite)
    button[type="submit"].hg-submit-pending:not(.ui-btn):not(.admin-action-btn)::before {
    content: "";
    width: 1.05em;
    height: 1.05em;
    flex-shrink: 0;
    box-sizing: border-box;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: hg-form-spin 0.68s linear infinite;
    opacity: 0.95;
}

body:not(.admin-body):not(.attach-access-lite)
    button[type="submit"].hg-submit-pending.ui-btn {
    display: flex;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
}

body:not(.admin-body):not(.attach-access-lite)
    button[type="submit"].hg-submit-pending.ui-btn::before {
    content: "";
    width: 1.05em;
    height: 1.05em;
    flex-shrink: 0;
    box-sizing: border-box;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: hg-form-spin 0.68s linear infinite;
}

/* ---------- Attachment gate (no site.css; body is not admin) ---------- */

body.attach-access-lite
    button[type="submit"].hg-submit-pending:not(.admin-action-btn) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
}

body.attach-access-lite button[type="submit"].hg-submit-pending:not(.admin-action-btn)::before {
    content: "";
    width: 1.05em;
    height: 1.05em;
    flex-shrink: 0;
    box-sizing: border-box;
    border: 2px solid rgba(255, 255, 255, 0.95);
    border-right-color: transparent;
    border-radius: 50%;
    animation: hg-form-spin 0.68s linear infinite;
}

/* ---------- Admin ---------- */

.admin-body .ui-btn[type="submit"].hg-submit-pending::before {
    content: "";
    width: 1.05em;
    height: 1.05em;
    flex-shrink: 0;
    box-sizing: border-box;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: hg-form-spin 0.68s linear infinite;
}

.admin-sidebar__logout.hg-submit-pending {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.42rem;
}

.admin-sidebar__logout.hg-submit-pending::before {
    content: "";
    width: 1em;
    height: 1em;
    flex-shrink: 0;
    box-sizing: border-box;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: hg-form-spin 0.68s linear infinite;
}

.admin-action-btn[type="submit"].hg-submit-pending {
    position: relative;
}

.admin-action-btn[type="submit"].hg-submit-pending svg {
    visibility: hidden;
}

.admin-action-btn[type="submit"].hg-submit-pending::before {
    content: "";
    position: absolute;
    width: 1rem;
    height: 1rem;
    box-sizing: border-box;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: hg-form-spin 0.68s linear infinite;
}

/* ---------- reCAPTCHA v3: standard Google badge (bottom-right) is shown ---------- */
