.prime-gallery{color:var(--prime-color-text,#242424);font-size:16px}
.prime-gallery h1{margin-block:0 24px;font-size:clamp(26px,3vw,38px);line-height:1.2}
.prime-gallery-intro{max-width:80ch;margin-block:0 24px;overflow-wrap:anywhere}
.prime-gallery-intro img{max-width:100%;height:auto}
.prime-gallery-categories{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.prime-gallery .prime-gallery-category{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--prime-color-border,#d1d5db);border-radius:6px;background:var(--gallery-category-bg,var(--prime-color-background,#fff));color:var(--gallery-category-text,var(--prime-color-text,#1f2937));font:inherit;line-height:1.35;text-decoration:none;overflow-wrap:anywhere;max-width:100%;cursor:pointer}
.prime-gallery .prime-gallery-category:hover{border-color:var(--prime-color-button-primary,#E66100);text-decoration:none}
.prime-gallery .prime-gallery-category.is-active{border-color:transparent;background:var(--gallery-category-active-bg,var(--prime-color-button-primary,#E66100));color:var(--gallery-category-active-text,var(--prime-color-button-primary-text,#fff))}
.prime-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.prime-gallery-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.prime-gallery-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.prime-gallery-photo{min-width:0;margin:0}.prime-gallery-link{display:block;border-radius:var(--gallery-radius,6px);overflow:hidden}.prime-gallery-thumb{display:block;width:100%;height:auto;object-fit:contain;background:var(--prime-color-background,#f5f5f5)}
.prime-gallery-photo figcaption{margin-top:12px;overflow-wrap:anywhere}.prime-gallery-photo h2{font-size:18px;line-height:1.4;margin:0 0 6px}.prime-gallery-photo p{font-size:15px;line-height:1.6;white-space:pre-line;margin:0}
.prime-gallery-pagination{margin-block:32px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.prime-gallery-pagination p{margin:0}.prime-gallery-empty{padding-block:32px}
.prime-gallery :focus-visible{outline:3px solid var(--prime-color-button-primary,#2864ad);outline-offset:4px}
.prime-gallery-viewer{box-sizing:border-box;width:calc(100% - 24px);max-width:1280px;max-height:calc(100% - 24px);height:calc(100vh - 24px);height:calc(100dvh - 24px);padding:16px;border:0;border-radius:10px;background:#161616;color:#fff;overflow:auto}
.prime-gallery-viewer[open]{display:flex;flex-direction:column;gap:12px}.prime-gallery-viewer::backdrop{background:rgb(0 0 0 / 80%)}
.prime-gallery-viewer-toolbar,.prime-gallery-viewer-controls,.prime-gallery-viewer-navigation{display:flex;align-items:center;gap:8px}.prime-gallery-viewer-toolbar{justify-content:space-between;flex:none}.prime-gallery-viewer-controls{flex-wrap:wrap;justify-content:flex-end}
.prime-gallery-viewer button{touch-action:manipulation;min-width:44px;min-height:44px;border:1px solid #777;border-radius:6px;background:#292929;color:#fff;padding:8px 12px;font-size:20px;line-height:1;cursor:pointer}.prime-gallery-viewer button:hover{background:#444}.prime-gallery-viewer button:disabled{opacity:.4;cursor:default}.prime-gallery-viewer :focus-visible{outline:3px solid #fff;outline-offset:2px}
.prime-gallery-viewer-stage{position:relative;display:flex;align-items:center;justify-content:center;flex:1 1 50%;min-height:120px;overflow:hidden;touch-action:none}.prime-gallery-viewer-stage img{display:block;max-width:none;max-height:none;object-fit:contain;user-select:none;flex:none;transform-origin:center;visibility:hidden}.prime-gallery-viewer-stage.is-loaded img{visibility:visible}.prime-gallery-viewer-stage.is-zoomed{cursor:grab}.prime-gallery-viewer-stage.is-dragging{cursor:grabbing}
.prime-gallery-viewer-status{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:20px;pointer-events:none}.prime-gallery-viewer-navigation{justify-content:space-between;flex:none}.prime-gallery-viewer-caption{max-height:25%;overflow:auto;overflow-wrap:anywhere;flex:none}.prime-gallery-viewer-caption h2{font-size:20px;line-height:1.4;margin:0 0 6px;color:inherit}.prime-gallery-viewer-caption p{font-size:16px;line-height:1.6;white-space:pre-line;margin:0}
@media(max-width:900px){.prime-gallery-grid--4{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.prime-gallery-grid,.prime-gallery-grid--4{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.prime-gallery-viewer{padding:10px}}
@media(max-width:359px){.prime-gallery-grid,.prime-gallery-grid--2,.prime-gallery-grid--4{grid-template-columns:1fr}.prime-gallery-viewer-controls{gap:4px}.prime-gallery-viewer button{padding:6px;min-width:44px}.prime-gallery-viewer{width:calc(100% - 12px);gap:8px}}
@media(prefers-reduced-motion:reduce){.prime-gallery *{scroll-behavior:auto;transition:none;animation:none}}

.prime-gallery-grid--masonry{grid-auto-rows:8px;gap:0 20px;align-items:start}
.prime-gallery-grid--masonry .prime-gallery-photo{padding-bottom:20px;align-self:start}
.prime-gallery-grid--masonry .prime-gallery-thumb{height:auto;object-fit:cover}

.prime-gallery-grid[class*="prime-gallery-grid--fx-"] .prime-gallery-thumb{transition:transform .5s,opacity .5s,filter .5s}
.prime-gallery-grid--fx-scale .prime-gallery-photo:hover .prime-gallery-thumb{transform:scale(1.2)}
.prime-gallery-grid--fx-opacity .prime-gallery-photo:hover .prime-gallery-thumb{opacity:.7}
.prime-gallery-grid--fx-grayscale .prime-gallery-photo:hover .prime-gallery-thumb{filter:grayscale(.85)}
.prime-gallery-grid--fx-sepia .prime-gallery-photo:hover .prime-gallery-thumb{filter:sepia(90%)}
.prime-gallery-grid--fx-contrast .prime-gallery-photo:hover .prime-gallery-thumb{filter:contrast(120%)}
@media(prefers-reduced-motion:reduce){.prime-gallery-grid[class*="prime-gallery-grid--fx-"] .prime-gallery-thumb{transition:none}.prime-gallery-grid--fx-scale .prime-gallery-photo:hover .prime-gallery-thumb{transform:none}}
.prime-gallery-intro--wide{max-width:none}
