/* ==========================================================
   ExoPetBayan shared action feedback
   Apply .app-action only to genuine user action controls.
   ========================================================== */

.app-action{
    -webkit-appearance:none;
    appearance:none;

    transition:
        transform .08s ease,
        background-color .08s ease,
        background-image .08s ease,
        box-shadow .08s ease,
        filter .08s ease,
        color .08s ease;

    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
}


/* Primary gold */

.app-action--gold:active,
.app-action--gold.is-pressed{
    transform:translateY(2px) scale(.975)!important;

    background:#a96810!important;
    background-image:none!important;

    border-color:#80530d!important;
    color:#fff!important;

    filter:none!important;

    box-shadow:
        inset 0 4px 8px rgba(55,29,0,.42)!important;
}


/* Primary green */

.app-action--green:active,
.app-action--green.is-pressed{
    transform:translateY(2px) scale(.975)!important;

    background:#155d31!important;
    background-image:none!important;

    border-color:#0d4825!important;
    color:#fff!important;

    filter:none!important;

    box-shadow:
        inset 0 4px 8px rgba(0,0,0,.30)!important;
}


/* Secondary / ghost */

.app-action--ghost:active,
.app-action--ghost.is-pressed{
    transform:translateY(2px) scale(.975)!important;

    background:rgba(255,255,255,.19)!important;

    filter:none!important;

    box-shadow:
        inset 0 3px 6px rgba(0,0,0,.22)!important;
}


/* Destructive */

.app-action--danger:active,
.app-action--danger.is-pressed{
    transform:translateY(2px) scale(.975)!important;

    background:#8f2923!important;
    background-image:none!important;

    border-color:#70201c!important;
    color:#fff!important;

    filter:none!important;

    box-shadow:
        inset 0 4px 8px rgba(50,0,0,.30)!important;
}


/* Keyboard accessibility */

.app-action:focus-visible{
    outline:2px solid #f0c45a!important;
    outline-offset:2px!important;
}
