.cp-exchange-comparison {
    --cpec-surface: var(--fsw-color-surface-card, var(--cp-surface, #fff));
    --cpec-text: var(--fsw-color-text-primary, var(--cp-text, #17202a));
    --cpec-muted: var(--fsw-color-text-secondary, var(--cp-muted, #596579));
    --cpec-border: var(--fsw-color-border-subtle, var(--cp-border, #dce1e8));
    --cpec-primary: var(--fsw-color-action-primary, var(--cp-primary, #2459c4));
    --cpec-positive: var(--fsw-color-status-positive, var(--cp-positive, #087b50));
    --cpec-warning: var(--fsw-color-status-warning, var(--cp-warning, #916000));
    background: var(--cpec-surface);
    color: var(--cpec-text);
    border: 1px solid var(--cpec-border);
    border-radius: var(--fsw-card-radius, var(--cp-radius-md, 16px));
    font-family: var(--fsw-font-family, inherit);
    padding: clamp(14px, 2.5vw, 24px);
    margin-block: var(--cp-section-gap, 18px);
    min-width: 0;
    text-align: start;
    direction: rtl;
}
.cp-exchange-comparison *, .cp-exchange-comparison *::before, .cp-exchange-comparison *::after { box-sizing: border-box; }
.cp-exchange-comparison h2 { font-size: clamp(1.05rem, 2.3vw, 1.3rem); margin: 0 0 10px; line-height: 1.7; color: inherit; }
.cp-exchange-comparison [data-cpec-status], .cp-exchange-comparison .cpec-note { color: var(--cpec-muted); font-size: .82rem; line-height: 1.9; margin: 8px 0; }
.cp-exchange-comparison [data-cpec-status] { min-height: 1.9em; }
.cp-exchange-comparison [data-cpec-controls] { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-block: 14px; }
.cp-exchange-comparison .cpec-control-label { color: var(--cpec-muted); font-size: .85rem; margin-inline-end: 4px; }
.cp-exchange-comparison [hidden] { display: none !important; }
.cp-exchange-comparison .cpec-quote {
    min-height: var(--fsw-control-touch-target, 44px);
    min-width: 76px;
    padding: 8px 16px;
    border: 1px solid var(--cpec-border);
    border-radius: var(--cp-radius-sm, 8px);
    background: var(--cpec-surface);
    color: var(--cpec-text);
    font: inherit;
    cursor: pointer;
}
.cp-exchange-comparison .cpec-quote[aria-pressed="true"] { border-color: var(--cpec-primary); color: var(--cpec-primary); font-weight: 700; box-shadow: inset 0 -2px var(--cpec-primary); }
.cp-exchange-comparison :is(button, a, [data-cpec-status]):focus-visible { outline: 3px solid var(--cpec-primary); outline-offset: 3px; }
.cp-exchange-comparison .cpec-table { width: 100%; border-collapse: collapse; table-layout: auto; margin: 0; font-size: .86rem; }
.cp-exchange-comparison .cpec-table :is(th, td) { text-align: start; padding: 14px 10px; border: 0; border-bottom: 1px solid var(--cpec-border); vertical-align: middle; }
.cp-exchange-comparison .cpec-table thead th { color: var(--cpec-muted); font-weight: 500; font-size: .79rem; }
.cp-exchange-comparison .cpec-table tbody tr:last-child :is(th, td) { border-bottom: 0; }
.cp-exchange-comparison .cpec-provider { min-width: 100px; font-weight: 700; }
.cp-exchange-comparison .cpec-provider-name { display: block; font-size: .95rem; margin-block-end: 5px; }
.cp-exchange-comparison .cpec-price-line { display: flex; align-items: baseline; gap: 5px; flex-wrap: wrap; }
.cp-exchange-comparison .cpec-number { font-size: 1rem; font-weight: 700; font-variant-numeric: tabular-nums; overflow-wrap: normal; word-break: normal; line-height: 1.8; white-space: nowrap; min-width: 0; max-width: 100%; }
.cp-exchange-comparison .cpec-long-prices .cpec-number { white-space: normal; }
.cp-exchange-comparison .cpec-number-part { white-space: nowrap; }
.cp-exchange-comparison .cpec-unit { color: var(--cpec-muted); font-size: .78rem; white-space: nowrap; }
.cp-exchange-comparison .cpec-winner { display: block; color: var(--cpec-positive); font-size: .72rem; font-weight: 600; margin-block-start: 4px; }
.cp-exchange-comparison .cpec-health { display: block; font-weight: 400; }
.cp-exchange-comparison .cpec-state { display: block; font-size: .8rem; }
.cp-exchange-comparison .cpec-state-fresh .cpec-state { color: var(--cpec-positive); }
.cp-exchange-comparison :is(.cpec-state-stale, .cpec-state-unavailable, .cpec-state-invalid) .cpec-state { color: var(--cpec-warning); }
.cp-exchange-comparison .cpec-time { display: block; color: var(--cpec-muted); font-size: .8rem; margin-block-start: 3px; line-height: 1.7; }
.cp-exchange-comparison .cpec-link { display: inline-flex; align-items: center; justify-content: center; min-height: var(--fsw-control-touch-target, 44px); padding: 8px 12px; border: 1px solid var(--cpec-primary); color: var(--cpec-primary); background: transparent; border-radius: var(--cp-radius-sm, 8px); text-decoration: none; white-space: nowrap; font-weight: 600; font-size: .8rem; }
.cp-exchange-comparison .cpec-no-link { display: inline-block; max-width: 150px; color: var(--cpec-muted); font-size: .82rem; line-height: 1.8; }
.cp-exchange-comparison .cpec-empty { font-size: .9rem; line-height: 1.9; margin-block: 20px; color: var(--cpec-muted); }
.cp-exchange-comparison .cpec-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 900px) {
    .cp-exchange-comparison .cpec-table, .cp-exchange-comparison .cpec-table tbody { display: block; }
    .cp-exchange-comparison .cpec-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .cp-exchange-comparison .cpec-table .cpec-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px 14px; padding: 16px 0; border-bottom: 1px solid var(--cpec-border); }
    .cp-exchange-comparison .cpec-table .cpec-row:last-child { border-bottom: 0; padding-bottom: 2px; }
    .cp-exchange-comparison .cpec-table .cpec-row :is(th, td) { padding: 0; border: 0; min-width: 0; }
    .cp-exchange-comparison .cpec-provider { grid-column: 1; grid-row: 1; }
    .cp-exchange-comparison .cpec-price { grid-row: 2; }
    .cp-exchange-comparison .cpec-price::before { content: attr(data-label); display: block; color: var(--cpec-muted); font-size: .73rem; margin-block-end: 3px; }
    .cp-exchange-comparison :is(.cpec-long-prices, .cpec-fit-prices) .cpec-price { grid-column: 1 / -1; grid-row: auto; }
    .cp-exchange-comparison :is(.cpec-long-prices, .cpec-fit-prices) .cpec-price-line { gap: 6px; }
    .cp-exchange-comparison .cpec-action { text-align: end !important; grid-column: 2; grid-row: 1; align-self: start; }
    .cp-exchange-comparison .cpec-link { width: 100%; max-width: 160px; white-space: normal; text-align: center; line-height: 1.7; }
}
@media (prefers-reduced-motion: reduce) {
    .cp-exchange-comparison *, .cp-exchange-comparison *::before, .cp-exchange-comparison *::after { transition: none !important; animation: none !important; }
}
