.pgal,.pgal *,.pgal-albumwrap *,.pgal-lightbox,.pgal-lightbox *{box-sizing:border-box}
.pgal{position:relative;margin:1.5em 0}
.pgal-item{margin:0;position:relative}
.pgal-item[hidden],.pgal [hidden]{display:none!important}
.pgal-empty,.pgal-empty-msg{color:#666;font-style:italic}

/* Links & Bilder */
.pgal-link{display:block;position:relative;overflow:hidden;text-decoration:none!important;color:inherit;border:0!important;box-shadow:none!important;cursor:pointer}
.pgal-link.pgal-lb{cursor:zoom-in}
span.pgal-link{cursor:default}
.pgal-img{display:block;width:100%;height:auto;max-width:100%;margin:0;transition:transform .4s ease,opacity .3s ease}
.pgal-ov{position:absolute;left:0;right:0;bottom:0;padding:1.4em .8em .6em;color:#fff;font-size:.9em;line-height:1.3;background:linear-gradient(transparent,rgba(0,0,0,.72));opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease;pointer-events:none}
.pgal-link:hover .pgal-ov,.pgal-link:focus-visible .pgal-ov{opacity:1;transform:none}
.pgal-fx-zoom .pgal-link:hover .pgal-img{transform:scale(1.07)}
.pgal-fx-fade .pgal-link:hover .pgal-img{opacity:.7}
.pgal-link:focus-visible{outline:3px solid #2271b1;outline-offset:2px}

.pgal-cap{padding:.45em 0 .2em;font-size:.92em;line-height:1.4}
.pgal-cap-title{font-weight:600}
.pgal-cap-desc{opacity:.8}

/* Werkzeugleiste & Seitennavigation */
.pgal-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.pgal-toolbar input,.pgal-toolbar select{padding:7px 10px;border:1px solid #c3c4c7;border-radius:4px;font-size:14px;background:#fff;color:#1d2327;max-width:100%;min-height:36px}
.pgal-toolbar .pgal-q{flex:1 1 180px}
.pgal-pager{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:18px}
.pgal-pager button{min-width:38px;height:38px;padding:0 12px;border:1px solid #c3c4c7;border-radius:4px;background:#fff;color:#1d2327;font-size:14px;cursor:pointer}
.pgal-pager button:hover:not(:disabled){border-color:#2271b1;color:#2271b1}
.pgal-pager button.on{background:#2271b1;border-color:#2271b1;color:#fff}
.pgal-pager button:disabled{opacity:.4;cursor:default}
.pgal-pager .pgal-dots{align-self:center;padding:0 4px}

/* Thumbnails */
.pgal-view-thumbnails .pgal-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(var(--pgal-tw),100%),1fr));gap:var(--pgal-gap)}
.pgal-view-thumbnails.pgal-fixed .pgal-items{display:flex;flex-wrap:wrap;justify-content:var(--pgal-just,center)}
.pgal-view-thumbnails.pgal-fixed .pgal-item{flex:0 0 min(var(--pgal-tw),100%);width:min(var(--pgal-tw),100%)}
.pgal-view-thumbnails .pgal-link{aspect-ratio:var(--pgal-ratio)}
.pgal-view-thumbnails .pgal-img{height:100%;object-fit:cover}

/* Masonry */
.pgal-view-masonry .pgal-items{column-width:var(--pgal-tw);column-gap:var(--pgal-gap)}
.pgal-view-masonry.pgal-cols .pgal-items{column-width:auto;column-count:var(--pgal-cols)}
.pgal-view-masonry .pgal-item{break-inside:avoid;margin-bottom:var(--pgal-gap)}
@media (max-width:600px){.pgal-view-masonry.pgal-cols .pgal-items{column-count:2}}

/* Mosaik */
.pgal-view-mosaic .pgal-items{display:flex;flex-wrap:wrap;gap:var(--pgal-gap)}
.pgal-view-mosaic .pgal-items::after{content:"";flex-grow:1000000}
.pgal-view-mosaic .pgal-item{min-width:0}
.pgal-view-mosaic .pgal-link{height:100%}
.pgal-view-mosaic .pgal-img{height:100%;object-fit:cover}

/* Blog-Stil */
.pgal-view-blog .pgal-items{display:flex;flex-direction:column;gap:calc(var(--pgal-gap) * 2.5);max-width:var(--pgal-blog);margin:0 auto}

/* Navigationspfeile (Slideshow, Bild-Browser, Karussell) */
.pgal-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.45);color:#fff;font-size:28px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.pgal-nav:hover,.pgal-nav:focus-visible{background:rgba(0,0,0,.75)}
.pgal-prev{left:10px}
.pgal-next{right:10px}
.pgal:not(.pgal-js) .pgal-nav,.pgal:not(.pgal-js) .pgal-film,.pgal:not(.pgal-js) .pgal-counter{display:none}

/* Slideshow */
.pgal-stage{position:relative;overflow:hidden;border-radius:4px}
.pgal-view-slideshow .pgal-stage{background:#111}
.pgal-view-slideshow .pgal-items{position:relative;height:var(--pgal-slh)}
.pgal-view-slideshow .pgal-item{position:absolute;inset:0;transition:transform .6s ease,opacity .6s ease}
.pgal-view-slideshow .pgal-link{height:100%}
.pgal-view-slideshow .pgal-img{height:100%;object-fit:contain}
.pgal-view-slideshow .pgal-slcap{position:absolute;left:0;right:0;bottom:0;padding:2em 64px 1em;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.7));pointer-events:none;text-align:center}
.pgal-view-slideshow:not(.pgal-js) .pgal-items{height:auto}
.pgal-view-slideshow:not(.pgal-js) .pgal-item{position:static;margin-bottom:10px}
.pgal-view-slideshow .pgal-counter{position:absolute;top:10px;right:12px;z-index:5;padding:2px 10px;border-radius:12px;background:rgba(0,0,0,.5);color:#fff;font-size:13px}
.pgal-film{display:flex;gap:6px;overflow-x:auto;padding:8px 0}
.pgal-ft{flex:0 0 auto;width:84px;height:58px;padding:0;border:2px solid transparent;border-radius:3px;background:none;opacity:.6;cursor:pointer;overflow:hidden}
.pgal-ft img{display:block;width:100%;height:100%;object-fit:cover}
.pgal-ft:hover{opacity:.9}
.pgal-ft.on{opacity:1;border-color:#2271b1}

/* Bild-Browser */
.pgal-view-image_browser .pgal-img{width:100%;height:auto}
.pgal-view-image_browser.pgal-js .pgal-item:not(.on){display:none}
.pgal-bar{text-align:center;padding:6px 0;font-size:.9em;color:#555}

/* Karussell */
.pgal-car-wrap{position:relative}
.pgal-view-carousel .pgal-items{display:flex;gap:var(--pgal-gap);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none}
.pgal-view-carousel .pgal-items::-webkit-scrollbar{display:none}
.pgal-view-carousel .pgal-item{flex:0 0 calc((100% - var(--pgal-gap) * (var(--pgal-car) - 1)) / var(--pgal-car));scroll-snap-align:start}
.pgal-view-carousel .pgal-link{aspect-ratio:var(--pgal-ratio)}
.pgal-view-carousel .pgal-img{height:100%;object-fit:cover}
@media (max-width:640px){.pgal-view-carousel .pgal-item{flex-basis:calc((100% - var(--pgal-gap)) / 2)}}

/* Alben */
.pgal-albumwrap{margin:1.5em 0}
.pgal-back{margin:0 0 .8em}
.pgal-title{margin:0 0 .3em}
.pgal-desc{margin:0 0 1em;opacity:.85}
.pgal-acard{display:flex;text-decoration:none!important;color:inherit;border:0!important;box-shadow:none!important}
.pgal-acard-img{display:block;position:relative;overflow:hidden;background:#eee;border-radius:3px;aspect-ratio:var(--pgal-aratio)}
.pgal-acard-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.pgal-acard:hover .pgal-acard-img img{transform:scale(1.06)}
.pgal-noimg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#888;font-size:.9em}
.pgal-acard-body{display:block}
.pgal-acard-title{display:block;font-weight:600;line-height:1.3}
.pgal-acard-meta{display:block;font-size:.85em;opacity:.7}
.pgal-acard-desc{display:block;margin-top:.4em;opacity:.85}
.pgal-album-compact{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(var(--pgal-aw),100%),1fr));gap:calc(var(--pgal-gap) * 1.5) var(--pgal-gap)}
.pgal-album-compact .pgal-acard{flex-direction:column;gap:8px}
.pgal-album-compact.pgal-album-fixed{display:flex;flex-wrap:wrap;justify-content:var(--pgal-just,center)}
.pgal-album-compact.pgal-album-fixed .pgal-acard{flex:0 0 min(var(--pgal-aw),100%);width:min(var(--pgal-aw),100%)}
.pgal-album-extended{display:flex;flex-direction:column;gap:calc(var(--pgal-gap) * 2)}
.pgal-album-extended .pgal-acard{gap:18px;align-items:flex-start}
.pgal-album-extended .pgal-acard-img{flex:0 0 var(--pgal-aw);width:var(--pgal-aw);max-width:42%}
@media (max-width:560px){.pgal-album-extended .pgal-acard{flex-direction:column}.pgal-album-extended .pgal-acard-img{width:100%;max-width:100%;flex-basis:auto}}

/* Lightbox */
body.pgal-lb-open{overflow:hidden}
.pgal-lightbox{position:fixed;inset:0;z-index:999999;display:flex;flex-direction:column;font-family:inherit}
.pgal-lightbox[hidden]{display:none}
.pgal-lb-bg{position:absolute;inset:0;background:rgba(0,0,0,var(--lb-op,.9))}
.pgal-lb-top{position:absolute;top:0;left:0;right:0;z-index:4;display:flex;justify-content:space-between;align-items:center;padding:8px 12px;color:#fff;font-size:14px;pointer-events:none}
.pgal-lb-top>*{pointer-events:auto}
.pgal-lb-tools{display:flex;gap:6px;align-items:center}
.pgal-lb-btn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff!important;cursor:pointer;padding:0;font:700 15px/1 sans-serif;text-decoration:none!important}
.pgal-lb-btn:hover,.pgal-lb-btn:focus-visible{background:rgba(255,255,255,.32)}
.pgal-lb-btn[hidden]{display:none}
.pgal-lb-btn svg{width:22px;height:22px;fill:currentColor}
.pgal-lb-stage{position:relative;z-index:2;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:56px 70px 8px}
.pgal-lb-stage img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 4px 30px rgba(0,0,0,.5);transition:opacity .25s ease}
.pgal-lb-stage img.ld{opacity:.15}
.pgal-lb-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:48px;height:48px}
.pgal-lb-prev{left:10px}
.pgal-lb-next{right:10px}
.pgal-lb-cap{position:relative;z-index:3;color:#fff;text-align:center;padding:8px 70px;max-height:22vh;overflow:auto}
.pgal-lb-cap:empty{display:none}
.pgal-lb-cap .t{font-weight:600}
.pgal-lb-cap .d{opacity:.8;font-size:.92em}
.pgal-lb-film{position:relative;z-index:3;display:flex;gap:6px;overflow-x:auto;padding:8px 12px 12px}
.pgal-lb-film:empty{display:none}
.pgal-lb-film button:first-child{margin-left:auto}
.pgal-lb-film button:last-child{margin-right:auto}
.pgal-lb-film button{flex:0 0 auto;width:72px;height:50px;padding:0;border:2px solid transparent;border-radius:3px;background:none;opacity:.55;cursor:pointer;overflow:hidden}
.pgal-lb-film button img{display:block;width:100%;height:100%;object-fit:cover}
.pgal-lb-film button.on{opacity:1;border-color:#fff}
@media (max-width:640px){.pgal-lb-stage{padding:52px 8px 4px}.pgal-lb-cap{padding:8px 14px}.pgal-lb-nav{width:40px;height:40px}}
@media (prefers-reduced-motion:reduce){.pgal *,.pgal-lightbox *{transition:none!important;scroll-behavior:auto!important}}
