/* Before and After — frontend slider */
.bafg-slider{position:relative;width:100%;max-width:100%;overflow:hidden;user-select:none;line-height:0;background:#111;outline:none}
.bafg-slider img,.bafg-video{display:block;width:100%;height:100%;object-fit:cover}
.bafg-after,.bafg-before{position:relative}
.bafg-before{position:absolute;top:0;left:0;width:50%;height:100%;overflow:hidden}
.bafg-before img{position:absolute;top:0;left:0;width:auto;max-width:none}
.bafg-overlay{position:absolute;inset:0;background:rgba(0,0,0,0)}

/* labels: vertically centered, fade in on hover */
.bafg-label{position:absolute;top:50%;transform:translateY(-50%);z-index:5;padding:6px 14px;font:600 13px/1.2 system-ui,Arial,sans-serif;color:#fff;background:rgba(0,0,0,.55);border-radius:4px;text-align:center;pointer-events:none;opacity:0;transition:opacity .25s ease}
.bafg-label-before{left:14px}
.bafg-label-after{right:14px}
.bafg-slider:hover .bafg-label,.bafg-slider:focus .bafg-label{opacity:1}

/* handle */
.bafg-handle{position:absolute;top:0;left:50%;height:100%;width:0;z-index:6;transform:translateX(-50%);cursor:ew-resize}
.bafg-handle-line{position:absolute;top:0;left:50%;transform:translateX(-50%);width:3px;height:100%;background:#fff;box-shadow:0 0 4px rgba(0,0,0,.4)}
.bafg-handle-knob{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.15);border:2px solid #fff;box-shadow:0 0 6px rgba(0,0,0,.4)}
.bafg-handle-knob::before,.bafg-handle-knob::after{content:"";position:absolute;top:50%;width:0;height:0;border:6px solid transparent}
.bafg-handle-knob::before{left:7px;transform:translateY(-50%);border-right-color:#fff}
.bafg-handle-knob::after{right:7px;transform:translateY(-50%);border-left-color:#fff}

/* vertical orientation */
.bafg-orient-vertical .bafg-before{width:100%;height:50%}
.bafg-orient-vertical .bafg-before img{width:100%;height:auto}
.bafg-orient-vertical .bafg-handle{top:50%;left:0;width:100%;height:0;transform:translateY(-50%);cursor:ns-resize}
.bafg-orient-vertical .bafg-handle-line{top:50%;left:0;transform:translateY(-50%);width:100%;height:3px}

/* template variants (handle look) */
.bafg-tpl-minimal .bafg-handle-knob{width:18px;height:18px}
.bafg-tpl-minimal .bafg-handle-knob::before,.bafg-tpl-minimal .bafg-handle-knob::after{display:none}
.bafg-tpl-line .bafg-handle-knob{display:none}
.bafg-tpl-circle .bafg-handle-knob{background:#fff}
.bafg-tpl-circle .bafg-handle-knob::before{border-right-color:#333}
.bafg-tpl-circle .bafg-handle-knob::after{border-left-color:#333}
.bafg-tpl-diamond .bafg-handle-knob{border-radius:4px;transform:translate(-50%,-50%) rotate(45deg)}

/* fade template: no clip, opacity crossfade driven by JS var */
.bafg-tpl-fade .bafg-before{width:100%!important;height:100%!important}
.bafg-tpl-fade .bafg-handle{display:none}

/* info block */
.bafg-info{padding:12px 0}
.bafg-info-title{margin:0 0 6px;font-size:18px}
.bafg-info-desc{margin:0 0 8px}
.bafg-info-more{font-weight:600;text-decoration:none}

/* gallery grid */
.bafg-gallery{display:grid;gap:18px}
.bafg-cols-1{grid-template-columns:1fr}
.bafg-cols-2{grid-template-columns:repeat(2,1fr)}
.bafg-cols-3{grid-template-columns:repeat(3,1fr)}
.bafg-cols-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:782px){.bafg-cols-2,.bafg-cols-3,.bafg-cols-4{grid-template-columns:1fr}}
