/* PrimaCora – suwak „Przed i po” (style bazowe, motyw może je nadpisać) */
.pc-ba { position: relative; margin: 0; --pc-ba-accent: #0e3b37; }
.pc-ba__stage { position: relative; overflow: hidden; border-radius: 20px; aspect-ratio: 3 / 2; background: #e7f1ee; user-select: none; -webkit-user-select: none; touch-action: pan-y; }
.pc-ba__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.pc-ba__before { position: absolute; inset: 0; clip-path: inset(0 calc(100% - var(--pos)) 0 0); }
.pc-ba__label { position: absolute; top: 14px; padding: 6px 12px; font-size: 13px; font-weight: 700; color: #fff; background: rgba(13, 27, 26, .62); border-radius: 999px; backdrop-filter: blur(6px); pointer-events: none; }
.pc-ba__label--before { left: 14px; }
.pc-ba__label--after { right: 14px; }
.pc-ba__handle { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 3px; margin-left: -1.5px; background: #fff; box-shadow: 0 0 0 1px rgba(0, 0, 0, .08); pointer-events: none; }
.pc-ba__knob { position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 48px; height: 48px; margin: -24px 0 0 -24px; color: var(--pc-ba-accent); background: #fff; border-radius: 50%; box-shadow: 0 8px 24px -6px rgba(0, 0, 0, .35); }
.pc-ba__icon { width: 24px; height: 24px; }
.pc-ba__demo { position: absolute; left: 14px; bottom: 14px; padding: 5px 10px; font-size: 12px; font-weight: 700; color: #7a5a17; background: #f6ecd4; border-radius: 999px; pointer-events: none; }
/* Pole range leży na całym zdjęciu: przeciąganie w dowolnym miejscu, klawiatura, dotyk. */
.pc-ba__range { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; -webkit-appearance: none; appearance: none; touch-action: pan-y; }
.pc-ba__range:focus-visible + .pc-ba__stage, .pc-ba:focus-within .pc-ba__knob { outline: 3px solid var(--pc-ba-accent); outline-offset: 2px; }
.pc-ba__range-label { position: absolute; }
.pc-ba-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 380px), 1fr)); gap: 24px; }
.pc-ba-card { display: grid; gap: 14px; align-content: start; }
.pc-ba-card__body { display: grid; gap: 4px; }
.pc-ba-card__spec { margin: 0; font-size: 13px; font-weight: 700; color: #1f6b62; }
.pc-ba-card__title { margin: 0; font-size: 1.15rem; }
.pc-ba-card__meta, .pc-ba-card__text { margin: 0; font-size: .92rem; color: #5a6b68; }
.pc-ba-note { margin-top: 20px; font-size: .84rem; color: #5a6b68; }
