.vxg-wrap{padding-bottom:20px;--p:var(--vx-purple,#7a3cff);--bg:var(--vx-bg,#08080d);--card:var(--vx-card,#13131c);--line:var(--vx-line,#262634);--ink:var(--vx-ink,#f4f4f8);--mut:var(--vx-muted,#9a9ab0);color:var(--ink);max-width:1280px;margin:0 auto;padding:0 16px}
.vxg-wrap h1{font-size:clamp(26px,4vw,40px);margin:0 0 8px;letter-spacing:-.02em}
.vxg-crumb a{color:var(--mut);text-decoration:none;font-size:14px}.vxg-crumb a:hover{color:var(--ink)}
.vxg-head{margin:22px 0 34px}
.vxg-head p{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--mut);margin:0;font-size:15px}
.vxg-price{color:#fff;background:var(--p);padding:2px 10px;border-radius:99px;font-weight:600}

.vxg-search{display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:6px 6px 6px 14px;margin:0 0 36px;max-width:720px}
.vxg-search:focus-within{border-color:var(--p);box-shadow:0 0 0 3px rgba(122,60,255,.25)}
.vxg-search__icon{font-size:20px;color:var(--mut)}
.vxg-search input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:var(--ink);font-size:16px;padding:10px 4px;box-shadow:none}
.vxg-search button{background:var(--p);color:#fff;border:0;border-radius:10px;padding:11px 20px;font-weight:600;cursor:pointer}
.vxg-search button:hover{filter:brightness(1.12)}

.vxg-events{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:30px}
.vxg-event{display:block;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .25s,border-color .25s}
.vxg-event:hover{transform:translateY(-4px);border-color:var(--p)}
.vxg-event__img{display:block;aspect-ratio:4/3;background:#0d0d14;overflow:hidden}
.vxg-event__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.vxg-event:hover img{transform:scale(1.05)}
.vxg-event__body{display:flex;flex-direction:column;gap:4px;padding:14px 16px 16px}
.vxg-event__body strong{font-size:17px;line-height:1.25}
.vxg-event__body small{color:var(--mut)}
.vxg-empty{color:var(--mut);padding:40px 0}

.vxg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px}
.vxg-photo{position:relative;margin:0;border-radius:12px;overflow:hidden;background:var(--card);cursor:zoom-in;aspect-ratio:1}
.vxg-photo img{width:100%;height:100%;object-fit:cover;display:block;-webkit-user-drag:none;user-select:none;transition:transform .4s}
.vxg-photo:hover img{transform:scale(1.04)}
.vxg-photo figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:28px 10px 10px;background:linear-gradient(transparent,rgba(0,0,0,.85));font-size:12px;color:#fff;opacity:0;transition:opacity .2s}
.vxg-photo:hover figcaption,.vxg-photo:focus-within figcaption{opacity:1}
@media (hover:none){.vxg-photo figcaption{opacity:1}}
.vxg-add{background:var(--p);color:#fff;border:0;border-radius:99px;padding:7px 13px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}
.vxg-add:hover{filter:brightness(1.15)}
.vxg-add.is-in{background:#1f8f5f}
.vxg-pager{display:flex;gap:8px;justify-content:center;margin:56px 0 24px;flex-wrap:wrap}
.vxg-pager .page-numbers{padding:8px 14px;border-radius:10px;border:1px solid var(--line);color:var(--ink);text-decoration:none}
.vxg-pager .current{background:var(--p);border-color:var(--p)}

.vxg-lb{position:fixed;inset:0;z-index:99999;background:rgba(4,4,8,.94);display:flex;align-items:center;justify-content:center;gap:10px;padding:20px}
.vxg-lb[hidden]{display:none}
.vxg-lb__box{max-width:min(92vw,1100px);display:flex;flex-direction:column;gap:12px;align-items:stretch}
.vxg-lb__box img{max-width:100%;max-height:78vh;object-fit:contain;border-radius:8px;margin:0 auto;display:block;-webkit-user-drag:none}
.vxg-lb__bar{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#fff}
.vxg-lb__x{position:absolute;top:14px;right:20px;background:none;border:0;color:#fff;font-size:38px;cursor:pointer;line-height:1}
.vxg-lb__nav{background:rgba(255,255,255,.08);border:0;color:#fff;font-size:34px;width:46px;height:46px;border-radius:50%;cursor:pointer;flex:none}
.vxg-lb__nav:hover{background:var(--p)}
@media (max-width:640px){.vxg-lb__nav{position:absolute;bottom:14px}.vxg-lb__prev{left:14px}.vxg-lb__next{right:14px}}
body.vxg-lock{overflow:hidden}

.vxg-cartbar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:9999;display:flex;align-items:center;gap:16px;background:#fff;color:#08080d;padding:10px 12px 10px 20px;border-radius:99px;box-shadow:0 12px 40px rgba(0,0,0,.5);font-size:14px}
.vxg-cartbar[hidden]{display:none}
.vxg-btn{background:var(--vx-purple,#7a3cff);color:#fff;text-decoration:none;padding:10px 18px;border-radius:99px;font-weight:600}

/* A busca também aparece fora da galeria (home): garante as cores */
.vxg-search{--p:var(--vx-purple,#7a3cff);--card:var(--vx-card,#13131c);--line:var(--vx-line,#262634);--ink:var(--vx-ink,#f4f4f8);--mut:var(--vx-muted,#9a9ab0)}

/* Busca e separação dentro da galeria */
.vxg-h2{display:flex;align-items:center;gap:16px;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--p);font-weight:700;margin:64px 0 28px}
.vxg-h2::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent)}
.vxg-result-line{color:var(--mut);margin:0 0 30px;font-size:14px}
.vxg-result-line a{color:var(--p);text-decoration:none}
.vxg-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 34px}
.vxg-chip{padding:7px 14px;border-radius:99px;border:1px solid var(--line);background:var(--card);color:var(--ink);text-decoration:none;font-size:13px;transition:border-color .2s,background .2s}
.vxg-chip:hover{border-color:var(--p)}
.vxg-chip.is-on{background:var(--p);border-color:var(--p);color:#fff}
.vxg-photo__ev{position:absolute;top:10px;left:10px;max-width:calc(100% - 20px);background:rgba(8,8,13,.78);backdrop-filter:blur(6px);color:#fff;font-size:11px;padding:4px 10px;border-radius:99px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vxg-head{padding-bottom:26px;border-bottom:1px solid var(--line);margin-bottom:34px}

.vxg-crumb{margin-bottom:6px}
.vxg-head h1{margin-bottom:14px}
.vxg-photo__ev{top:12px;left:12px}

.vxg-event__img{position:relative}
.vxg-event__tag{position:absolute;top:12px;left:12px;z-index:1;background:rgba(8,8,13,.78);backdrop-filter:blur(6px);color:#fff;font-size:11px;font-weight:600;letter-spacing:.04em;padding:4px 11px;border-radius:99px}
.vxg-event__tag--treino{background:rgba(122,60,255,.85)}
