/* Fotoalbum only. Existing type, palette, header, videos and legacy gallery stay intact. */
main.page-shell:has(.dv270-media){--wp--style--global--content-size:1320px}
[data-dv270-gallery]{container-type:inline-size}
.dv270-media #dv260-videos{max-width:780px;margin-inline:auto}
[data-dv270-gallery]>h2{font-size:clamp(30px,4vw,46px);line-height:1.15;margin:0 0 24px}
.dv270-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px}
.dv270-filters button{font:inherit;font-size:15px;font-weight:600;min-height:44px;max-width:100%;overflow-wrap:anywhere;white-space:normal;padding:9px 19px;border:1px solid var(--color-line);border-radius:24px;background:var(--color-surface);color:var(--color-text);cursor:pointer}
.dv270-filters button[aria-pressed="true"]{color:var(--color-on-action);background:var(--color-action);border-color:var(--color-action)}
.dv270-filters button:hover{border-color:var(--color-action)}
.dv270-filters button:focus-visible,.dv270-grid a:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}
.dv270-result-count{font-size:14px;color:var(--color-muted);margin:0 0 18px!important;min-height:21px}
.dv270-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:calc((100cqw - 36px)/6);gap:12px}
.dv270-grid .dv260-photo{display:grid;place-items:center;min-width:0;min-height:0;overflow:hidden;border-radius:4px;background:var(--color-background);cursor:zoom-in}
.dv270-grid .dv270-portrait{grid-row:span 2}
.dv270-grid .dv260-photo.dv270-featured{grid-column:span 2;grid-row:span 2}
.dv270-grid .dv270-portrait.dv270-featured{grid-row:span 4}
.dv270-grid .dv270-image{display:block;width:100%;height:100%;min-height:0;object-fit:contain;aspect-ratio:auto}
.dv270-grid [hidden],.dv270-empty[hidden],#dv260-lightbox.dv270-lightbox figcaption[hidden]{display:none}
.dv270-archive{margin:30px 0 0!important;padding:24px;background:var(--color-tint);border:1px solid var(--color-line);border-radius:6px}
.dv270-archive a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:1000px) and (min-width:601px){.dv270-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:calc((100cqw - 24px)/4.5)}}
@media(max-width:600px){.dv270-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:calc((100cqw - 8px)/3);gap:8px}.dv270-grid .dv260-photo.dv270-featured{grid-column:1/-1}.dv270-filters{gap:8px}.dv270-filters button{padding:9px 14px;font-size:14px}.dv270-archive{padding:16px}}
@media(prefers-reduced-motion:reduce){.dv270-grid *{scroll-behavior:auto}}

/* Existing photo detail only: available space drives contain sizing, never a fixed photo height. */
#dv260-lightbox.dv285-lightbox{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:min(1320px,calc(100vw - 24px));max-width:none;height:calc(100vh - 24px);height:calc(var(--dv285-vh,100dvh) - 24px);max-height:none;padding:10px;border:1px solid #ffffff40;border-radius:4px;background:#111;color:#fff;overflow:hidden}
#dv260-lightbox.dv285-lightbox[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:4px}
#dv260-lightbox.dv285-lightbox::backdrop{background:#000e}
#dv260-lightbox.dv285-lightbox figure{display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0;margin:0;overflow:hidden}
#dv260-lightbox.dv285-lightbox .dv284-photo-viewport{width:100%;height:100%;min-height:0;overflow:hidden;touch-action:none;overscroll-behavior:contain;cursor:zoom-in}
#dv260-lightbox.dv285-lightbox .dv284-photo-viewport.is-zoomed{cursor:grab}
#dv260-lightbox.dv285-lightbox .dv284-photo-viewport.is-zoomed:active{cursor:grabbing}
#dv260-lightbox.dv285-lightbox .dv284-photo-viewport img{display:block;width:100%;height:100%;max-height:none;min-height:0;object-fit:contain;transform-origin:center;user-select:none;touch-action:none}
#dv260-lightbox.dv285-lightbox figcaption{display:block;margin:0;padding:4px 0;font-size:14px;line-height:1.35;color:#eee;max-height:min(18vh,5.4em);max-height:min(18dvh,5.4em);overflow:auto;overscroll-behavior:contain;overflow-wrap:anywhere;text-align:center}
#dv260-lightbox.dv285-lightbox figcaption[hidden]{display:none}
#dv260-lightbox.dv285-lightbox button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;min-width:34px;padding:5px 10px;font:inherit;font-size:14px;line-height:1.2;white-space:nowrap;color:#fff;background:transparent;border:1px solid #ffffff80;border-radius:4px;touch-action:manipulation}
#dv260-lightbox.dv285-lightbox button:focus-visible,#dv260-lightbox.dv285-lightbox figcaption:focus-visible{outline:2px solid #fff;outline-offset:1px}
#dv260-lightbox.dv285-lightbox button:disabled{opacity:.4}
#dv260-lightbox.dv285-lightbox .dv260-lightbox-close{justify-self:end;grid-row:1}
#dv260-lightbox.dv285-lightbox .dv285-toolbar{display:grid;grid-template-columns:auto 34px 60px 34px auto auto;align-items:center;justify-content:center;gap:5px;margin:0;padding:0;min-width:0}
.dv285-toolbar output{font-size:14px;line-height:1.2;min-width:0;text-align:center;white-space:nowrap}
#dv260-lightbox.dv285-lightbox .dv270-lightbox-count{position:absolute;width:1px;height:1px;padding:0;margin:0!important;clip:rect(0,0,0,0);clip-path:inset(50%);overflow:hidden;font-size:14px;text-align:center}
@media(max-height:500px) and (pointer:fine){#dv260-lightbox.dv285-lightbox{padding:6px}#dv260-lightbox.dv285-lightbox .dv285-close-text{display:none}}
@media(max-width:760px), (max-width:1024px) and (pointer:coarse){
 #dv260-lightbox.dv285-lightbox{inset:0;margin:0;width:100%;height:100vh;height:var(--dv285-vh,100dvh);max-width:none;max-height:none;padding:max(4px,env(safe-area-inset-top,0px)) max(4px,env(safe-area-inset-right,0px)) max(4px,env(safe-area-inset-bottom,0px)) max(4px,env(safe-area-inset-left,0px));border:0;border-radius:0;box-shadow:none;background:#000}
 #dv260-lightbox.dv285-lightbox[open]{grid-template-rows:minmax(0,1fr) auto;gap:0}
 #dv260-lightbox.dv285-lightbox button{min-height:44px;min-width:44px;padding:4px 8px}
 #dv260-lightbox.dv285-lightbox .dv260-lightbox-close{position:absolute;top:max(4px,env(safe-area-inset-top,0px));right:max(4px,env(safe-area-inset-right,0px));z-index:2;width:44px;height:44px;padding:0;border:0;background:#0008;font-size:27px}
 #dv260-lightbox.dv285-lightbox .dv285-close-text{display:none}
 #dv260-lightbox.dv285-lightbox .dv285-toolbar{grid-template-columns:repeat(12,minmax(0,1fr));gap:2px;padding-top:2px}
 #dv260-lightbox.dv285-lightbox .dv270-lightbox-count{position:static;grid-column:5 / 9;grid-row:1;width:auto;height:auto;clip:auto;clip-path:none;overflow:visible;white-space:nowrap}
 .dv285-toolbar .dv260-photo-prev{grid-column:1 / 5;grid-row:1}.dv285-toolbar .dv260-photo-next{grid-column:9 / 13;grid-row:1}
 .dv285-toolbar [data-zoom=out]{grid-column:1 / 3;grid-row:2}.dv285-toolbar output{grid-column:3 / 6;grid-row:2}.dv285-toolbar [data-zoom=in]{grid-column:6 / 8;grid-row:2}.dv285-toolbar [data-zoom=reset]{grid-column:8 / 13;grid-row:2}
 #dv260-lightbox.dv285-lightbox.dv285-ui-hidden .dv285-toolbar,#dv260-lightbox.dv285-lightbox.dv285-ui-hidden figcaption{display:none}
}
@media(max-width:760px) and (orientation:landscape), (max-width:1024px) and (pointer:coarse) and (orientation:landscape){
 #dv260-lightbox.dv285-lightbox .dv285-toolbar{grid-template-columns:auto auto 44px 60px 44px auto auto;gap:4px}
 .dv285-toolbar .dv260-photo-prev{grid-column:1;grid-row:1}#dv260-lightbox.dv285-lightbox .dv270-lightbox-count{grid-column:2;grid-row:1}.dv285-toolbar [data-zoom=out]{grid-column:3;grid-row:1}.dv285-toolbar output{grid-column:4;grid-row:1}.dv285-toolbar [data-zoom=in]{grid-column:5;grid-row:1}.dv285-toolbar [data-zoom=reset]{grid-column:6;grid-row:1}.dv285-toolbar .dv260-photo-next{grid-column:7;grid-row:1}
}
@media(max-width:350px){.dv285-toolbar .dv285-button-label{display:none}}

/* V2.8.6: edge clicks on desktop; gestures on mobile. Native controls remain available to AT/keyboard. */
#dv260-lightbox.dv286-simple .dv285-close-text{display:none}
#dv260-lightbox.dv286-simple .dv260-lightbox-close{border:0;font-size:25px;padding:0;width:34px}
#dv260-lightbox.dv286-simple .dv285-toolbar{grid-template-columns:34px 60px 34px auto}
#dv260-lightbox.dv286-simple .dv286-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
#dv260-lightbox.dv286-simple .dv285-toolbar .dv286-sr:focus-visible{width:auto;height:auto;clip:auto;clip-path:none;margin:0;padding:5px 10px;bottom:10px;background:#111;border:1px solid #fff;z-index:3}
#dv260-lightbox.dv286-simple .dv260-photo-prev:focus-visible{left:12px}
#dv260-lightbox.dv286-simple .dv260-photo-next:focus-visible{right:12px}
.dv286-simple .dv284-photo-viewport{position:relative}
#dv260-lightbox.dv286-simple .dv284-photo-viewport[data-direction=previous]{cursor:w-resize}
#dv260-lightbox.dv286-simple .dv284-photo-viewport[data-direction=next]{cursor:e-resize}
.dv286-edge-hint{display:none;position:absolute;top:50%;transform:translateY(-50%);padding:0 8px;font-size:38px;line-height:44px;border-radius:4px;background:#0008;color:#fff;pointer-events:none}
[data-direction=previous] .dv286-edge-hint{display:block;left:var(--dv286-photo-edge,8px)}
[data-direction=next] .dv286-edge-hint{display:block;right:var(--dv286-photo-edge,8px)}
@media(max-width:760px), (max-width:1024px) and (pointer:coarse){
 #dv260-lightbox.dv286-simple .dv260-lightbox-close{width:44px}
 #dv260-lightbox.dv286-simple .dv285-toolbar{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);padding:0}
 #dv260-lightbox.dv286-simple.dv285-ui-hidden .dv285-toolbar{display:grid}
 #dv260-lightbox.dv286-simple .dv285-toolbar:focus-within{display:flex;justify-content:center;flex-wrap:wrap;gap:4px;inset:auto 8px max(8px,env(safe-area-inset-bottom,0px));width:auto;height:auto;padding:4px;clip:auto;clip-path:none;background:#000e;z-index:3}
 #dv260-lightbox.dv286-simple .dv285-toolbar:focus-within .dv286-sr{position:static;width:auto;height:auto;clip:auto;clip-path:none;margin:0;padding:4px 8px;border:1px solid #ffffff80}
 #dv260-lightbox.dv286-simple .dv285-toolbar:focus-within .dv270-lightbox-count{display:none}
}

/* V2.8.7: one visible counter above the photograph, with no bottom zoom controls. */
#dv260-lightbox.dv287-lightbox[open]{grid-template-rows:auto minmax(0,1fr)}
#dv260-lightbox.dv287-lightbox .dv270-lightbox-count.dv287-counter{position:absolute;grid-area:auto;inset:10px auto auto 50%;transform:translateX(-50%);display:grid;place-items:center;width:auto;max-width:calc(100% - 128px);height:34px;clip:auto;clip-path:none;overflow:hidden;margin:0!important;padding:0 8px;font-size:14px;line-height:1.2;white-space:nowrap;background:#0008;border-radius:4px;z-index:2;pointer-events:none}
#dv260-lightbox.dv287-lightbox .dv285-toolbar{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);padding:0}
#dv260-lightbox.dv287-lightbox .dv285-toolbar:focus-within{display:flex;justify-content:center;gap:4px;inset:auto 8px max(8px,env(safe-area-inset-bottom,0px));width:auto;height:auto;padding:4px;clip:auto;clip-path:none;background:#000e;z-index:3}
#dv260-lightbox.dv287-lightbox .dv285-toolbar:focus-within button.dv286-sr{position:static;width:auto;height:auto;clip:auto;clip-path:none;margin:0;padding:4px 8px;border:1px solid #ffffff80}
@media(max-width:760px), (max-width:1024px) and (pointer:coarse){
 #dv260-lightbox.dv287-lightbox[open]{grid-template-rows:minmax(0,1fr)}
 #dv260-lightbox.dv287-lightbox .dv270-lightbox-count.dv287-counter{top:max(4px,env(safe-area-inset-top,0px));height:44px}
}
