/* SVG Icon System (replaces Font Awesome) */
.mm-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    position: relative;

    /* Constraint for Safari/Mobile Flex Scaling */
    width: 1em;
    height: 1em;
    min-width: 1em;
    min-height: 1em;
    max-width: 1em;
    max-height: 1em;

    color: currentColor;
    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    /* Ensure visibility */
    overflow: visible;
}

/* Ensure use element inherits properly */
.mm-icon use {
    fill: inherit;
    stroke: inherit;
}

.mm-icon--fill {
    fill: currentColor;
    stroke: none;
}

.mm-icon--spin {
    animation: mm-icon-spin 1s linear infinite;
}

@keyframes mm-icon-spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}