.kd-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-block:22px}.kd-photo-grid figure{margin:0;min-width:0}.kd-photo-grid a{display:block;border-radius:12px;overflow:hidden;background:#e8ece3}.kd-photo-grid img{display:block;width:100%;height:190px;object-fit:cover;transition:transform .2s}.kd-photo-grid a:hover img{transform:scale(1.04)}.kd-photo-grid figcaption{font-size:.83rem;color:#5d716c;line-height:1.5;padding-top:9px}.kd-photo-dialog{position:fixed;inset:0;border:0;border-radius:14px;background:#172d35;color:#fff;width:min(1100px,94vw);max-width:94vw;max-height:94vh;padding:48px 56px 30px}.kd-photo-dialog::backdrop{background:#0b1a22db}.kd-photo-dialog figure{margin:0;text-align:center}.kd-photo-dialog img{display:block;margin:auto;max-height:73vh;max-width:100%;object-fit:contain}.kd-photo-dialog figcaption{padding-top:12px;font-size:.9rem}.kd-photo-dialog button{position:absolute;border:0;background:#ffffff18;color:#fff;border-radius:8px;padding:5px 14px;font-size:2rem;line-height:1.2}.kd-photo-close{top:8px;right:10px}.kd-photo-prev{top:45%;left:6px}.kd-photo-next{top:45%;right:6px}.kd-photo-count{position:absolute;left:20px;top:16px;font-size:.8rem}.kd-alphabet{padding:21px 24px;margin:22px 0 28px;background:#f0f2e9;border:1px solid #dce2d5;border-radius:14px}.kd-alphabet-label{display:block;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#61756e;margin-bottom:13px}.kd-alphabet-letters{display:flex;flex-wrap:wrap;gap:6px}.kd-alphabet a{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:38px;padding:0 10px;border:1px solid transparent;border-radius:7px;color:#2f5253;font-weight:600;font-size:.9rem}.kd-alphabet a:hover{background:#e0e8d9;text-decoration:none}.kd-alphabet a[aria-current]{background:#244d50;color:#fff}.kd-gallery-empty{color:#738079;font-size:.9rem}@media(max-width:700px){.kd-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.kd-photo-grid img{height:140px}.kd-photo-dialog{padding:45px 35px 25px}.kd-alphabet{padding:16px}.kd-alphabet a{min-width:32px;height:34px;padding:0 8px}.kd-alphabet-letters{gap:4px}}
