/**
 * Advanced Shadow System — Base
 *
 * Variables, hover pseudo-element technique, intensity modifiers,
 * and accessibility.
 */

/* ==========================================================================
   Base Variables
   ========================================================================== */

:root {
}

/* ==========================================================================
   Intensity Modifiers
   ========================================================================== */

.shadow-fx-sm {
    --shadow-fx-scale: 0.6;
}

.shadow-fx-md {
    --shadow-fx-scale: 1;
}

.shadow-fx-lg {
    --shadow-fx-scale: 1.5;
}

/* ==========================================================================
   Hover Pseudo-Element Technique
   ========================================================================== */

.shadow-fx-hover {
    position: relative;
}

.shadow-fx-hover::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    z-index: -1;
    opacity: 0;
    transition: opacity 0.3s ease;
}

@media (hover: hover) {
    .shadow-fx-hover:hover::after {
        opacity: 1;
    }
}

/* ==========================================================================
   Accessibility
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
    .shadow-fx-hover::after {
        transition: none;
    }
}

@media print {
    [class*="shadow-fx-"] {
        box-shadow: none !important;
    }
}
