/* 4am Digital — interaction states for bundled components.
   Hover = gentle darken + 1px lift; press = settle back down. No bounce. */
.ds4am-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.ds4am-btn:not(:disabled):hover{transform:translateY(-1px)}
.ds4am-btn:not(:disabled):active{transform:translateY(0)}
.ds4am-btn--primary:not(:disabled):hover{background:var(--slate-900);border-color:var(--slate-900);box-shadow:var(--shadow-md)}
.ds4am-btn--secondary:not(:disabled):hover{background:var(--mist-50);border-color:var(--slate-500)}
.ds4am-btn--ghost:not(:disabled):hover{background:var(--mist-100)}
.ds4am-btn--accent:not(:disabled):hover{background:#D6ECF4;box-shadow:var(--shadow-glow)}

.ds4am-iconbtn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.ds4am-iconbtn:not(:disabled):hover{background:var(--mist-100)}

.ds4am-field{transition:border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}
.ds4am-field:focus{outline:none;border-color:var(--slate-500);box-shadow:0 0 0 3px rgba(137,173,182,0.28)}
.ds4am-field::placeholder{color:var(--text-muted)}

.ds4am-check:checked,.ds4am-radio:checked{background:var(--slate-700);border-color:var(--slate-700)}
.ds4am-check:checked::after{content:'';position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ds4am-radio:checked::after{content:'';position:absolute;left:5px;top:5px;width:8px;height:8px;border-radius:50%;background:#fff}
.ds4am-check:focus-visible,.ds4am-radio:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}