/* NoviPortal – gemeinsamer Hover-Effekt */
a[href] {
    display: inline-block;
    transform-origin: center;
    transition: transform .2s ease, box-shadow .2s ease,
                border-color .2s ease, filter .2s ease;
}

.nav a[href], a.card {
    display: block;
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"],
[role="button"],
summary,
.device-card {
    transform-origin: center;
    transition: transform .2s ease, box-shadow .2s ease,
                border-color .2s ease, filter .2s ease;
}

@media (hover: hover) and (pointer: fine) {
    a[href]:hover,
    button:hover:not(:disabled),
    input[type="button"]:hover:not(:disabled),
    input[type="submit"]:hover:not(:disabled),
    input[type="reset"]:hover:not(:disabled),
    [role="button"]:hover,
    summary:hover {
        position: relative;
        z-index: 2;
        transform: translateY(-3px) scale(1.03);
        box-shadow: 0 0 16px rgba(99, 230, 255, .26);
        border-color: #63e6ff;
        filter: brightness(1.08);
    }

    .nav a[href]:hover {
        box-shadow: inset 3px 0 #63e6ff,
                    0 0 16px rgba(99, 230, 255, .22);
    }
}

a[href]:focus-visible,
button:focus-visible,
input[type="button"]:focus-visible,
input[type="submit"]:focus-visible,
input[type="reset"]:focus-visible,
[role="button"]:focus-visible {
    outline: 2px solid #63e6ff;
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    a[href],
    button,
    input[type="button"],
    input[type="submit"],
    input[type="reset"],
    [role="button"],
    summary,
    .device-card {
        transition: none !important;
    }
}


/* Network Security Center: Karten-Hover */
.grid > div.card {
    transform-origin: center;
    transition: transform .2s ease, box-shadow .2s ease,
                border-color .2s ease;
}

@media (hover: hover) and (pointer: fine) {
    .grid > div.card:hover {
        position: relative;
        z-index: 2;
        transform: translateY(-3px) scale(1.03);
        border-color: #63e6ff;
        box-shadow: 0 0 16px rgba(99, 230, 255, .26);
    }
}
