/**
 * Estimated Delivery — SVG Icon Base Styles
 *
 * Inline SVG icons inherit color from parent text via currentColor.
 * Size is set via width/height attributes on the SVG element.
 */

/* Base icon alignment */
.ed-icon {
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
    /* Inherit text color */
    stroke: currentColor;
    fill: none;
}

/* Slight optical offset when next to text */
.ed-icon + span,
span + .ed-icon {
    margin-left: 4px;
}

/* Color modifiers — applied via class on the SVG */
.ed-icon.ed-green { color: #4caf50; }
.ed-icon.ed-blue { color: #2196f3; }
.ed-icon.ed-orange { color: #ff9800; }
.ed-icon.ed-red { color: #f44336; }
.ed-icon.ed-gray { color: #9e9e9e; }
.ed-icon.ed-dark { color: #424242; }

/* Size presets (override the inline width/height when needed via CSS) */
.ed-icon.ed-icon-sm { width: 14px; height: 14px; }
.ed-icon.ed-icon-md { width: 18px; height: 18px; }
.ed-icon.ed-icon-lg { width: 24px; height: 24px; }
.ed-icon.ed-icon-xl { width: 32px; height: 32px; }

/* Animation for countdown/loading contexts */
.ed-icon.ed-spin {
    -webkit-animation: ed-spin 1.5s linear infinite;
    animation: ed-spin 1.5s linear infinite;
}

@-webkit-keyframes ed-spin {
    100% { -webkit-transform: rotate(360deg); }
}

@keyframes ed-spin {
    100% { transform: rotate(360deg); }
}
