/* Podstránky: Náš tým, Galerie, Akce */
.page-hero { position: relative; padding: 30px 0 26px; margin-bottom: 26px; overflow: hidden; }
.page-hero::before { content: ""; position: absolute; inset: -40% -10%; background: radial-gradient(600px 300px at 20% 50%, rgba(255,43,214,.22), transparent 60%), radial-gradient(600px 300px at 80% 50%, rgba(43,210,255,.18), transparent 60%); pointer-events: none; }
.page-hero .wrap { position: relative; }
.page-hero h1 { margin: 4px 0 8px; }
.page-lead { max-width: 640px; color: #ddd6f3; font-size: 17px; margin: 0; }

/* Tým */
.chips { display: flex; gap: 8px; flex-wrap: wrap; }
.chip { padding: 8px 14px; border-radius: 999px; border: 1px solid rgba(255,255,255,.2); background: transparent; color: #fff; font-weight: 600; font-size: 13px; cursor: pointer; transition: background .2s, border-color .2s, box-shadow .2s; }
.chip.on { background: linear-gradient(135deg, var(--pink), var(--violet)); border-color: transparent; box-shadow: 0 0 16px rgba(255,43,214,.5); }
.team-filter { margin-bottom: 24px; }
.team-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 22px; }
.member { position: relative; border-radius: 22px; overflow: hidden; background: var(--panel); border: 1px solid var(--line); transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s, opacity .3s; }
.member::before { content: ""; position: absolute; inset: 0; border-radius: 22px; padding: 2px; background: linear-gradient(160deg, var(--pink), var(--violet) 50%, var(--blue)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: .25; transition: opacity .35s; pointer-events: none; z-index: 2; }
.member:hover { transform: translateY(-8px); box-shadow: 0 30px 60px rgba(124,58,237,.4); }
.member:hover::before { opacity: 1; }
.member.hide { display: none; }
.member-photo { aspect-ratio: 4 / 5; overflow: hidden; background: #120a26; }
.member-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.member:hover .member-photo img { transform: scale(1.05); }
.member-body { padding: 16px 18px 20px; display: grid; gap: 6px; }
.member-role { background: linear-gradient(135deg, var(--pink), var(--violet)); justify-self: start; }
.member-body h3 { font-size: 30px; margin: 2px 0 0; letter-spacing: 1px; }
.member-body p { margin: 0; color: #ddd6f3; font-size: 14px; }
.member-social { display: flex; gap: 8px; margin-top: 4px; }
.member-social a { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.18); color: #fff; transition: border-color .2s, box-shadow .2s, color .2s, transform .2s; }
.member-social a svg { width: 18px; height: 18px; }
.member-social a:hover { color: var(--pink); border-color: var(--pink); box-shadow: 0 0 14px rgba(255,43,214,.5); transform: translateY(-2px); text-decoration: none; }
.member-photo { position: relative; }
.member-shade { position: absolute; inset: auto 0 0 0; height: 45%; background: linear-gradient(to top, rgba(11,6,23,.95), transparent); }
.member-body { margin-top: -40px; position: relative; z-index: 1; }
.team-cta { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-top: 50px; padding: 28px 32px; border-radius: 24px; background: linear-gradient(135deg, rgba(255,43,214,.18), rgba(43,210,255,.12)); border: 1px solid var(--line); }
.team-cta h2 { margin: 0 0 4px; font-size: 32px; }
.team-cta p { margin: 0; }
.member.reveal { animation: memberIn .6s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(var(--i, 0) * 60ms); }
@keyframes memberIn { from { opacity: 0; transform: translateY(24px); } }

/* Galerie */
.gallery-grid { columns: 3; column-gap: 16px; }
@media (max-width: 900px) { .gallery-grid { columns: 2; } }
.gshot { break-inside: avoid; margin: 0 0 16px; border-radius: 12px; overflow: hidden; cursor: zoom-in; transform: rotate(var(--r)); transition: transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s; box-shadow: 0 14px 30px rgba(0,0,0,.45); }
.gshot:hover { transform: rotate(0) scale(1.03); box-shadow: 0 24px 50px rgba(255,43,214,.3); }
.gshot img { width: 100%; height: auto; display: block; }
.lightbox { position: fixed; inset: 0; z-index: 90; background: rgba(5,2,12,.94); display: grid; place-items: center; }
.lightbox[hidden] { display: none; }
.lightbox figure { margin: 0; }
.lightbox img { max-width: min(1400px, 94vw); max-height: 88vh; object-fit: contain; border-radius: 10px; box-shadow: 0 30px 80px rgba(0,0,0,.7); }
.lb-close, .lb-prev, .lb-next { position: absolute; width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(255,255,255,.3); background: rgba(11,6,23,.7); color: #fff; font-size: 22px; cursor: pointer; }
.lb-close { top: 18px; right: 18px; }
.lb-prev { left: 18px; top: 50%; transform: translateY(-50%); }
.lb-next { right: 18px; top: 50%; transform: translateY(-50%); }
.lb-count { position: absolute; bottom: 18px; left: 50%; transform: translateX(-50%); color: var(--muted); font-size: 13px; letter-spacing: 2px; }

/* Právní texty */
.prose { max-width: 820px; }
.prose h2 { font-size: 24px; margin-top: 34px; }
.prose h3 { font-size: 18px; margin-top: 22px; }
.prose p, .prose li { color: #ddd6f3; }
.prose table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 12px 0; }
.prose th, .prose td { padding: 10px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.prose th { color: var(--muted); font-size: 12px; letter-spacing: 1px; text-transform: uppercase; }
.prose .legal-meta { color: var(--muted); font-size: 13px; }
.legal-nav { display: flex; gap: 10px; flex-wrap: wrap; margin: 0 0 20px; }
.gallery-filter { margin-bottom: 22px; }
.gallery-filter .chip i { font-style: normal; opacity: .7; margin-left: 4px; font-size: 11px; }
.gshot { position: relative; }
.gshot.hide { display: none; }
.gshot figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 18px 12px 10px; font-size: 12px; font-weight: 600; color: #fff; background: linear-gradient(to top, rgba(11,6,23,.85), transparent); opacity: 0; transition: opacity .3s; }
.gshot:hover figcaption { opacity: 1; }
.lightbox figcaption { text-align: center; color: var(--muted); font-size: 13px; margin-top: 10px; }
/* Právní stránky: tabulky na mobilu jako karty pod sebou */
@media (max-width: 700px) {
  .prose table, .prose thead, .prose tbody, .prose tr, .prose td, .prose th { display: block; width: 100%; }
  .prose thead { display: none; }
  .prose tr { border: 1px solid var(--line); border-radius: 12px; padding: 8px 0; margin: 0 0 10px; background: rgba(255,255,255,.03); }
  .prose td { text-align: center; padding: 4px 12px; border: 0 !important; white-space: normal; }
  .prose td:first-child { font-weight: 700; color: #fff; }
}
@media (max-width: 700px) {
  .member-role { justify-self: center; }
  .member-body { justify-items: center; text-align: center; }
  .member-social { justify-content: center; }
  .fact, .fact-label, .fact-value { text-align: center; }
  .chips { justify-content: center; }
}
