.crm-compare { --crm-compare-accent: #2457ff; font: 13px/1.5 system-ui,sans-serif; color: #283044; }
.crm-compare-stage { position: relative; height: var(--crm-compare-height,300px); overflow: hidden; border: 1px solid #dce2ed; border-radius: 16px; background: #f8fafc; user-select: none; }
.crm-compare-layer { position: absolute; inset: 0; overflow: hidden; }
.crm-compare-layer > * { width: 100%; height: 100%; box-sizing: border-box; }
.crm-compare-after { clip-path: inset(0 0 0 var(--crm-compare-position,50%)); }
.crm-compare-captions { display: flex; justify-content: space-between; position: absolute; inset: 12px 12px auto; pointer-events: none; }
.crm-compare-captions > span { padding: 4px 8px; font-size: 10px; border: 1px solid #e5e8ee; border-radius: 6px; background: #ffffffed; color: #657087; }
.crm-compare-divider { position: absolute; left: var(--crm-compare-position,50%); top: 0; bottom: 0; width: 3px; background: white; box-shadow: 0 0 0 1px #1c2d4b22; transform: translateX(-50%); touch-action: none; cursor: ew-resize; }
.crm-compare-grip { display: grid; place-items: center; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); border-radius: 50%; background: white; border: 1px solid #dfe5ef; box-shadow: 0 3px 15px #23374c20; color: var(--crm-compare-accent); width: 44px; height: 44px; font-size: 21px; }
.crm-compare-control { display: grid; grid-template-columns: 1fr auto; gap: 7px 15px; margin-top: 13px; color: #718098; font-size: 11px; }
.crm-compare-range { width: 100%; min-width: 0; min-height: 30px; grid-column: 1/-1; accent-color: var(--crm-compare-accent); margin: 0; }
.crm-compare-range:focus-visible { outline: 2px solid var(--crm-compare-accent); outline-offset: 3px; border-radius: 5px; }
@media (forced-colors:active) { .crm-compare-divider { background: CanvasText; } }
