/* Immo AI Styler – galerij. Neutrale stijl die in de meeste thema's past; kleuren via CSS-variabelen aan te passen. */
.immo-gal{--immo-brand:#1f4e5f;--immo-line:#e3e1dc;--immo-bg:#fff;--immo-text:#1d1f22;--immo-muted:#686c72;--immo-accent:#c8782f;
  border:1px solid var(--immo-line);border-radius:12px;overflow:hidden;background:var(--immo-bg);color:var(--immo-text);margin:1.5em 0;outline:none;font-size:15px;line-height:1.5}
.immo-gal img{max-width:none}
.immo-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--immo-line)}
.immo-lbl{font-size:13px;font-weight:600;color:var(--immo-muted);margin-right:4px}
.immo-sbtn{border:1px solid var(--immo-line);background:var(--immo-bg);color:var(--immo-text);border-radius:999px;padding:6px 14px;font:inherit;font-size:14px;cursor:pointer;line-height:1.2}
.immo-sbtn.on{background:var(--immo-brand);border-color:var(--immo-brand);color:#fff}
.immo-stage{position:relative;background:#000;aspect-ratio:3/2}
.immo-main{width:100%!important;height:100%!important;object-fit:contain;display:block;cursor:zoom-in}
.immo-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.85);color:#111;font-size:24px;line-height:1;cursor:pointer;padding:0}
.immo-arrow.l{left:12px}.immo-arrow.r{right:12px}
.immo-vlabel{position:absolute;left:12px;bottom:12px;background:rgba(0,0,0,.72);color:#fff;font-size:13px;border-radius:6px;padding:4px 10px}
.immo-vlabel b{color:#ffd59a}
.immo-count{position:absolute;right:12px;bottom:12px;background:rgba(0,0,0,.6);color:#fff;font-size:13px;border-radius:6px;padding:4px 10px}
.immo-hold{position:absolute;right:12px;top:12px;background:rgba(0,0,0,.6);color:#fff;border:0;border-radius:6px;padding:5px 10px;font-size:13px;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:none}
.immo-thumbs{position:relative;display:flex;gap:6px;overflow-x:auto;padding:10px 12px;scroll-behavior:smooth}
.immo-t{position:relative;flex:0 0 auto}
.immo-thumbs img{width:96px!important;height:64px!important;object-fit:cover;border-radius:6px;cursor:pointer;opacity:.7;border:2px solid transparent;display:block}
.immo-thumbs img.on{opacity:1;border-color:var(--immo-brand)}
.immo-dot{position:absolute;top:4px;right:4px;width:9px;height:9px;border-radius:50%;background:var(--immo-accent);box-shadow:0 0 0 2px #fff}
.immo-note{font-size:13px;color:var(--immo-muted);padding:0 12px 12px;margin:0}
.immo-lb{position:fixed;inset:0;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;z-index:99999;flex-direction:column;gap:10px}
.immo-lb img{max-width:96vw;max-height:86vh}
.immo-lbrow{display:flex;gap:8px}
.immo-lbrow button{background:#fff;color:#111;border:0;border-radius:8px;padding:8px 14px;cursor:pointer}
@media (max-width:600px){.immo-arrow{width:36px;height:36px;font-size:20px}}
.immo-busy{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:13px;color:var(--immo-muted);border-bottom:1px solid var(--immo-line);background:#faf8f4}
.immo-spin{width:12px;height:12px;border-radius:50%;border:2px solid var(--immo-line);border-top-color:var(--immo-accent);animation:immo-spin 1s linear infinite;flex:0 0 auto}
@keyframes immo-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.immo-spin{animation:none}}
