/* ─── Before / After Grid ─── */ .bkbg-bag-outer { display: block; } .bkbg-bag-grid { display: grid; } /* Each comparison item */ .bkbg-bag-item { overflow: hidden; user-select: none; -webkit-user-select: none; } /* The slider viewport — positions images inside */ .bkbg-bag-slider { position: relative; overflow: hidden; cursor: ew-resize; touch-action: none; } .bkbg-bag-slider.orient-vertical { cursor: ns-resize; } /* Images */ .bkbg-bag-before, .bkbg-bag-after { position: absolute; inset: 0; overflow: hidden; } .bkbg-bag-before img, .bkbg-bag-after img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; display: block; } /* After image: clip to right/bottom portion */ .bkbg-bag-after { clip-path: inset(0 0 0 50%); /* horizontal default — updated by JS */ } .bkbg-bag-slider.orient-vertical .bkbg-bag-after { clip-path: inset(50% 0 0 0); /* vertical — updated by JS */ } /* Divider line */ .bkbg-bag-line { position: absolute; top: 0; left: 50%; width: 2px; height: 100%; background: #fff; transform: translateX(-50%); z-index: 3; pointer-events: none; transition: none; } .bkbg-bag-slider.orient-vertical .bkbg-bag-line { top: 50%; left: 0; width: 100%; height: 2px; transform: translateY(-50%); } /* Handle */ .bkbg-bag-handle { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.22); z-index: 4; cursor: grab; font-size: 16px; font-weight: 700; transition: box-shadow 0.15s; flex-shrink: 0; } .bkbg-bag-handle:active { cursor: grabbing; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3); } /* Labels */ .bkbg-bag-label { position: absolute; top: 10px; padding: 2px 8px; border-radius: 4px; z-index: 5; pointer-events: none; font-family: var(--bkbg-bag-label-font-family, inherit); font-size: var(--bkbg-bag-label-font-size-d, var(--bkbg-bag-label-font-size, 12px)); font-weight: var(--bkbg-bag-label-font-weight, 600); font-style: var(--bkbg-bag-label-font-style, normal); text-transform: var(--bkbg-bag-label-text-transform, none); text-decoration: var(--bkbg-bag-label-text-decoration, none); line-height: var(--bkbg-bag-label-line-height-d, var(--bkbg-bag-label-line-height, 1.3)); letter-spacing: var(--bkbg-bag-label-letter-spacing-d, var(--bkbg-bag-label-letter-spacing, normal)); word-spacing: var(--bkbg-bag-label-word-spacing-d, var(--bkbg-bag-label-word-spacing, normal)); } .bkbg-bag-label-before { left: 10px; } .bkbg-bag-label-after { right: 10px; } /* Caption */ .bkbg-bag-caption { padding: 8px 12px; font-family: var(--bkbg-bag-caption-font-family, inherit); font-size: var(--bkbg-bag-caption-font-size-d, var(--bkbg-bag-caption-font-size, 13px)); font-weight: var(--bkbg-bag-caption-font-weight, normal); font-style: var(--bkbg-bag-caption-font-style, normal); text-transform: var(--bkbg-bag-caption-text-transform, none); text-decoration: var(--bkbg-bag-caption-text-decoration, none); line-height: var(--bkbg-bag-caption-line-height-d, var(--bkbg-bag-caption-line-height, 1.3)); letter-spacing: var(--bkbg-bag-caption-letter-spacing-d, var(--bkbg-bag-caption-letter-spacing, normal)); word-spacing: var(--bkbg-bag-caption-word-spacing-d, var(--bkbg-bag-caption-word-spacing, normal)); } @media (max-width: 1024px) { /* Labels */ .bkbg-bag-label { font-size: var(--bkbg-bag-label-font-size-t, var(--bkbg-bag-label-font-size-d, var(--bkbg-bag-label-font-size, 12px))); line-height: var(--bkbg-bag-label-line-height-t, var(--bkbg-bag-label-line-height-d, var(--bkbg-bag-label-line-height, 1.3))); letter-spacing: var(--bkbg-bag-label-letter-spacing-t, var(--bkbg-bag-label-letter-spacing-d, var(--bkbg-bag-label-letter-spacing, normal))); word-spacing: var(--bkbg-bag-label-word-spacing-t, var(--bkbg-bag-label-word-spacing-d, var(--bkbg-bag-label-word-spacing, normal))); } /* Caption */ .bkbg-bag-caption { font-size: var(--bkbg-bag-caption-font-size-t, var(--bkbg-bag-caption-font-size-d, var(--bkbg-bag-caption-font-size, 13px))); line-height: var(--bkbg-bag-caption-line-height-t, var(--bkbg-bag-caption-line-height-d, var(--bkbg-bag-caption-line-height, 1.3))); letter-spacing: var(--bkbg-bag-caption-letter-spacing-t, var(--bkbg-bag-caption-letter-spacing-d, var(--bkbg-bag-caption-letter-spacing, normal))); word-spacing: var(--bkbg-bag-caption-word-spacing-t, var(--bkbg-bag-caption-word-spacing-d, var(--bkbg-bag-caption-word-spacing, normal))); } } @media (max-width: 767px) { /* Labels */ .bkbg-bag-label { font-size: var(--bkbg-bag-label-font-size-m, var(--bkbg-bag-label-font-size-t, var(--bkbg-bag-label-font-size-d, var(--bkbg-bag-label-font-size, 12px)))); line-height: var(--bkbg-bag-label-line-height-m, var(--bkbg-bag-label-line-height-t, var(--bkbg-bag-label-line-height-d, var(--bkbg-bag-label-line-height, 1.3)))); letter-spacing: var(--bkbg-bag-label-letter-spacing-m, var(--bkbg-bag-label-letter-spacing-t, var(--bkbg-bag-label-letter-spacing-d, var(--bkbg-bag-label-letter-spacing, normal)))); word-spacing: var(--bkbg-bag-label-word-spacing-m, var(--bkbg-bag-label-word-spacing-t, var(--bkbg-bag-label-word-spacing-d, var(--bkbg-bag-label-word-spacing, normal)))); } /* Caption */ .bkbg-bag-caption { font-size: var(--bkbg-bag-caption-font-size-m, var(--bkbg-bag-caption-font-size-t, var(--bkbg-bag-caption-font-size-d, var(--bkbg-bag-caption-font-size, 13px)))); line-height: var(--bkbg-bag-caption-line-height-m, var(--bkbg-bag-caption-line-height-t, var(--bkbg-bag-caption-line-height-d, var(--bkbg-bag-caption-line-height, 1.3)))); letter-spacing: var(--bkbg-bag-caption-letter-spacing-m, var(--bkbg-bag-caption-letter-spacing-t, var(--bkbg-bag-caption-letter-spacing-d, var(--bkbg-bag-caption-letter-spacing, normal)))); word-spacing: var(--bkbg-bag-caption-word-spacing-m, var(--bkbg-bag-caption-word-spacing-t, var(--bkbg-bag-caption-word-spacing-d, var(--bkbg-bag-caption-word-spacing, normal)))); } }