/* Shared orange action treatment; each page retains its own button dimensions. */
.primary,
.auth-primary {
    --primary-button-start: #923004;
    --primary-button-middle: #c94d05;
    --primary-button-end: #a33503;
    --primary-button-border: #c44a0c;
    --primary-button-glow: rgb(124 49 9 / 7%);
    --primary-button-hover-glow: rgb(196 74 12 / 14%);
    color: #ffffff;
    border-color: var(--primary-button-border);
    background-color: var(--primary-button-start);
    background-image: linear-gradient(110deg, var(--primary-button-start), var(--primary-button-middle) 58%, var(--primary-button-end));
    background-size: 180% 100%;
    background-position: 0% 50%;
    box-shadow: 0 6px 24px var(--primary-button-glow);
    filter: none;
    transform: none;
    transition: background-position 320ms ease, box-shadow 220ms ease, transform 220ms ease;
}

:root[data-theme="dark"] .primary,
:root[data-theme="dark"] .auth-primary {
    --primary-button-start: #862503;
    --primary-button-middle: #c94d05;
    --primary-button-end: #993005;
    --primary-button-border: #d4631e;
    --primary-button-glow: rgb(217 113 43 / 20%);
    --primary-button-hover-glow: rgb(226 146 85 / 35%);
}

.primary:focus-visible:not(:disabled),
.auth-primary:focus-visible:not(:disabled) {
    box-shadow: 0 8px 28px var(--primary-button-hover-glow);
}

.auth-signin svg { transition: transform 220ms ease; }

@media (hover: hover) and (pointer: fine) {
    .primary:hover:not(:disabled),
    .auth-primary:hover:not(:disabled) {
        background-position: 100% 50%;
        border-color: var(--focus);
        box-shadow: 0 8px 28px var(--primary-button-hover-glow);
        transform: translateY(-1px);
    }
    .auth-signin:hover:not(:disabled) svg { transform: translateX(4px); }
    .primary:active:not(:disabled),
    .auth-primary:active:not(:disabled) { transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
    .primary,
    .auth-primary,
    .auth-signin svg {
        transition: none !important;
        transform: none !important;
    }
}
