.gallery-page{min-height:75vh;max-width:1400px;margin:auto;padding:65px 5%}.gallery-page h1{font-size:clamp(48px,6vw,80px);line-height:1;color:var(--blue);margin:8px 0 28px}.back-link{font-size:15px;color:var(--blue);font-weight:500}.category-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:25px}.category-nav a{border:1px solid #ccd5e5;padding:11px 16px;font-weight:500;font-size:14px}.category-nav a:hover,.category-nav a[aria-current=page]{color:white;background:var(--blue);border-color:var(--blue)}.gallery-description{color:#555;line-height:1.5;margin-bottom:25px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,220px));gap:18px}.photo-card{padding:0;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left;font:inherit}.photo-card img{width:100%;height:155px;object-fit:cover;transition:filter .2s}.photo-card:hover img{filter:brightness(1.12)}.photo-card span{display:block;padding:10px 12px;line-height:1.4;font-size:14px}dialog{border:0;padding:20px;color:white;background:#00172b;width:min(1200px,96vw);max-width:96vw;max-height:95dvh}dialog::backdrop{background:#000d}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}.viewer-toolbar button,.viewer-content button{border:1px solid #ffffff50;color:white;background:#ffffff10;font-size:32px;cursor:pointer;min-width:44px;min-height:44px}.viewer-content{display:flex;align-items:center;gap:12px;justify-content:space-between}.viewer-content img{min-width:0;width:auto;max-width:calc(100% - 112px);max-height:72dvh;object-fit:contain;margin:auto}.viewer-hint{text-align:center;font-size:13px;color:#bdccda;margin-top:15px}body:has(dialog[open]){overflow:hidden}.viewer-content button:disabled{opacity:.25;cursor:default}@media(max-width:760px){.gallery-page{padding:40px 5%}.header .back-link{font-size:13px;text-align:right;max-width:95px}.photo-grid{grid-template-columns:repeat(2,minmax(0,200px));gap:12px}.photo-card img{height:auto;aspect-ratio:4/3}.photo-card span{padding:10px;font-size:14px}.category-nav{gap:7px}.category-nav a{font-size:12px;padding:9px 11px}dialog{padding:12px}.viewer-content{gap:5px}.viewer-content img{max-width:calc(100% - 90px)}.viewer-content button{min-width:38px}.viewer-hint{font-size:11px}}
.category-nav a,.photo-card,.viewer-toolbar button,.viewer-content button{transition:background-color .2s,border-color .2s,box-shadow .2s,filter .2s}
.category-nav a:hover,.category-nav a:focus-visible{background:#1550bc;border-color:#38bdf8;color:white;box-shadow:0 0 0 2px #38bdf830,0 0 18px #169ee950}
.photo-card:hover,.photo-card:focus-visible{box-shadow:0 0 0 3px #38bdf8,0 0 22px #169ee960}
.viewer-toolbar button,.viewer-content button{display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;width:44px;height:44px;flex:0 0 44px;border-radius:4px}
.viewer-content button svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.viewer-toolbar button:hover,.viewer-toolbar button:focus-visible,.viewer-content button:not(:disabled):hover,.viewer-content button:not(:disabled):focus-visible{background:#1575b9;border-color:#71d9ff;box-shadow:0 0 18px #38bdf880}
