/* ---- Gallery Slider (no reflow) ---- */
.hx-gallery-wrap{position:relative;margin:40px auto;max-width:1200px;}
.hx-slider{position:relative;overflow:hidden;border-radius:8px}
.hx-track{display:flex;transition:transform .4s ease;will-change:transform}
.hx-slide{min-width:100%;height:52vw;max-height:520px;position:relative;background:#111}
.hx-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;user-select:none}
.hx-nav{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.hx-btn{pointer-events:auto;border:0;background:rgba(0,0,0,.45);width:44px;height:44px;border-radius:999px;display:grid;place-items:center;cursor:pointer;transition:opacity .2s}
.hx-btn svg{width:22px;height:22px;fill:#fff}
.hx-btn:hover{opacity:.9}
.hx-dots{display:flex;gap:8px;justify-content:center;margin-top:10px}
.hx-dot{width:8px;height:8px;border-radius:50%;background:#bbb;opacity:.7}
.hx-dot.active{opacity:1;background:#fff}

/* Lightbox */
#lb{position:fixed;inset:0;background:rgba(0,0,0,.9);display:grid;place-items:center;opacity:0;visibility:hidden;transition:.2s;z-index:9999}
#lb.show{opacity:1;visibility:visible}
#lb .lb-inner{max-width:min(92vw,1200px);max-height:90vh;position:relative}
#lb img{width:100%;height:auto;max-height:90vh;display:block}
#lb .lb-close{position:absolute;top:-42px;right:0;background:rgba(0,0,0,.6);border:0;color:#fff;width:38px;height:38px;border-radius:50%;cursor:pointer}
@media (min-width:1200px){.hx-slide{height:520px}}