/* Scoped to this plugin. No theme, header, footer, or global typography changes. */
.kdhg-gallery{--kdh-blue:#0d47a1;--kdh-ink:#112d50;--kdh-yellow:#f9c80a;--kdh-muted:#56667a;box-sizing:border-box;max-width:1240px;width:100%;margin:0 auto;padding:40px 0;color:var(--kdh-ink);font-family:inherit;isolation:isolate}.kdhg-gallery *,.kdhg-dialog *{box-sizing:border-box}.kdhg-gallery [hidden],.kdhg-dialog [hidden]{display:none!important}.kdhg-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 28px;padding:0}.kdhg-heading .kdhg-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:0;color:var(--kdh-blue);font-size:11px;font-weight:800;line-height:1.4;letter-spacing:2px}.kdhg-eyebrow::before{content:"";display:inline-block;width:30px;height:4px;background:var(--kdh-yellow);border-radius:3px}.kdhg-heading h2{font-family:inherit;font-size:clamp(28px,3.6vw,44px);font-weight:750;line-height:1.15;letter-spacing:-1.2px;color:var(--kdh-ink);padding:0;margin:0;overflow-wrap:anywhere}.kdhg-heading .kdhg-description{max-width:660px;font-size:15px;line-height:1.7;margin:14px 0 0;padding:0;color:var(--kdh-muted);overflow-wrap:anywhere}.kdhg-total{flex:none;white-space:nowrap;border:1px solid #d7e3f1;border-radius:99px;padding:8px 14px;font-size:12px;line-height:1.4;font-weight:600;color:var(--kdh-blue);background:#f4f8fd}.kdhg-grid{display:grid;gap:16px;align-items:stretch}.kdhg-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.kdhg-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.kdhg-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.kdhg-gallery .kdhg-item{margin:0!important;padding:0;min-width:0;display:flex;flex-direction:column;gap:0}.kdhg-image-link{display:block;flex:1;position:relative;isolation:isolate;aspect-ratio:4/3;min-height:0;overflow:hidden;background:#eef3f8;border-radius:14px;text-decoration:none!important;box-shadow:0 1px 2px #102d5010}.kdhg-gallery .kdhg-image-link img{position:absolute;inset:0;display:block;margin:0;padding:0;border:0;width:100%!important;height:100%!important;max-width:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.7,.2,1);transform-origin:center}.kdhg-fit-contain .kdhg-image-link img{object-fit:contain}.kdhg-image-link::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,#0c2b5038);pointer-events:none}.kdhg-zoom{position:absolute;z-index:1;right:14px;bottom:14px;display:grid;place-items:center;width:38px;height:38px;border:1px solid #ffffff9e;border-radius:50%;background:#fffffff2;color:var(--kdh-blue);font:500 23px/1 Arial,sans-serif;box-shadow:0 3px 15px #102d5024;transition:background .2s,transform .2s}.kdhg-gallery .kdhg-item figcaption{padding:10px 2px 2px;font:inherit;font-size:13px;line-height:1.6;color:var(--kdh-muted);overflow-wrap:anywhere}.kdhg-mosaic .kdhg-cols-3>.kdhg-item:first-child,.kdhg-mosaic .kdhg-cols-4>.kdhg-item:first-child{grid-column:span 2;grid-row:span 2}.kdhg-mosaic .kdhg-cols-3>.kdhg-item:first-child .kdhg-image-link,.kdhg-mosaic .kdhg-cols-4>.kdhg-item:first-child .kdhg-image-link{aspect-ratio:auto;min-height:280px}.kdhg-mosaic .kdhg-cols-2>.kdhg-item:first-child{grid-column:span 2}.kdhg-mosaic .kdhg-cols-2>.kdhg-item:first-child .kdhg-image-link{aspect-ratio:16/9}.kdhg-gallery .kdhg-grid>.kdhg-item:only-child{grid-column:1/-1;grid-row:auto}.kdhg-grid>.kdhg-item:only-child .kdhg-image-link{aspect-ratio:16/9!important;min-height:0!important}.kdhg-footer{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:28px}.kdhg-gallery .kdhg-progress{font-size:12px;line-height:1.5;color:var(--kdh-muted);margin:0;padding:0}.kdhg-gallery .kdhg-more{appearance:none;display:inline-flex;align-items:center;gap:24px;padding:14px 23px;min-height:48px;border:1px solid var(--kdh-blue);border-radius:8px;background:var(--kdh-blue);color:#fff;font:inherit;font-size:14px;line-height:1.3;font-weight:650;cursor:pointer;transition:background .2s,box-shadow .2s}.kdhg-more span{font-size:21px;color:var(--kdh-yellow);line-height:1}.kdhg-image-link:focus-visible,.kdhg-gallery .kdhg-more:focus-visible{outline:3px solid #0d47a1;outline-offset:5px}.kdhg-enter{animation:kdhg-reveal .35s ease-out both}@keyframes kdhg-reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.kdhg-dialog{position:fixed;inset:0;margin:auto;border:1px solid #ffffff24;border-radius:16px;background:#0a203b;color:white;padding:14px;width:min(1200px,calc(100% - 28px));max-width:1200px;max-height:94vh;max-height:94dvh;overflow:auto;box-shadow:0 24px 100px #0009;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.kdhg-dialog::backdrop{background:#06182be8;backdrop-filter:blur(5px)}.kdhg-dialog:not([open]){display:none}.kdhg-dialog-shell{display:grid;gap:12px}.kdhg-dialog-toolbar,.kdhg-dialog-nav{display:flex;align-items:center;gap:14px;justify-content:space-between}.kdhg-dialog-count{font-size:12px;white-space:nowrap}.kdhg-dialog button{appearance:none;display:inline-grid;place-items:center;background:#ffffff12;color:white;border:1px solid #ffffff50;border-radius:8px;min-width:44px;min-height:44px;padding:8px 12px;font:500 19px/1 system-ui,sans-serif;cursor:pointer;flex-shrink:0}.kdhg-dialog button:hover{background:#ffffff28}.kdhg-dialog button:disabled{opacity:.3;cursor:default}.kdhg-dialog a{color:#e3edf9}.kdhg-dialog-file{margin-left:auto;font-size:12px;text-decoration:underline;text-underline-offset:3px}.kdhg-dialog button:focus-visible,.kdhg-dialog a:focus-visible{outline:3px solid #f9c80a;outline-offset:3px}.kdhg-dialog-stage{position:relative;display:grid;place-items:center;min-height:120px;touch-action:pan-y pinch-zoom}.kdhg-dialog .kdhg-dialog-img{display:block;width:auto;height:auto;max-width:100%;max-height:70vh;max-height:70dvh;object-fit:contain;border-radius:5px;margin:auto;background:transparent}.kdhg-dialog-caption{flex:1;text-align:center;white-space:pre-line;font-size:13px;line-height:1.6;color:#dce7f5;margin:0;padding:0;overflow-wrap:anywhere}.kdhg-dialog-error{font-size:14px;text-align:center;padding:20px;color:white}.kdhg-dialog-help{font-size:11px;text-align:center;color:#bdcde1;margin:0;padding:0}
@media(hover:hover){.kdhg-image-link:hover img{transform:scale(1.035)}.kdhg-image-link:hover .kdhg-zoom{background:#f9c80a;transform:rotate(5deg)}.kdhg-gallery .kdhg-more:hover{background:#09387f;box-shadow:0 4px 14px #0d47a125}}
@media(max-width:900px){.kdhg-gallery{padding:28px 0}.kdhg-cols-3,.kdhg-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.kdhg-mosaic .kdhg-cols-3>.kdhg-item:first-child,.kdhg-mosaic .kdhg-cols-4>.kdhg-item:first-child{grid-column:span 2;grid-row:auto}.kdhg-mosaic .kdhg-cols-3>.kdhg-item:first-child .kdhg-image-link,.kdhg-mosaic .kdhg-cols-4>.kdhg-item:first-child .kdhg-image-link{aspect-ratio:16/9;min-height:0}.kdhg-grid{gap:12px}.kdhg-heading{gap:16px;margin-bottom:22px}.kdhg-total{font-size:11px;padding:7px 10px}}
@media(max-width:480px){.kdhg-heading{align-items:flex-start}.kdhg-heading h2{letter-spacing:-.7px;font-size:28px}.kdhg-heading .kdhg-description{font-size:14px}.kdhg-total{display:none}.kdhg-grid{grid-template-columns:1fr;gap:16px}.kdhg-mosaic .kdhg-grid>.kdhg-item:first-child{grid-column:auto;grid-row:auto}.kdhg-mosaic .kdhg-grid>.kdhg-item:first-child .kdhg-image-link{aspect-ratio:4/3}.kdhg-image-link{border-radius:11px}.kdhg-dialog{padding:10px;width:calc(100% - 16px);max-height:96vh;max-height:96dvh}.kdhg-dialog .kdhg-dialog-img{max-height:64vh;max-height:64dvh}.kdhg-dialog-help{display:none}.kdhg-dialog-caption{font-size:12px}.kdhg-dialog-toolbar{gap:8px}}
@media(prefers-reduced-motion:reduce){.kdhg-gallery *{animation:none!important;transition:none!important}.kdhg-image-link:hover img,.kdhg-image-link:hover .kdhg-zoom{transform:none}}
