/* ---------- Single slider ---------- */
.bxba{position:relative;width:100%;overflow:hidden;border-radius:16px;background:#f3eeeb;
  box-shadow:0 10px 30px rgba(43,34,38,.12);user-select:none;-webkit-user-select:none;touch-action:pan-y}
/* Force images to fill the frame (overrides Elementor/theme img rules) */
.bxba img.bxba__img{position:absolute!important;top:0!important;left:0!important;
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
  object-fit:cover!important;object-position:center!important;display:block!important;pointer-events:none}
.bxba img.bxba__before{z-index:1}
.bxba img.bxba__after{z-index:2}
.bxba__line{position:absolute;top:0;bottom:0;z-index:4;width:2px;margin-left:-1px;background:#ffffff;
  box-shadow:0 0 8px rgba(0,0,0,.25);pointer-events:none}
.bxba__handle{position:absolute;top:50%;z-index:5;width:46px;height:46px;margin:-23px 0 0 -23px;box-sizing:border-box;
  border-radius:50%;background:#ffffff;border:3px solid #a55b63;box-shadow:0 4px 14px rgba(0,0,0,.25);
  display:flex;align-items:center;justify-content:center;pointer-events:none;transition:transform .15s ease}
.bxba__handle svg{display:block}
.bxba.is-dragging .bxba__handle{transform:scale(1.08)}
.bxba__label{position:absolute;top:14px;z-index:3;padding:6px 12px;border-radius:999px;background:rgba(43,34,38,.55);
  color:#ffffff;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;line-height:1.2;
  pointer-events:none;transition:opacity .2s ease}
.bxba__label--before{left:14px}
.bxba__label--after{right:14px}
/* Invisible range input: handles mouse, touch and keyboard */
.bxba input.bxba__range{position:absolute!important;top:0!important;left:0!important;z-index:6;width:100%!important;height:100%!important;
  margin:0!important;padding:0!important;opacity:0!important;cursor:ew-resize;border:0!important;
  -webkit-appearance:none;appearance:none;background:transparent!important}

/* ---------- Gallery grid ---------- */
.bxba-grid{display:grid;gap:28px;width:100%}
.bxba-grid--1{grid-template-columns:1fr}
.bxba-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.bxba-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.bxba-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.bxba-item{margin:0;padding:0;display:flex;flex-direction:column;gap:12px;min-width:0}
.bxba-item__title{margin:0;text-align:center;font-size:16px;font-weight:600;color:#2b2226;line-height:1.35}

/* Tablet: max 2 columns */
@media(max-width:1024px){
  .bxba-grid--3,.bxba-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bxba-grid{gap:22px}
}
/* Mobile: 1 column, smaller handle and labels */
@media(max-width:600px){
  .bxba-grid--2,.bxba-grid--3,.bxba-grid--4{grid-template-columns:1fr}
  .bxba-grid{gap:20px}
  .bxba{border-radius:12px}
  .bxba__handle{width:38px;height:38px;margin:-19px 0 0 -19px}
  .bxba__label{top:10px;padding:4px 10px;font-size:11px}
  .bxba__label--before{left:10px}
  .bxba__label--after{right:10px}
  .bxba-item__title{font-size:15px}
}
