.service-photo,.project-gallery{position:relative;background:#17222e;border-radius:16px}
.project-gallery{border-radius:0}
.gl-preview{background:#17222e}
.gl-pending::before{content:"Загрузка фото…";position:absolute;inset:0;display:grid;place-items:center;color:#aebbc8;font-size:14px;pointer-events:none}
.gl-pending .gl-preview{opacity:0}
.gl-photo-error::before{content:"Фото не загрузилось";padding-bottom:40px}
.gl-preview-retry{position:absolute;left:50%;top:58%;transform:translateX(-50%);padding:10px 18px;border:1px solid #8191a3;border-radius:8px;background:#182430;color:#fff;font:inherit;cursor:pointer;z-index:1}
.project-card:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.projects-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.project-card[hidden],#projects-actions[hidden],#projects-more[hidden]{display:none!important}
.gl-projects-actions{margin:32px auto 0;text-align:center;padding:0 20px}
#projects-count{margin:0 0 16px;color:var(--muted);font-size:14px;line-height:1.5}
#projects-more{min-height:48px;max-width:100%;white-space:normal}
#lightbox{position:fixed;inset:0;display:none;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#090e15;color:#fff;overflow:hidden;z-index:9999;box-sizing:border-box}
#lightbox[open]{display:flex}
#lightbox::backdrop{background:rgba(0,0,0,.94)}
.gl-gallery-top{display:flex;align-items:center;gap:16px;padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));padding-top:max(12px,env(safe-area-inset-top));flex-shrink:0;background:#101820}
.gl-gallery-meta{min-width:0;flex:1}
#lightbox-title{margin:0;font-size:17px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#lightbox-count{display:block;margin-top:5px;color:#acbaca;font-size:14px;font-variant-numeric:tabular-nums}
.gl-gallery-button{display:grid;place-items:center;flex-shrink:0;min-width:48px;min-height:48px;padding:0 12px;border:1px solid #536374;border-radius:12px;background:#1d2a38;color:white;cursor:pointer;font:inherit;touch-action:manipulation}
.gl-gallery-button:disabled{opacity:.3;cursor:default}
.gl-gallery-button:focus-visible{outline:3px solid #f88925;outline-offset:3px}
#lightbox-close{font-size:34px;line-height:1}
.gl-gallery-stage{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-height:0;overflow:hidden;touch-action:pan-y pinch-zoom;user-select:none}
#lightbox-img,#lightbox-preview{position:absolute;display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;padding:12px;box-sizing:border-box;-webkit-user-drag:none;user-select:none}
#lightbox-img{opacity:0;transition:opacity .15s}
#lightbox-img.is-ready{opacity:1}
#lightbox-preview[hidden]{display:none}
.gl-gallery-feedback{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:14px;padding:18px 22px;background:rgba(10,16,24,.9);border-radius:14px;text-align:center;max-width:85%;font-size:15px;color:#d2dce8}
.gl-gallery-feedback[hidden]{display:none}
#lightbox-retry[hidden]{display:none}
.gl-gallery-bottom{display:flex;align-items:center;justify-content:center;gap:24px;flex-shrink:0;padding:12px 16px max(12px,env(safe-area-inset-bottom));background:#101820}
.gl-gallery-arrow{font-size:36px;line-height:1;min-width:58px}
.gl-gallery-hint{font-size:13px;text-align:center;color:#acbaca;line-height:1.4}
@media (max-width:600px){#lightbox-title{font-size:15px}.gl-gallery-top{gap:10px}#lightbox-img,#lightbox-preview{padding:4px}.gl-gallery-bottom{gap:18px}}
@media (prefers-reduced-motion:reduce){#lightbox-img{transition:none}}
