/**
 * WP06 / WP21 — Icon system (Lucide chrome; Feather class kept via bridge)
 * Sport category glyphs: custom SVG pack (WP06b).
 */

.exchange-app .ex-icon,
.exchange-app [data-lucide],
.exchange-app [data-feather],
.exchange-app svg.feather,
.exchange-app svg.lucide {
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
}

.exchange-app svg.feather,
.exchange-app svg.lucide {
    width: var(--ex-icon-size, 1.125rem);
    height: var(--ex-icon-size, 1.125rem);
    stroke: currentColor;
    fill: none;
    stroke-width: var(--ex-icon-stroke, 2);
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Sidebar / schedule subnav chrome icons */
.exchange-app .ex-sidebar .ex-sidebar-nav-list li a svg.feather.nav-icon,
.exchange-app .ex-sidebar .ex-sidebar-nav-list li a svg.lucide.nav-icon,
.exchange-app .ex-schedule-subnav .ex-sidebar-nav-list li a svg.feather.nav-icon,
.exchange-app .ex-schedule-subnav .ex-sidebar-nav-list li a svg.lucide.nav-icon {
    width: var(--ex-sidebar-feather-size, 1.45rem);
    height: var(--ex-sidebar-feather-size, 1.45rem);
    stroke-width: var(--ex-sidebar-feather-weight, 2.85);
}

/* Notification row icons */
.exchange-app .notification-dropdown .notification-icon svg.feather,
.exchange-app .notification-dropdown .notification-icon svg.lucide {
    width: 1.125rem;
    height: 1.125rem;
    stroke-width: 2.25;
}

.exchange-app .notification-dropdown .s7__text-muted svg.feather,
.exchange-app .notification-dropdown .s7__text-muted svg.lucide {
    width: 0.875rem;
    height: 0.875rem;
    stroke-width: 2;
    margin-inline-end: 0.2rem;
    vertical-align: -0.1em;
}

/* Back to top */
.exchange-app .back-to-top .back-top svg.feather,
.exchange-app .back-to-top .back-top svg.lucide {
    width: 1.25rem;
    height: 1.25rem;
    stroke-width: 2.5;
}

/* Live category “All Sports” globe */
.exchange-app .ex-live-cat-strip__icon svg.feather.ex-cat-icon,
.exchange-app .ex-live-cat-strip__icon svg.lucide.ex-cat-icon {
    width: 1.125rem;
    height: 1.125rem;
    stroke-width: 2.25;
}

/* WP06b — Sport SVG pack (stroke glyphs; cricket is fill) */
.exchange-app svg.ex-sport-svg {
    width: var(--ex-sidebar-feather-size, 1.45rem);
    height: var(--ex-sidebar-feather-size, 1.45rem);
    flex-shrink: 0;
    stroke: currentColor;
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.exchange-app svg.ex-sport-svg.ex-sport-svg--fill {
    fill: currentColor;
    stroke: none;
}

.exchange-app .ex-live-cat-strip__icon svg.ex-sport-svg {
    width: 1.125rem;
    height: 1.125rem;
    stroke-width: 2.25;
}

/* Keep stroke sports as stroke — sidebar-ref historically fills non-feather SVGs */
.exchange-app svg.ex-sport-svg:not(.ex-sport-svg--fill),
.exchange-app svg.ex-sport-svg:not(.ex-sport-svg--fill) path,
.exchange-app svg.ex-sport-svg:not(.ex-sport-svg--fill) circle,
.exchange-app svg.ex-sport-svg:not(.ex-sport-svg--fill) ellipse,
.exchange-app svg.ex-sport-svg:not(.ex-sport-svg--fill) line,
.exchange-app svg.ex-sport-svg:not(.ex-sport-svg--fill) polyline {
    fill: none !important;
    stroke: currentColor !important;
}

.exchange-app svg.ex-sport-svg.ex-sport-svg--fill,
.exchange-app svg.ex-sport-svg.ex-sport-svg--fill path,
.exchange-app svg.ex-sport-svg.ex-sport-svg--fill rect,
.exchange-app svg.ex-sport-svg.ex-sport-svg--fill circle {
    fill: currentColor !important;
    stroke: none !important;
}
