@layer components {
    .module-card {
        padding: var(--space-xl);
        background-color: var(--clr-slate-900);
        border: var(--border-thin) solid var(--clr-slate-800);
        border-radius: var(--radius-2xl);
        transition: all 0.3s ease;

        &:hover {
            border-color: color-mix(in srgb, var(--color-primary), transparent 50%);
            background-color: var(--clr-slate-850);

            & .module-card__icon-wrapper {
                background-color: color-mix(in srgb, var(--color-primary), transparent 90%);
            }
        }

        & .module-card__icon-wrapper {
            width: 3rem;
            height: 3rem;
            background-color: var(--clr-slate-800);
            border-radius: var(--radius-lg);
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: var(--space-lg);
            transition: background-color 0.3s ease;
        }

        & .module-card__icon {
            width: 1.5rem;
            height: 1.5rem;
            color: var(--color-primary);
        }

        & .module-card__title {
            font-size: var(--text-xl);
            font-weight: 700;
            color: var(--color-white);
            margin-bottom: var(--space-xs);
        }

        & .module-card__subtitle {
            font-size: var(--text-sm);
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.05em;
            color: var(--color-primary);
            margin-bottom: var(--space-md);
        }

        & .module-card__description {
            font-size: var(--text-sm);
            line-height: 1.6;
            color: var(--color-text-muted);
            margin-bottom: var(--space-lg);
        }

        & .module-card__list {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            flex-direction: column;
            gap: var(--space-sm);
        }

        & .module-card__item {
            display: flex;
            gap: var(--space-sm);
            font-size: var(--text-sm);
            color: var(--clr-slate-300);
            line-height: 1.5;
        }

        & .module-card__dot {
            width: 0.25rem;
            height: 0.25rem;
            border-radius: var(--radius-full);
            background-color: var(--color-primary);
            margin-top: 0.625rem;
            flex-shrink: 0;
        }

        /* Specific layout for highlighted cards in grid */
        &.module-card--highlight {
            @media (min-width: 768px) and (max-width: 1023px) {
                grid-column: span 2;
            }
        }
    }
}
