.pws-project-library { margin-block: 1.5rem; }
.pws-photo-filters, .pws-strip-controls, .pws-viewer-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pws-photo-filters { margin-bottom: 20px; }
.pws-photo-filters button, .pws-strip-controls button, .pws-viewer-controls button { padding: .6em 1.05em; min-height: 44px; border: 1px solid #acbfce; border-radius: 999px; color: #122c40; background: white; font: 700 1rem/1.3 var(--body); cursor: pointer; }
.pws-photo-filters button[aria-pressed=true], .pws-photo-filters button:hover, .pws-strip-controls button:not(:disabled):hover { color: white; background: #123450; border-color: #123450; }
.pws-project-set[hidden] { display: none; }
.pws-project-library .pws-project-set .wp-block-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 0; }
.pws-project-library .wp-block-gallery.has-nested-images > figure.wp-block-image,
.pws-project-strip.wp-block-gallery.has-nested-images > figure.wp-block-image { width: 100% !important; min-width: 0; margin: 0 !important; }
.pws-project-library .wp-block-gallery figure.wp-block-image a, .pws-project-strip figure.wp-block-image a { display: block; overflow: hidden; border-radius: 5px; background: #edf1f3; }
.pws-project-library .wp-block-gallery figure.wp-block-image img, .pws-project-strip.wp-block-gallery figure.wp-block-image img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.pws-project-strip.wp-block-gallery { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 24px) / 3); gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px; scrollbar-width: thin; }
.pws-project-strip > figure { scroll-snap-align: start; }
.pws-strip-controls { justify-content: center; margin-block: 10px; }
.pws-strip-controls[hidden] { display: none; }
.pws-strip-controls button:disabled { opacity: .4; cursor: default; }
.pws-photo-viewer { inset: 0; max-width: min(1100px,96vw); width: max-content; max-height: 96vh; padding: 10px; border: 0; border-radius: 8px; background: #0b1f2c; color: white; }
.pws-photo-viewer::backdrop { background: #03101deb; }
.pws-photo-viewer img { display: block; max-height: 76vh; max-height: 76svh; max-width: 100%; width: auto; height: auto; margin: auto; object-fit: contain; }
.pws-viewer-controls { justify-content: center; margin-top: 10px; }
.pws-viewer-controls button { background: #16364c; color: white; border-color: #698c9f; font-size: .9rem; }
.pws-photo-count { font: 700 .9rem var(--body); }
@media (max-width: 767px) { .pws-project-library .pws-project-set .wp-block-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; } .pws-project-strip.wp-block-gallery { grid-auto-columns: 78%; } }
