/* Všechlapská šlapka 2026 – galerie (vše je pod třídou .vsg, aby to nekolidovalo se šablonou) */
html,body{overflow-x:clip} /* 100vw včetně posuvníku nesmí způsobit vodorovné posouvání */
/* Stránka s galerií (šablona Tesseract): skrýt nadpis stránky a boční panel, obsah na celou šířku */
.vsg-page #secondary,.vsg-page .entry-header{display:none!important}
.vsg-page #primary{width:100%!important;max-width:none!important;float:none!important;margin:0!important;padding:0!important}
.vsg-page #main,.vsg-page #main>article,.vsg-page .entry-content{margin:0!important;padding:0!important;max-width:none!important;width:auto!important;float:none!important}
.vsg{
  --bg:#101418; --panel:#1a2027; --panel2:#232b34; --line:#2e3843;
  --text:#eef2f5; --muted:#9aa7b3; --accent:#3fc1a5; --accent-ink:#06231d;
  --maybe:#f2b544; --radius:10px; --rowh:230px;
  /* roztažení na celou šířku okna i uvnitř úzkého obsahu šablony */
  position:relative; left:50%;
  width:calc(100vw - var(--vsg-sbw,0px)); margin-left:calc(-50vw + var(--vsg-sbw,0px) / 2);
  background:var(--bg); color:var(--text);
  font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  padding:32px 0 64px; box-sizing:border-box;
}
.vsg [hidden]{display:none!important}
.vsg *,.vsg *::before,.vsg *::after{box-sizing:border-box}
.vsg-in{max-width:1440px;margin:0 auto;padding:0 24px}
.vsg h2{font-size:clamp(26px,3.2vw,40px);line-height:1.15;margin:0 0 6px;color:var(--text);font-weight:750;letter-spacing:-.01em;text-align:center}
.vsg-sub{color:var(--muted);text-align:center;margin:0 0 24px}

/* video */
.vsg-video{max-width:1100px;margin:0 auto 36px;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;background:#000;box-shadow:0 10px 40px rgba(0,0,0,.45)}
.vsg-video iframe{width:100%;height:100%;border:0;display:block}

/* filtr */
.vsg-bar{position:sticky;top:0;z-index:20;background:rgba(16,20,24,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:12px 0;margin:0 0 20px}
.admin-bar .vsg-bar{top:32px}
.vsg-bar .vsg-in{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center}
.vsg-tabs{display:flex;flex-wrap:wrap;gap:6px;background:var(--panel);padding:4px;border-radius:999px}
.vsg-tab{appearance:none;border:0;background:transparent;color:var(--muted);font:inherit;font-size:15px;padding:8px 16px;border-radius:999px;cursor:pointer;white-space:nowrap}
.vsg-tab:hover{color:var(--text)}
.vsg-tab[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink);font-weight:650}
.vsg-tab small{opacity:.7;margin-left:4px;font-size:12px}
.vsg-search{display:flex;gap:6px;align-items:center}
.vsg-search input{width:190px;font:inherit;font-size:16px;padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--text);outline:none}
.vsg-search input:focus{border-color:var(--accent)}
.vsg-search input::-webkit-outer-spin-button,.vsg-search input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.vsg-btn{appearance:none;border:0;font:inherit;font-size:15px;padding:9px 18px;border-radius:999px;cursor:pointer;background:var(--accent);color:var(--accent-ink);font-weight:650;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.vsg-btn.ghost{background:var(--panel2);color:var(--text);font-weight:500}
.vsg-btn:hover{filter:brightness(1.08)}
.vsg-status{text-align:center;color:var(--muted);margin:0 0 16px;min-height:1.5em}
.vsg-status b{color:var(--text)}

/* sekce výsledků */
.vsg-sec{margin:0 0 28px}
.vsg-sec h3{font-size:18px;margin:0 0 12px;color:var(--text);font-weight:650;display:flex;align-items:center;gap:10px}
.vsg-sec h3 .pill{font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px;background:var(--panel2);color:var(--muted)}
.vsg-sec.maybe h3 .pill{background:rgba(242,181,68,.15);color:var(--maybe)}
.vsg-sec p.hint{color:var(--muted);margin:-6px 0 12px;font-size:14px}
.vsg-empty{text-align:center;color:var(--muted);padding:40px 16px;background:var(--panel);border-radius:var(--radius)}

/* zarovnaná mřížka (justified rows) */
.vsg-grid{display:flex;flex-wrap:wrap;gap:6px}
.vsg-grid::after{content:"";flex-grow:1e4}
.vsg-item{position:relative;display:block;height:var(--rowh);flex-grow:1;border-radius:6px;overflow:hidden;background:var(--panel);cursor:zoom-in}
.vsg-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease,opacity .3s;opacity:0}
.vsg-item img.ok{opacity:1}
.vsg-item:hover img{transform:scale(1.03)}
.vsg-item .tag{position:absolute;left:6px;bottom:6px;font-size:12px;padding:2px 8px;border-radius:999px;background:rgba(0,0,0,.6);color:#fff;opacity:0;transition:opacity .2s}
.vsg-item:hover .tag,.vsg-item:focus .tag{opacity:1}
.vsg-more{display:flex;justify-content:center;margin:20px 0}

/* lightbox */
.vsg-lb{position:fixed;inset:0;z-index:100000;background:#05070a;display:none;flex-direction:column;color:#fff;font:15px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.vsg-lb.open{display:flex}
.vsg-lb-top{display:flex;align-items:center;gap:10px;padding:10px 14px;flex-wrap:wrap}
.vsg-lb-top .info{flex:1;min-width:160px;color:#c9d2da}
.vsg-lb-top .info b{color:#fff}
.vsg-chip{appearance:none;border:0;font:inherit;font-size:13px;padding:3px 10px;border-radius:999px;background:#2a333d;color:#fff;cursor:pointer;margin:2px}
.vsg-chip.m{background:rgba(242,181,68,.18);color:#f2b544}
.vsg-ibtn{appearance:none;border:0;background:#222a33;color:#fff;font:inherit;padding:8px 14px;border-radius:999px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.vsg-ibtn:hover{background:#2e3843}
.vsg-lb-stage{flex:1;position:relative;display:flex;align-items:center;justify-content:center;min-height:0;touch-action:pan-y}
.vsg-lb-stage img{max-width:100%;max-height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.vsg-nav{position:absolute;top:50%;transform:translateY(-50%);appearance:none;border:0;width:56px;height:56px;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;font-size:28px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.vsg-nav:hover{background:rgba(0,0,0,.7)}
.vsg-nav.prev{left:12px}.vsg-nav.next{right:12px}
.vsg-spin{position:absolute;width:36px;height:36px;border:3px solid #444;border-top-color:#fff;border-radius:50%;animation:vsgspin .8s linear infinite;display:none}
.vsg-lb.loading .vsg-spin{display:block}
@keyframes vsgspin{to{transform:rotate(360deg)}}
.vsg-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#fff;color:#111;padding:8px 16px;border-radius:999px;z-index:100001;opacity:0;transition:opacity .2s;pointer-events:none}
.vsg-toast.show{opacity:1}

@media (max-width:700px){
  .vsg{--rowh:112px;padding-top:20px}
  .vsg-in{padding:0 8px}
  .vsg-bar{padding:8px 0}
  .vsg-bar .vsg-in{gap:8px}
  .vsg-tabs{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none}
  .vsg-tabs::-webkit-scrollbar{display:none}
  .vsg-search{width:100%}
  .vsg-search input{flex:1;width:auto;min-width:0}
  .vsg-grid{gap:4px}
  .vsg-video{border-radius:0;margin-left:-8px;margin-right:-8px}
  .vsg-tab{padding:7px 11px;font-size:14px}
  .vsg-nav{width:44px;height:44px;font-size:22px;background:rgba(0,0,0,.3)}
  .vsg-lb-top .hide-m{display:none}
}

/* zámek – heslo pro galerii */
.vsg-locked .vsg-tabs,.vsg-locked .vsg-search{opacity:.45;filter:saturate(.4)}
.vsg-locked .vsg-tab small{display:none}
.vsg-lock{max-width:560px;margin:24px auto 40px;text-align:center;background:linear-gradient(180deg,var(--panel),#141a20);border:1px solid var(--line);border-radius:16px;padding:36px 28px 28px;box-shadow:0 0 0 1px rgba(63,193,165,.25),0 0 48px rgba(63,193,165,.18);animation:vsgglow 2.6s ease-in-out infinite}
@keyframes vsgglow{50%{box-shadow:0 0 0 1px rgba(63,193,165,.55),0 0 70px rgba(63,193,165,.32)}}
.vsg-lock .ico{font-size:40px;line-height:1;margin-bottom:10px}
.vsg-lock h3{margin:0 0 6px;font-size:22px;color:var(--text);font-weight:700}
.vsg-lock p{margin:0 0 18px;color:var(--muted)}
.vsg-lock-f{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}
.vsg-lock-f input{flex:1;min-width:200px;max-width:280px;font:inherit;font-size:16px;padding:11px 16px;border-radius:999px;border:1px solid var(--line);background:#0d1115;color:var(--text);outline:none}
.vsg-lock-f input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(63,193,165,.25)}
.vsg-lock-f .vsg-btn{padding:11px 22px}
.vsg-lock-f .vsg-btn[disabled]{opacity:.7;cursor:wait}
.vsg-lock .err{color:#ff8a7a;margin:12px 0 0;min-height:1.5em;font-size:15px}
.vsg-lock.shake .vsg-lock-f{animation:vsgshake .35s}
@keyframes vsgshake{25%{transform:translateX(-6px)}50%{transform:translateX(6px)}75%{transform:translateX(-3px)}}
@media (prefers-reduced-motion:reduce){.vsg-lock{animation:none}.vsg-lock.shake .vsg-lock-f{animation:none}}

/* pole formulářů – přebít styly šablony (bílé pozadí při :focus) a automatické vyplňování prohlížeče */
.vsg input[type="number"],.vsg input[type="password"],.vsg input[type="text"],
.vsg input[type="number"]:focus,.vsg input[type="password"]:focus,.vsg input[type="text"]:focus,
.vsg input[type="number"]:hover,.vsg input[type="password"]:hover,.vsg input[type="text"]:hover{
  background:#0d1115!important;background-color:#0d1115!important;color:#eef2f5!important;-webkit-text-fill-color:#eef2f5!important;caret-color:#3fc1a5}
.vsg input::placeholder{color:#7d8a96!important;-webkit-text-fill-color:#7d8a96!important;opacity:1}
.vsg input:-webkit-autofill,.vsg input:-webkit-autofill:hover,.vsg input:-webkit-autofill:focus{
  -webkit-box-shadow:0 0 0 1000px #0d1115 inset!important;box-shadow:0 0 0 1000px #0d1115 inset!important;-webkit-text-fill-color:#eef2f5!important;transition:background-color 9999s}
.vsg input:focus{border-color:#3fc1a5!important;outline:none!important}

/* tlačítka – šablona dává všem button:hover/:focus modré pozadí, vrátit naše barvy */
.vsg button:hover,.vsg button:focus,.vsg button:active,.vsg-lb button:hover,.vsg-lb button:focus,.vsg-lb button:active{box-shadow:none;text-shadow:none}
.vsg .vsg-btn:hover,.vsg .vsg-btn:focus,.vsg .vsg-btn:active{background:var(--accent)!important;color:var(--accent-ink)!important}
.vsg .vsg-btn.ghost:hover,.vsg .vsg-btn.ghost:focus,.vsg .vsg-btn.ghost:active{background:var(--panel2)!important;color:var(--text)!important}
.vsg .vsg-tab:hover,.vsg .vsg-tab:focus,.vsg .vsg-tab:active{background:transparent!important;color:var(--text)!important}
.vsg .vsg-tab[aria-pressed="true"],.vsg .vsg-tab[aria-pressed="true"]:hover,.vsg .vsg-tab[aria-pressed="true"]:focus{background:var(--accent)!important;color:var(--accent-ink)!important}
.vsg-lb .vsg-ibtn:hover,.vsg-lb .vsg-ibtn:focus{background:#2e3843!important;color:#fff!important}
.vsg-lb .vsg-nav:hover,.vsg-lb .vsg-nav:focus{background:rgba(0,0,0,.7)!important;color:#fff!important}
.vsg-lb .vsg-chip:hover,.vsg-lb .vsg-chip:focus{background:#3a4552!important;color:#fff!important}
.vsg-lb .vsg-chip.m:hover,.vsg-lb .vsg-chip.m:focus{background:rgba(242,181,68,.3)!important;color:#f2b544!important}
