.field-gallery{padding:0 25px 46px;background:#f5f6f7;scroll-margin-top:150px}
.field-gallery__inner{max-width:1000px;margin:auto}
.field-gallery h2{text-align:center;font-size:22px;color:var(--cems-ink);margin:0 0 25px}
.field-gallery h2::after{content:'';display:block;width:36px;height:3px;margin:14px auto 0;border-radius:3px;background:var(--cems-orange)}
.field-gallery__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.field-gallery__card{display:block;width:100%;padding:0;overflow:hidden;text-align:left;color:var(--cems-ink);font:inherit;background:#fff;border:1px solid var(--cems-line);border-radius:12px;cursor:zoom-in;box-shadow:0 4px 15px #30323408}
.field-gallery__card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 65%}
.field-gallery__card:nth-child(4) img{object-position:center 80%}
.field-gallery__card:nth-child(5) img{object-position:center 90%}
.field-gallery__card:hover{border-color:#e5b693;box-shadow:0 8px 22px #30323416}
.field-gallery__card:focus-visible,.field-gallery__dialog button:focus-visible{outline:3px solid var(--cems-orange);outline-offset:3px}
.field-gallery__dialog{box-sizing:border-box;width:min(1100px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:18px;border:1px solid #555;border-radius:12px;color:#fff;background:#252729;box-shadow:0 20px 60px #0006}
.field-gallery__dialog::backdrop{background:#111c;backdrop-filter:blur(3px)}
.field-gallery__dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.field-gallery__dialog h3{margin:0;font-size:16px;line-height:1.4}
.field-gallery__dialog button{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex-shrink:0;padding:0;border:1px solid #ffffff40;border-radius:6px;background:#ffffff0c;color:#fff;cursor:pointer;font-size:25px}
.field-gallery__dialog-image{display:block;width:100%;max-height:calc(100dvh - 190px);object-fit:contain}
.field-gallery__dialog-controls{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:12px}
.field-gallery__dialog-count{font-size:13px;color:#ddd}
html.field-gallery-open{overflow:hidden}
@media(max-width:900px){.field-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.field-gallery{padding:0 18px 30px;scroll-margin-top:95px}.field-gallery__grid{grid-template-columns:1fr;gap:16px}.field-gallery h2{font-size:20px}.field-gallery__dialog{padding:12px}.field-gallery__card img{aspect-ratio:4/3}}
