/* Shared interface icons — Lucide SVG masks prevent platform emoji substitution. */
.ui-icon {
    --ui-icon: none;
    display: inline-block;
    width: 1em;
    height: 1em;
    flex: 0 0 auto;
    background-color: currentColor;
    -webkit-mask: var(--ui-icon) center / contain no-repeat;
    mask: var(--ui-icon) center / contain no-repeat;
    pointer-events: none;
}

.ui-icon--arrow-right { --ui-icon: url("../assets/icons/arrow-right.svg"); }
.ui-icon--arrow-left { --ui-icon: url("../assets/icons/arrow-left.svg"); }
.ui-icon--arrow-up { --ui-icon: url("../assets/icons/arrow-up.svg"); }
.ui-icon--arrow-down { --ui-icon: url("../assets/icons/arrow-down.svg"); }
.ui-icon--arrow-down-right { --ui-icon: url("../assets/icons/arrow-down-right.svg"); }
.ui-icon--arrow-up-right { --ui-icon: url("../assets/icons/arrow-up-right.svg"); }

.ui-icon-holder {
    display: grid;
    place-items: center;
    font-size: 0 !important;
    line-height: 0 !important;
}

.ui-icon-holder::before,
.ui-icon-holder::after {
    display: none !important;
    content: none !important;
}

.ui-icon-holder > .ui-icon { width: 18px; height: 18px; }
.back-to-top .ui-icon { width: 14px; height: 14px; }
.round-link .ui-icon { width: 15px; height: 15px; }
.service-item .ui-icon { width: 20px; height: 20px; }
.next-case .ui-icon,
.footer-cta .ui-icon { width: 25px; height: 25px; }
.brief-form__submit .ui-icon,
.cloud-guide__send .ui-icon,
.cloud-guide__answer-link .ui-icon { width: 16px; height: 16px; }

.icon-text-link {
    display: inline-flex;
    align-items: center;
    gap: 0.55em;
}
