.photo-reports,.photo-report{padding:1rem 0;color:#12324c}
/* Detail typography uses the same item classes as ordinary news. */
article.item.photo-report{margin:0;padding:1rem 0;border:0}
.photo-reports h1{font-size:1.5rem;line-height:1.75;font-weight:bold}
.photo-reports-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.photo-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:340px;padding:2.5rem 1.25rem;border:1px solid #e2eaf2;border-radius:12px;background:linear-gradient(145deg,#f4f8fc,#fff);text-align:center}
.photo-empty-icon{display:grid;place-items:center;width:76px;height:76px;margin-bottom:1.25rem;border-radius:50%;background:#e5eff9;color:#285d89}
.photo-empty-icon svg{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.photo-empty h2{margin:0 0 .65rem;font:inherit;font-size:1.125rem;font-weight:bold;line-height:1.8;color:#12324c}
.photo-empty p{max-width:460px;margin:0 0 1.5rem;font:inherit;font-size:.9rem;line-height:1.9;color:#536c82}
.photo-empty-home{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1.2rem;border:1px solid #285d89;border-radius:6px;background:#285d89;color:#fff;font:inherit;font-size:.9rem;text-decoration:none}
.photo-empty-home:hover{background:#1d486c;border-color:#1d486c;color:#fff;text-decoration:none}
.photo-empty-home:focus-visible{outline:3px solid #5b90ce;outline-offset:3px}
.photo-report-card{position:relative;min-width:0;overflow:hidden;background:#eaf0f5}
.photo-report-card a{position:relative;display:block;aspect-ratio:3/2;color:#fff;text-decoration:none;overflow:hidden}
.photo-report-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
.photo-card-caption{position:absolute;inset:35% 0 0;display:flex;align-items:flex-end;padding:.75rem;background:linear-gradient(transparent,rgba(0,0,0,.8));pointer-events:none}
.photo-report-card h2{color:#fff;font-family:inherit;font-size:1rem;font-weight:bold;line-height:1.5;margin:0;text-shadow:0 1px 2px #000;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.photo-report-card a:hover img{transform:scale(1.03)}
.photo-report-card a:hover .photo-card-caption{background:linear-gradient(transparent,rgba(0,0,0,.9))}
.photo-report-tag{display:inline-block;background:#eaf1f9;color:#174772;border-radius:5px;padding:.2rem .7rem;font:inherit;margin:.5rem 0}
.photo-report time{color:#6a7b8a;font-size:12px}
.photo-lead{margin:1rem 0}
.photo-viewer{border:1px solid #e0e6ed;border-radius:12px;padding:1rem;max-width:1100px;margin:auto}
.photo-viewer figure{margin:0}
.photo-main{display:block;width:100%;border:0;padding:0;background:#f3f6f9;cursor:zoom-in;border-radius:8px}
.photo-main img{display:block;width:100%;height:min(65vh,650px);object-fit:contain}
.photo-viewer figcaption{font:inherit;line-height:1.8;overflow-wrap:anywhere;padding:.75rem 0;margin:0}
.photo-controls,.photo-pagination{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:.8rem 0}
.photo-controls button,.photo-pagination a{border:1px solid #d5dfea;background:#edf3fa;color:#174772;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font:inherit}
.photo-viewer button:disabled{opacity:.35;cursor:default}
.photo-thumbs{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.5rem}
.photo-thumbs button{min-width:0;border:2px solid transparent;border-radius:7px;padding:3px;background:#f3f6f9;color:#174772;cursor:zoom-in}
.photo-thumbs button[aria-pressed=true]{border-color:#245f9c}
.photo-thumbs img{width:100%;height:70px;object-fit:contain}
.photo-thumbs span{display:block;font:inherit}
.photo-lightbox{width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:100dvh;inset:0;margin:0;border:0;padding:0;background:#080d14;color:#fff;overflow:hidden}
.photo-lightbox[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.photo-lightbox::backdrop{background:#080d14ed}
.photo-lightbox-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;gap:1rem;color:#fff}
.photo-lightbox button{color:#fff;border:1px solid #ffffff60;background:#ffffff15;cursor:pointer;font:inherit;border-radius:6px;min-width:44px;min-height:44px}
.photo-lightbox-close{padding:.3rem .75rem}
.photo-lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden}
.photo-lightbox img{display:block;width:100%;height:100%;object-fit:contain;padding:0 4.5rem}
.photo-lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:60px;display:grid;place-items:center;z-index:1}
.photo-lightbox-arrow svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2}
.photo-lightbox-arrow[data-photo-prev]{inset-inline-start:1rem}
.photo-lightbox-arrow[data-photo-next]{inset-inline-end:1rem}
[dir=rtl] .photo-lightbox-arrow svg{transform:rotate(180deg)}
.photo-lightbox-caption{font:inherit;line-height:1.8;overflow-wrap:anywhere;text-align:center;max-height:20dvh;overflow:auto;padding:.75rem 1rem;margin:0;color:#fff}
.photo-report-body{max-width:1100px;margin:1rem auto;overflow-wrap:anywhere}
.photo-viewer button:focus-visible,.photo-report-card a:focus-visible{outline:3px solid #5b90ce;outline-offset:2px}
.photo-lightbox button:focus-visible{outline:3px solid #fff;outline-offset:3px}
html.photo-lightbox-open{overflow:hidden}
@media(max-width:900px){.photo-reports-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-thumbs{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:576px){.photo-reports-grid{grid-template-columns:1fr;gap:1rem}.photo-viewer{padding:.6rem}.photo-main img{height:45vh}.photo-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}.photo-thumbs img{height:58px}.photo-controls{gap:.3rem}.photo-controls button{padding:.5rem .7rem}.photo-lightbox-header{padding:.5rem}.photo-lightbox img{padding:0}.photo-lightbox-arrow[data-photo-prev]{inset-inline-start:.5rem}.photo-lightbox-arrow[data-photo-next]{inset-inline-end:.5rem}.photo-lightbox-arrow{background:#080d14b3}.photo-lightbox-caption{padding:.5rem .75rem}}
@media(prefers-reduced-motion:reduce){.photo-report-card img{transition:none}.photo-report-card a:hover img{transform:none}}
