.tournament-content .photo-gallery{margin:24px 0 30px;background:#fff;border:1px solid #c7d8e6;border-radius:8px;overflow:hidden}
.photo-gallery-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;border-bottom:1px solid #dce7f0}
.tournament-content .photo-gallery h2{margin:0;font-size:22px;color:#16314e}
.photo-gallery-count{border-radius:20px;padding:7px 13px;background:#e9f4fc;color:#16314e;font-size:13px;white-space:nowrap}
.photo-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:24px}
.tournament-content .photo-gallery-item{display:block;min-width:0;overflow:hidden;border-radius:7px;background:#eef3f9;border:1px solid #d6e1ec;aspect-ratio:4/3}
.photo-gallery-item img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .2s}
.photo-gallery-item:hover img{transform:scale(1.025)}
.photo-gallery-message{padding:0 24px;color:#5d7386;font-size:14px}
dialog.photo-lightbox{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#0b2035f5;color:#fff;overflow:hidden}
.photo-lightbox::backdrop{background:#0b2035}
.photo-lightbox[open]{display:flex;flex-direction:column}
.photo-lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;flex:none}
.photo-lightbox button{background:#163d60;color:#fff;border:1px solid #7397b4;border-radius:8px;min-width:48px;min-height:48px;font-size:24px;cursor:pointer}
.photo-lightbox button:hover{background:#236490}
.photo-lightbox button:focus-visible{outline:3px solid #edb64a;outline-offset:3px}
.photo-lightbox-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0 80px 20px;touch-action:pan-y pinch-zoom}
.photo-lightbox-image{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;user-select:none}
.photo-lightbox-prev,.photo-lightbox-next{position:absolute;top:calc(50% - 24px);z-index:1}
.photo-lightbox-prev{left:16px}.photo-lightbox-next{right:16px}
.photo-lightbox-caption{text-align:center;margin:0;padding:0 20px 18px;font:14px/1.5 Arial,sans-serif;flex:none;color:#d3e6f3}
body.photo-gallery-open{overflow:hidden}
@media(max-width:1100px){.photo-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.photo-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:12px}.photo-gallery-header{padding:18px 16px}.photo-lightbox-stage{padding:0 8px 72px}.photo-lightbox-prev,.photo-lightbox-next{top:auto;bottom:12px}.photo-lightbox-prev{left:calc(50% - 60px)}.photo-lightbox-next{right:calc(50% - 60px)}}
@media(max-width:380px){.photo-gallery-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.photo-gallery-item img{transition:none}}
@media print{.photo-gallery,.photo-lightbox{display:none!important}}
