.kdpg-gallery{margin:2rem 0;--kdpg-gap:5px;--kdpg-radius:0px;--kdpg-row-height:250px}.kdpg-grid{gap:var(--kdpg-gap)}
.kdpg-layout-grid .kdpg-grid{display:grid;grid-template-columns:repeat(var(--kdpg-columns,3),minmax(0,1fr));gap:var(--kdpg-gap)}.kdpg-layout-masonry .kdpg-grid{column-count:var(--kdpg-columns,3);column-gap:var(--kdpg-gap)}
/* V1.3.4 MODULA-LIKE : reload corrigé, gutter 5px, portraits en hauteur naturelle sans crop agressif. */
.kdpg-layout-modula{--kdpg-gap:5px!important}.kdpg-layout-modula .kdpg-grid{display:flex!important;width:100%;gap:5px!important;align-items:flex-start;line-height:0;overflow:hidden}.kdpg-layout-modula .kdpg-grid:not(.kdpg-ready) .kdpg-item{visibility:hidden}.kdpg-layout-modula .kdpg-col{display:flex;flex-direction:column;gap:5px;min-width:0}.kdpg-layout-modula .kdpg-row{display:contents}
.kdpg-item{margin:0 0 var(--kdpg-gap);break-inside:avoid;overflow:hidden;border-radius:var(--kdpg-radius);background:transparent!important;position:relative;line-height:0;box-sizing:border-box}.kdpg-layout-grid .kdpg-item{aspect-ratio:3/2}.kdpg-layout-masonry .kdpg-item{display:block}.kdpg-layout-modula .kdpg-item{display:block;margin:0!important;padding:0!important;min-width:0;max-width:none;width:100%;height:auto}
.kdpg-item a{display:block;line-height:0;background:transparent!important;width:100%;height:100%}.kdpg-item img{width:100%;height:auto;display:block;transition:transform .25s ease,opacity .25s ease;background:transparent!important}.kdpg-layout-grid .kdpg-item img{height:100%;object-fit:cover}.kdpg-layout-modula .kdpg-item img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important}.kdpg-item:hover img{transform:scale(1.025)}
.kdpg-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 10px 8px;font-size:12px;line-height:1.25;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.72));opacity:0;transition:opacity .2s ease;pointer-events:none}.kdpg-item:hover figcaption{opacity:1}
.kdpg-more{display:block;margin:24px auto 0;padding:12px 22px;border-radius:999px;border:1px solid currentColor;background:transparent;cursor:pointer;font-weight:600}.kdpg-more[disabled]{opacity:.45;cursor:wait}.kdpg-more.is-loading::after{content:'…'}.kdpg-theme-dark .kdpg-more{color:#fff}.kdpg-theme-light .kdpg-more,.kdpg-theme-auto .kdpg-more{color:#111}.kdpg-error{padding:12px;border-left:4px solid #d63638;background:#fff5f5;color:#111}
.kdpg-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.96);z-index:999999;display:flex;align-items:center;justify-content:center;padding:clamp(8px,2vw,24px);box-sizing:border-box}.kdpg-lightbox img{display:block;width:auto!important;height:auto!important;max-width:calc(100vw - 48px)!important;max-height:calc(100vh - 48px)!important;object-fit:contain!important;box-shadow:0 20px 70px rgba(0,0,0,.55)}.kdpg-lightbox img.kdpg-lightbox-portrait{height:calc(100vh - 48px)!important;width:auto!important;max-width:calc(100vw - 48px)!important;max-height:calc(100vh - 48px)!important}.kdpg-lightbox-close,.kdpg-lightbox-prev,.kdpg-lightbox-next{position:fixed;color:#fff;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.25);cursor:pointer;z-index:1000000}.kdpg-lightbox-close{top:10px;right:16px;font-size:38px;border:0;background:transparent}.kdpg-lightbox-prev,.kdpg-lightbox-next{top:50%;transform:translateY(-50%);width:48px;height:72px;font-size:54px;line-height:1;border-radius:10px}.kdpg-lightbox-prev{left:18px}.kdpg-lightbox-next{right:18px}.kdpg-lightbox-title{position:fixed;left:24px;right:24px;bottom:8px;text-align:center;color:#fff;font-size:13px;line-height:1.35;opacity:.72}.kdpg-lightbox:focus{outline:none}
@media(max-width:1000px){.kdpg-layout-grid .kdpg-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.kdpg-layout-masonry .kdpg-grid{column-count:3!important}.kdpg-gallery{--kdpg-row-height:210px}}
@media(max-width:650px){.kdpg-layout-grid .kdpg-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.kdpg-layout-masonry .kdpg-grid{column-count:2!important}.kdpg-gallery{--kdpg-gap:5px;--kdpg-row-height:160px}.kdpg-item{border-radius:0}.kdpg-lightbox{padding:6px}.kdpg-lightbox img,.kdpg-lightbox img.kdpg-lightbox-portrait{max-width:100vw!important;max-height:calc(100vh - 28px)!important;height:auto!important}.kdpg-lightbox-prev,.kdpg-lightbox-next{display:none}.kdpg-lightbox-title{font-size:12px;bottom:4px}}
