/* Icon system */
.icon {
    width: 22px;
    height: 22px;
    flex-shrink: 0;
    stroke: currentColor;
}

.icon-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-sm);
    background: var(--gold-gradient-soft);
    border: 1px solid var(--border);
    color: var(--gold);
    transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}

.icon-box .icon {
    width: 22px;
    height: 22px;
}

.icon-box--sm {
    width: 36px;
    height: 36px;
    border-radius: var(--radius-xs);
}

.icon-box--sm .icon {
    width: 18px;
    height: 18px;
}

.icon-box--md {
    width: var(--icon-box);
    height: var(--icon-box);
}

.icon-box--lg {
    width: 56px;
    height: 56px;
    border-radius: var(--radius-md);
}

.icon-box--lg .icon {
    width: 26px;
    height: 26px;
}

.icon-box--round {
    border-radius: 50%;
}

.feature-card:hover .icon-box,
.step-item:hover .icon-box,
.highlight-item:hover .icon-box {
    transform: none;
    border-color: rgba(212, 175, 55, 0.28);
    box-shadow: none;
}

.list-icon {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.list-icon .icon-box--sm {
    flex-shrink: 0;
}

.tag-icon {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.tag-icon .icon {
    width: 13px;
    height: 13px;
}
