/* Galeria pública da Casa: prévias reais e navegação horizontal por toque/teclado. */
.venue-media-preview{position:absolute;inset:0;display:block;overflow:hidden;background:#18181b;pointer-events:none}
.venue-media-preview .venue-media-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#f4f4f5;background:linear-gradient(135deg,#292524,#18181b);font-size:2.5rem}
.venue-media-preview>img,.venue-media-preview>video,.venue-media-preview>iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0;pointer-events:none}
.venue-media-preview>.hidden{display:none!important}
#galeria .section-head{display:flex;justify-content:space-between;align-items:center;gap:16px}
#galeria .venue-gallery-controls{display:flex;gap:8px;flex-shrink:0}
#galeria .venue-gallery-controls button{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#ff6600;color:#fff;border:0;cursor:pointer}
#galeria .venue-gallery-controls button:disabled{opacity:.35;cursor:default}
#galeria .venue-gallery-track{display:flex;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:2px;padding:4px 2px 14px;scrollbar-width:thin;scrollbar-color:#ff6600 transparent;touch-action:pan-x pan-y}
#galeria .venue-gallery-card{display:block;position:relative;flex:0 0 calc((100% - 48px)/4);min-width:0;aspect-ratio:4/5;height:auto;grid-column:auto;grid-row:auto;border-radius:24px;overflow:hidden;scroll-snap-align:start;cursor:pointer;text-align:left;border:1px solid #ffffff1a;background:#18181b}
#galeria .venue-gallery-card .media-caption{position:absolute;inset:auto 0 0;padding:42px 18px 18px;background:linear-gradient(transparent,#000c);z-index:2;color:#fff}
#galeria .venue-gallery-card .media-caption small{display:block;font-size:11px;color:#ffb06b}
#galeria .venue-gallery-card .media-caption strong{display:block;font-size:15px;margin-top:4px}
#galeria .venue-gallery-open{position:absolute;top:12px;right:12px;z-index:2;display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#0009;color:#fff}
#galeria :is(button,.venue-gallery-track):focus-visible{outline:3px solid #ff6600;outline-offset:3px}
#galeria .venue-gallery-position{font-size:12px;opacity:.75;margin-top:8px}
@media(max-width:1023px){#galeria .venue-gallery-card{flex-basis:calc((100% - 32px)/3)}}
@media(max-width:767px){#galeria .venue-gallery-card{flex-basis:72%;max-width:340px}#galeria .venue-gallery-track{gap:12px}#galeria .section-head{align-items:flex-start}#galeria .venue-gallery-controls button{width:44px;height:44px}}
