.material-gallery{margin:34px 0;min-width:0;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--white)}
.material-gallery [hidden]{display:none!important}
.material-gallery-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}
.material-gallery-heading .eyebrow{font-size:10px;letter-spacing:.15em;margin-bottom:7px}
.material-gallery-heading h2{font-size:30px;margin:0 0 8px}
.material-gallery-heading p{font:13px/1.6 Arial,sans-serif;color:var(--muted);margin:0}
.material-gallery-count{display:inline-flex;align-items:center;gap:7px;flex:none;border:1px solid var(--line);padding:8px 11px;border-radius:25px;font:600 12px/1 Arial,sans-serif}
.material-gallery-count .icon{width:16px;height:16px}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.dossier-body .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.gallery-card{min-width:0;margin:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--paper)}
.gallery-image-link{display:flex;align-items:center;justify-content:center;position:relative;aspect-ratio:3/2;overflow:hidden;background:linear-gradient(135deg,var(--light),var(--paper));border:0!important}
.gallery-image-link img{display:block;width:100%;height:100%;min-width:0;object-fit:contain;object-position:center;transition:filter .2s}
.gallery-image-link:hover img{filter:brightness(1.06)}
.gallery-image-expand{position:absolute;right:9px;bottom:9px;display:grid;place-items:center;width:30px;height:30px;border:1px solid #ffffff50;border-radius:50%;background:#241d29d9;color:#fff;opacity:0;transition:opacity .2s}
.gallery-image-expand .icon{width:15px;height:15px}
.gallery-image-link:is(:hover,:focus-visible) .gallery-image-expand{opacity:1}
.gallery-cover-badge{position:absolute;top:9px;left:9px;max-width:calc(100% - 18px);padding:5px 8px;background:#271d2ae6;color:#fff6ed;border:1px solid #ffffff36;border-radius:4px;font:10px/1.2 Arial,sans-serif;letter-spacing:.04em}
.gallery-card figcaption{padding:13px 14px;min-width:0}
.gallery-card figcaption p{font:13px/1.6 Arial,sans-serif;color:var(--ink);margin:0;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gallery-card figcaption a{display:flex;align-items:center;gap:5px;color:var(--muted);font:11px/1.5 Arial,sans-serif;margin-top:7px;overflow-wrap:anywhere}
.gallery-card figcaption a .icon{width:14px;height:14px;flex:none}
.gallery-show-more{display:flex;margin:20px auto 0;min-width:200px;font-family:Arial,sans-serif}
.gallery-viewer:not([open]){display:none}
.gallery-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(1320px,calc(100vw - 36px));height:min(960px,calc(100dvh - 36px));max-width:none;max-height:none;padding:0;border:1px solid #ffffff29;border-radius:12px;background:#141216;color:#f3e9ed;box-shadow:0 26px 100px #0008;overflow:hidden;font-family:Arial,sans-serif}
.gallery-viewer::backdrop{background:#09080dea;backdrop-filter:blur(6px)}
body:has(.gallery-viewer[open]){overflow:hidden}
.gallery-viewer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 18px;border-bottom:1px solid #ffffff1c;font:12px/1.4 Arial,sans-serif;min-height:58px}
.gallery-viewer-toolbar>span{color:#c5b9c2;white-space:nowrap}
.gallery-viewer-toolbar>div{display:flex;align-items:center;gap:8px}
.gallery-viewer-toolbar button,.gallery-viewer-toolbar a{border:1px solid #ffffff29;border-radius:5px;padding:8px 12px;color:#f3e9ed;font:12px/1.4 Arial,sans-serif;white-space:nowrap}
.gallery-viewer-toolbar button:hover,.gallery-viewer-toolbar a:hover{background:#ffffff16}
.gallery-viewer-toolbar .gallery-viewer-close{border-color:transparent;font:27px/1 Arial,sans-serif;min-width:38px;padding:4px}
.gallery-viewer-main{display:grid;grid-template-columns:54px minmax(0,1fr) 54px;gap:5px;min-height:0;padding:10px}
.gallery-viewer-stage{position:relative;overflow:hidden;min-width:0;min-height:0;height:100%;width:100%;background:#0f0e11;border-radius:6px;touch-action:pan-y}
.gallery-viewer-stage img{width:100%;height:100%;max-width:100%;object-fit:contain;object-position:center;user-select:none}
.gallery-viewer-arrow{align-self:center;min-width:44px;min-height:56px;border:1px solid #ffffff24;border-radius:6px;font:40px/1 Arial,sans-serif;color:#f3e9ed}
.gallery-viewer-arrow:hover{background:#ffffff13}
.gallery-viewer.is-loading .gallery-viewer-stage{background:linear-gradient(110deg,#121116,#24202b,#121116)}
.gallery-viewer.is-zoomed .gallery-viewer-stage{overflow:auto;touch-action:auto}
.gallery-viewer.is-zoomed .gallery-viewer-stage img{width:200%;height:200%;max-width:none;max-height:none;cursor:zoom-out}
.gallery-viewer-caption{padding:13px 24px 18px;border-top:1px solid #ffffff1c;max-height:170px;overflow:auto}
.gallery-viewer-caption p{margin:0;color:#f3e9ed;font:14px/1.6 Arial,sans-serif;overflow-wrap:anywhere;white-space:pre-wrap}
.gallery-viewer-caption span{display:block;margin-top:5px;color:#baacbb;font:12px/1.5 Arial,sans-serif}
.gallery-viewer-caption [data-gallery-viewer-error]{margin-top:8px;color:#efb8ae;font-size:12px}
@media(hover:none){.gallery-image-expand{opacity:1}}
@media(max-width:800px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.material-gallery{padding:18px}.gallery-grid{gap:12px}}
@media(max-width:480px){.material-gallery{padding:14px;margin:24px 0}.material-gallery-heading h2{font-size:26px}.material-gallery-heading{gap:10px}.gallery-grid,.dossier-body .gallery-grid{gap:10px}.gallery-card figcaption{padding:9px}.gallery-card figcaption p{font-size:12px}.gallery-cover-badge{font-size:9px;left:6px;top:6px}.gallery-viewer[open]{width:100vw;height:100dvh;border:0;border-radius:0}.gallery-viewer-toolbar{padding:10px;gap:6px}.gallery-viewer-toolbar button,.gallery-viewer-toolbar a{padding:8px;font-size:11px}.gallery-viewer-toolbar>div{gap:4px}.gallery-viewer-main{position:relative;display:block;padding:6px}.gallery-viewer-stage{height:100%}.gallery-viewer-arrow{position:absolute;top:calc(50% - 25px);z-index:1;min-width:36px;min-height:50px;background:#141216b8}.gallery-viewer-prev{left:9px}.gallery-viewer-next{right:9px}.gallery-viewer-caption{padding:12px 15px;max-height:155px}.gallery-show-more{min-width:0;width:100%}}
@media(prefers-reduced-motion:reduce){.gallery-image-link img,.gallery-image-expand{transition:none}}

.gallery-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:0 0 20px;padding:14px;background:var(--paper);border:1px solid var(--line);border-radius:8px}
.gallery-filters label{display:grid;gap:6px;flex:1 1 160px;min-width:0;font:12px/1.5 Arial,sans-serif;color:var(--muted)}
.gallery-filters select{width:100%;min-width:0;max-width:100%;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--white);color:var(--ink);font:13px Arial,sans-serif}
.gallery-filters button{min-height:38px;font:12px Arial,sans-serif}
.gallery-filters p{flex-basis:100%;margin:0;font:12px/1.5 Arial,sans-serif;color:var(--muted)}
.gallery-type-badge{display:inline-block;font:10px/1.4 Arial,sans-serif;color:var(--muted);margin-bottom:6px;padding:3px 6px;border:1px solid var(--line);border-radius:4px}
.gallery-empty{padding:22px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);font:14px/1.7 Arial,sans-serif}
