/* ══════════════════════════════════════════════════════
   MD3 State Layer Utility Classes
   Adds a semi-transparent overlay on interactive states.
   Apply via class="m3-state-layer" on an element with
   position: relative.
   ══════════════════════════════════════════════════════ */

.m3-state-layer {
    position: relative;
    overflow: hidden;
}

.m3-state-layer::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: currentColor;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--m3-sys-motion-duration-short2) var(--m3-sys-motion-easing-standard);
}

.m3-state-layer:hover::after {
    opacity: var(--m3-sys-state-hover-opacity);
}

.m3-state-layer:focus-visible::after {
    opacity: var(--m3-sys-state-focus-opacity);
}

.m3-state-layer:active::after {
    opacity: var(--m3-sys-state-pressed-opacity);
}