.diogene-gallery-launch{margin-top:24px;min-height:96px}
.diogene-gallery-launch p{font-size:.9rem;margin:10px 0 0}
.diogene-albums{max-width:1200px;margin:0 auto}
.diogene-album+.diogene-album{margin-top:36px}
.diogene-album>h3{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px 20px;font-size:1.7rem;margin:0 0 18px;color:var(--forest)}
.diogene-album>h3>span{font:400 .9rem/1.5 Arial,sans-serif}
.diogene-thumbnails{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.diogene-thumbnails-apartment{grid-template-columns:repeat(4,minmax(0,1fr))}
.diogene-thumbnail{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white}
.diogene-thumbnail>a{display:block}
.diogene-thumbnail img{display:block;width:100%;height:auto;object-fit:contain}
.diogene-thumbnail figcaption>a{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px 12px;min-height:56px;padding:12px;color:var(--forest);font-size:.95rem}
.diogene-thumbnail figcaption span{font-size:.82rem;text-decoration:underline;text-underline-offset:3px}
.diogene-thumbnail a:focus-visible{outline-offset:-4px}
@media(max-width:720px){.diogene-thumbnails,.diogene-thumbnails-apartment{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.diogene-thumbnail figcaption>a{padding:10px;font-size:.9rem}.diogene-album>h3{gap:4px 14px}.diogene-album+.diogene-album{margin-top:28px}}
[data-diogene-gallery-open][hidden]{display:none}
.diogene-page .fdc-hero-image>a{display:block}
.diogene-page .fdc-hero-image>a:focus-visible{outline-offset:-5px}
html.diogene-gallery-open{overflow:hidden;scrollbar-gutter:stable}
.diogene-gallery{width:min(1448px,calc(100vw - 24px));max-width:none;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:20px;border:0;border-radius:14px;background:var(--cream-2);color:var(--forest);overflow:auto;overscroll-behavior:contain;box-shadow:0 12px 60px #0005}
.diogene-gallery::backdrop{background:rgba(12,24,19,.86)}
.diogene-gallery-header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:14px}
.diogene-gallery-header h2{font:700 1.05rem/1.4 Arial,sans-serif;margin:0}
.diogene-gallery-counter{font-size:.85rem;margin:4px 0 0}
.diogene-gallery-close{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border:1px solid var(--forest);border-radius:50%;background:var(--cream-2);color:var(--forest);font-size:2rem;line-height:1;cursor:pointer}
.diogene-gallery-stage{display:grid;place-items:center;min-height:120px;position:relative}
.diogene-gallery-image{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100vh - 240px);max-height:calc(100dvh - 240px);object-fit:contain;touch-action:pan-y pinch-zoom}
.diogene-gallery-image[hidden],.diogene-gallery-error[hidden],.diogene-gallery-loading[hidden]{display:none}
.diogene-gallery-loading{position:absolute;padding:8px 14px;border-radius:6px;background:var(--cream-2);font-size:.9rem}
.diogene-gallery-error{padding:24px;text-align:center}
.diogene-gallery-error p{margin:0 0 12px}
.diogene-gallery-controls{display:flex;align-items:end;justify-content:center;gap:16px;margin-top:18px}
.diogene-gallery-controls .btn{min-width:130px;min-height:48px}
.diogene-gallery-select{display:grid;gap:5px;max-width:420px;flex:1;font-size:.85rem;font-weight:700}
.diogene-gallery-select select{min-width:0;width:100%;min-height:48px;border:1px solid var(--forest);border-radius:8px;padding:10px;background:white;color:var(--forest);font:inherit}
@media(max-width:720px){
 .diogene-gallery{padding:14px}
 .diogene-gallery-header{gap:10px}.diogene-gallery-header h2{font-size:.95rem}
 .diogene-gallery-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}
 .diogene-gallery-controls .btn{min-width:0;width:100%;padding:12px}
 .diogene-gallery-select{grid-column:1/-1;grid-row:2;max-width:none}
 .diogene-gallery-image{max-height:calc(100vh - 290px);max-height:calc(100dvh - 290px)}
}
@media(max-height:500px){.diogene-gallery-image{max-height:none;max-width:min(100%,700px)}.diogene-gallery-header{position:sticky;top:-14px;background:var(--cream-2);z-index:1;padding:8px 0}}
