/* Shared Lucide geometry for public navigation and planner chrome. */
[data-w365-icon]:not(svg) {
    display: inline-flex;
    inline-size: 20px !important;
    block-size: 20px !important;
    flex: 0 0 20px;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    color: inherit;
}

svg.w365-icon {
    display: inline-block;
    width: 20px !important;
    height: 20px !important;
    inline-size: 20px !important;
    block-size: 20px !important;
    flex: 0 0 20px;
    vertical-align: middle;
    color: inherit;
    stroke: currentColor !important;
    stroke-width: 1.5 !important;
}

.w365-icon-filled > svg.w365-icon { fill: currentColor; }

.nav-active [data-w365-icon],
.nav-active svg.w365-icon,
.mobile-nav-active [data-w365-icon],
.mobile-nav-active svg.w365-icon,
[aria-current="page"] [data-w365-icon],
[aria-current="page"] svg.w365-icon,
.sidebar-nav-item.active [data-w365-icon],
.acd-tab.active [data-w365-icon],
[role="tab"][aria-selected="true"] [data-w365-icon],
.nav-btn.active [data-w365-icon],
button[aria-pressed="true"] [data-w365-icon],
button [data-w365-icon].w365-icon-filled {
    color: var(--brand-logo-blue);
}

[data-w365-icon="loader-circle"] > svg.w365-icon {
    animation: w365-icon-spin 1s linear infinite;
}

@keyframes w365-icon-spin {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    [data-w365-icon="loader-circle"] > svg.w365-icon { animation: none; }
}
