/* V10.1.6 -- unified gallery, shared between classic and alternate themes. */
.db86-gallery{width:100%;min-width:0;max-width:100%;margin:22px auto 36px}
.db86-gallery-heading{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:8px 0 20px}
.db86-gallery-heading h2{font-size:clamp(24px,3.2vw,36px);margin:0;line-height:1.2}
.db86-video-heading{margin-top:32px}
.db86-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;min-width:0}
.db86-tile{position:relative;display:flex;flex-direction:column;width:100%;min-width:0;aspect-ratio:auto;overflow:hidden;border:1px solid #6285a35c;border-radius:5px;background:#0c1e2d;color:#fff;padding:0;text-align:left;cursor:zoom-in;box-shadow:0 9px 22px #0002;isolation:isolate;transition:transform .18s,box-shadow .18s}
.db86-tile img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center;flex:none}
.db86-tile:hover{transform:translateY(-3px);box-shadow:0 14px 27px #0003}
.db86-tile:focus-visible{outline:3px solid #71b9db;outline-offset:3px}
.db86-tile-label{position:static;inset:auto;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;min-height:48px;padding:12px 13px;font-size:13px;line-height:1.45;font-weight:700;color:#eff7fd;background:#102638;pointer-events:none}
.db86-play{position:absolute;top:calc((100% - 48px) / 2);left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:50px;height:50px;border:1px solid #b9dcef;border-radius:50%;background:#102737d6;box-shadow:0 5px 24px #0006;color:#fff;font-size:19px;pointer-events:none}
/* One surface: content and controls, no inner decorative card. */
dialog.db86-modal{position:fixed;inset:0;margin:auto;padding:0;width:min(1100px,96vw);height:min(850px,94dvh);max-width:none;max-height:none;border:0;border-radius:7px;background:#0a1119;color:#f7f9fa;box-shadow:0 36px 130px #000b;overflow:hidden}
dialog.db86-modal::backdrop{background:#01070ee8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.db86-modal-shell{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;overflow:hidden;padding:0;border:0;border-radius:0;background:#0a1119}
.db106-modal-head{display:flex;align-items:center;justify-content:space-between;flex:0 0 52px;min-height:52px;padding:0 15px 0 20px;border-bottom:1px solid #edf6ff18;color:#a9c0d1;font-size:10px;letter-spacing:.18em;font-weight:800}
.db86-modal-close{position:relative;z-index:2;display:grid;place-items:center;flex:none;width:46px;height:46px;min-width:46px;min-height:46px;padding:0;border:1px solid #53748c;border-radius:5px;background:#1b2e40;color:#fff;box-shadow:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.db86-modal-close svg{display:block;width:23px;height:23px;min-width:23px;min-height:23px;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round;fill:none;pointer-events:none}
.db86-modal-close:is(:hover,:focus-visible){background:#304d63;outline:2px solid #74badf;outline-offset:1px}
.db86-modal-stage{display:grid;place-items:center;flex:1 1 auto;min-height:0;min-width:0;width:100%;overflow:hidden;background:#080e15;border:0;border-radius:0;margin:0}
.db86-modal-stage img,.db86-modal-stage video{display:block;max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain;box-shadow:none;border:0;border-radius:0;background:transparent}
.db86-modal-stage video{width:100%;height:100%}
.db106-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:0 0 auto;min-height:84px;padding:12px 20px;background:#101b26;border-top:1px solid #e4f4ff18}
.db86-modal-caption{display:flex;flex-direction:column;gap:4px;min-width:0;max-width:70%;padding:0;margin:0;color:#f2f8ff;font-size:14px;line-height:1.4;font-weight:600}
.db86-modal-caption strong{font-weight:750;color:#fff;line-height:1.4}
.db105-modal-description{color:#c4d7e5;font-size:12px;line-height:1.5;font-weight:400}
.db106-modal-controls{display:flex;align-items:center;justify-content:end;gap:9px;flex:none;white-space:nowrap}
.db106-modal-controls .db88-nav{display:grid!important;place-items:center!important;position:static!important;transform:none!important;inset:auto!important;opacity:1!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;border-radius:5px!important;border:1px solid #65839b!important;background:#203548!important;color:#fff!important;box-shadow:none!important;padding:0!important;cursor:pointer;backdrop-filter:none!important}
.db106-modal-controls .db88-nav svg{width:21px!important;height:21px!important;stroke:currentColor!important}
.db106-modal-controls .db88-nav:is(:hover,:focus-visible){background:#345571!important;outline:2px solid #94daf7!important;outline-offset:1px!important}
.db106-modal-controls .db88-nav[hidden]{display:none!important}
.db88-gallery-progress{position:static!important;display:inline-block;transform:none!important;background:transparent!important;color:#d1e5f3!important;font:700 12px/1.3 system-ui,sans-serif!important;letter-spacing:.03em;min-width:38px;text-align:center;padding:0!important;box-shadow:none!important;border:0!important}
body.db86-modal-open>.dbu-dock,body.db86-modal-open>.db6-dock{opacity:0!important;pointer-events:none!important;visibility:hidden!important}
@media(max-width:760px){.db86-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.db86-tile-label{font-size:11px;min-height:44px;padding:12px 9px 9px}.db86-play{width:44px;height:44px;font-size:17px}
 dialog.db86-modal{width:100vw;height:100dvh;border-radius:0;max-width:none;max-height:none}
 .db106-modal-head{flex-basis:52px;min-height:52px;padding:0 8px 0 14px}
 .db86-modal-close{width:44px;height:44px;min-width:44px;min-height:44px}
 .db86-modal-stage img,.db86-modal-stage video{max-width:100%;max-height:100%}
 .db106-modal-foot{min-height:102px;padding:10px 12px;gap:10px}
 .db86-modal-caption{font-size:12px;max-width:58%}.db105-modal-description{font-size:11px}
 .db106-modal-controls{gap:5px}.db106-modal-controls .db88-nav{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
}
@media(prefers-reduced-motion:reduce){.db86-tile{transition:none!important}}
/* Theme-consistent modal header in the bright design; caption and controls remain dark for media focus. */
html[data-db88-theme="frost"] dialog.db86-modal .db106-modal-head{background:#e9f1f6!important;color:#203e53!important}
html[data-db88-theme="frost"] dialog.db86-modal .db106-modal-head span{color:#203e53!important;-webkit-text-fill-color:#203e53!important;opacity:1!important}
/* Scope close-button colors to the modal; alternate theme buttons must not override the icon. */
html body dialog.db86-modal .db106-modal-head button.db86-modal-close{background:#1b2e40!important;border:1px solid #53748c!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:none!important;border-radius:5px!important}
html[data-db88-theme="frost"] body dialog.db86-modal .db106-modal-head button.db86-modal-close{background:#dae8f2!important;border-color:#779ab0!important;color:#123c56!important;-webkit-text-fill-color:#123c56!important}
html[data-db88-theme="copper"] body dialog.db86-modal .db106-modal-head button.db86-modal-close{background:#302721!important;border-color:#a07a5f!important;color:#f6eadd!important;-webkit-text-fill-color:#f6eadd!important}
html body dialog.db86-modal .db106-modal-head button.db86-modal-close:is(:hover,:focus-visible){filter:brightness(1.12);outline:2px solid currentColor;outline-offset:1px}
html body dialog.db86-modal .db106-modal-head button.db86-modal-close svg{display:block!important;width:23px!important;height:23px!important;min-width:23px!important;min-height:23px!important;stroke:currentColor!important;fill:none!important;opacity:1!important;visibility:visible!important;transform:none!important}

/* V10.1.6.1: captions below photography, never as low-contrast overlays. */
html[data-db88-theme="frost"] .db86-tile{background:#fff!important;border-color:#adc6d6!important}
html[data-db88-theme="frost"] .db86-tile-label{color:#19364a!important;-webkit-text-fill-color:#19364a!important;background:#f6fafc!important}
html[data-db88-theme="copper"] .db86-tile{background:#211e1c!important;border-color:#8c6d57!important}
html[data-db88-theme="copper"] .db86-tile-label{color:#f6eadf!important;-webkit-text-fill-color:#f6eadf!important;background:#2b2420!important}
html[data-db88-theme="original"] .db86-tile-label{color:#eff7fd!important;-webkit-text-fill-color:#eff7fd!important;background:#102638!important}
