/* Shared NK sprite presentation. Motion classes are independent of the symbol. */
body svg.nk-icon {
    display: inline-block;
    width: 1.3em;
    height: 1.3em;
    flex: 0 0 1.3em;
    fill: currentColor;
    color: inherit;
    vertical-align: middle;
    pointer-events: none;
    position: static;
    margin: 0;
    padding: 0;
    transform: none;
    /* The parent already transitions its color. Inheriting that color directly
       avoids a second, delayed transition on the icon. */
    transition: none !important;
}
body a.nk-icon-action,
body button.nk-icon-action {
    display: inline-block !important;
    /* Spacing uses margin below, also in older flexbox engines. Avoid adding a theme gap twice. */
    column-gap: 0 !important;
}
body a.nk-icon-action > svg.nk-icon,
body button.nk-icon-action > svg.nk-icon {
    margin: 0 0 0 .85em;
    transform: none !important;
}
/* Icon placement is independent of its meaning: after is the default.
   Flex order also works when the button label is an anonymous text node. */
body a.nk-icon-action.icon-before > svg.nk-icon,
body button.nk-icon-action.icon-before > svg.nk-icon {
    order: -1;
    margin: 0 .85em 0 0;
}
body a.nk-icon-action.icon-after > svg.nk-icon,
body button.nk-icon-action.icon-after > svg.nk-icon {
    order: 1;
    margin: 0 0 0 .85em;
}
/* Disable the old pseudo-icon only after a real SVG has been inserted. */
body a.button.nk-icon-action::after,
body button.nk-icon-action::after,
body .nk-icon-slot::before,
body .nk-icon-slot::after {
    content: none !important;
    display: none !important;
}
body a.button.nk-icon-action { padding-left: 1.5em; padding-right: 1.5em; }
body .nk-icon-slot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    color: inherit;
    /* Joomla mod_menu applies its own transition to [class*="icon-"].
       A nested transition would trail the parent's interpolated color. */
    transition: none !important;
}
body .nk-icon-slot > svg.nk-icon {
    display: block; /* No inline baseline gap inside a fixed-height icon slot. */
    width: 100%; height: 100%; margin: 0; flex: 1 1 auto;
}
/* Compact submit icon; move only the icon, never the button label. */
body .nk-icon-action.icon-submit > svg.nk-icon { width: 1.05em; height: 1.05em; flex-basis: 1.05em; }
body a.nk-icon-action.icon-submit > svg.nk-icon,
body button.nk-icon-action.icon-submit > svg.nk-icon { margin-left: .55em; }
body .nk-icon-action.hover-slide-up-right > svg.nk-icon {
    transform: translate(-.08em, .08em) !important;
    transition: transform .25s ease !important;
}
body .nk-icon-action.hover-slide-up-right:hover > svg.nk-icon,
body .nk-icon-action.hover-slide-up-right:focus-visible > svg.nk-icon { transform: translate(.16em, -.16em) !important; }
body.ui-transition-off .nk-icon-action.hover-slide-up-right > svg.nk-icon { transition-duration: 0s !important; }
body.ui-transition-fast .nk-icon-action.hover-slide-up-right > svg.nk-icon { transition-duration: .15s !important; }
body.ui-transition-normal .nk-icon-action.hover-slide-up-right > svg.nk-icon { transition-duration: .25s !important; }
body.ui-transition-relaxed .nk-icon-action.hover-slide-up-right > svg.nk-icon { transition-duration: .4s !important; }
/* Compact arrow motion: deliberately no line, a tight text gap and only a small nudge. */
body .nk-icon-action.hover-nudge-right > .nk-arrow-right-icon { margin-left: .45em; }
body .nk-icon-action.hover-nudge-right.icon-before > .nk-arrow-right-icon { margin: 0 .45em 0 0; }
body .nk-icon-action.hover-nudge-right > .nk-arrow-right-icon > svg.nk-icon {
    transform: translateX(0) !important;
    transition: transform .25s ease !important;
}
body .nk-icon-action.hover-nudge-right:hover > .nk-arrow-right-icon > svg.nk-icon,
body .nk-icon-action.hover-nudge-right:focus > .nk-arrow-right-icon > svg.nk-icon { transform: translateX(.14em) !important; }
body.ui-transition-off .nk-icon-action.hover-nudge-right > .nk-arrow-right-icon > svg.nk-icon { transition-duration: 0s !important; }
body.ui-transition-fast .nk-icon-action.hover-nudge-right > .nk-arrow-right-icon > svg.nk-icon { transition-duration: .15s !important; }
body.ui-transition-normal .nk-icon-action.hover-nudge-right > .nk-arrow-right-icon > svg.nk-icon { transition-duration: .25s !important; }
body.ui-transition-relaxed .nk-icon-action.hover-nudge-right > .nk-arrow-right-icon > svg.nk-icon { transition-duration: .4s !important; }
@media (prefers-reduced-motion: reduce) {
    body .nk-icon-action.hover-slide-up-right > svg.nk-icon,
    body .nk-icon-action.hover-nudge-right > .nk-arrow-right-icon > svg.nk-icon { transition: none !important; transform: none !important; }
}
