/* SVG Icon System */
.icon {
    display: inline-block;
    vertical-align: middle;
    fill: currentColor;
    flex-shrink: 0;
}

/* Standard sizes */
.icon--small {
    width: 16px;
    height: 16px;
}

.icon--medium {
    width: 20px;
    height: 20px;
}

.icon--large {
    width: 24px;
    height: 24px;
}

/* Icon spacing helpers */
.icon--spaced {
    margin-right: 8px;
}

.icon--spaced-left {
    margin-left: 8px;
}

/* Icon alignment helpers */
.icon--top {
    vertical-align: top;
}

.icon--middle {
    vertical-align: middle;
}

.icon--bottom {
    vertical-align: bottom;
}