/* Shared actions and form feedback; the media cards and header keep their own styles. */
:root{--action-primary:#365eaf;--action-primary-hover:#2c4f98;--action-danger:#625573;--action-focus:#a3baff}
body[data-media-type="movie"]{--action-primary:#984b1f;--action-primary-hover:#823d17;--action-focus:#f2b38a}
:where(main,.modal) .btn:not(.secondary):not(.link):not(.danger):not(:where(.card *,[class$="-card"] *,[class*="-card "] *,.calendar-event *)){background:var(--action-primary);color:#fff}
:where(main,.modal) .btn:not(.secondary):not(.link):not(.danger):not(:where(.card *,[class$="-card"] *,[class*="-card "] *,.calendar-event *)):hover{background:var(--action-primary-hover)}
.btn.danger,button.danger,.kp-review-button{background:var(--action-danger);border-color:#9382aa;color:#fff}
.btn.danger:hover,button.danger:hover,.kp-review-button:hover,.kp-review-button[aria-pressed=true]{background:#746486;border-color:#aa98c0;color:#fff}
:where(main,.modal) :is(input,select,textarea,button,.btn,.app-select-trigger):focus-visible{outline:3px solid var(--action-focus);outline-offset:3px}
:where(main,.modal) :is(input,select,textarea)[data-inline-invalid]{border-color:#dbb28c;box-shadow:0 0 0 1px #dbb28c}
.field-validation-message{display:block;margin:7px 0 0;color:#f1c9a6;font-size:13px;line-height:1.5}
.modal.is-open .modal-dialog{animation:ui-dialog-enter .2s cubic-bezier(.16,1,.3,1)}
.modal.is-open .modal-backdrop{animation:ui-backdrop-enter .16s ease-out}
@keyframes ui-dialog-enter{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
@keyframes ui-backdrop-enter{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.modal.is-open .modal-dialog,.modal.is-open .modal-backdrop{animation:none}}
