.ck-public .ck-home-gallery { background: var(--ck-section-cream); }
.ck-public .ck-home-gallery-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin-top: 2rem; }
.ck-public .ck-home-gallery-photo { position: relative; display: block; padding: 0; border: 0; border-radius: 1rem; overflow: hidden; background: var(--ck-section-green); color: var(--ck-on-dark); cursor: pointer; text-align: left; font: inherit; aspect-ratio: 4 / 3; }
.ck-public .ck-home-gallery-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.ck-public .ck-home-gallery-photo:hover img { transform: scale(1.04); }
.ck-public .ck-home-gallery-overlay { position: absolute; inset: auto 0 0; display: grid; gap: .1rem; padding: 2rem 1rem .9rem; background: linear-gradient(transparent, rgba(0, 0, 0, .8)); line-height: 1.4; }
.ck-public .ck-home-gallery-overlay > span { font-size: .85rem; }
.ck-public .ck-home-gallery button:focus-visible { outline: 3px solid var(--ck-turmeric, #d5a33b); outline-offset: 4px; }
.ck-public .ck-home-gallery-dialog { width: min(960px, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); padding: 1rem; border: 1px solid var(--ck-border); border-radius: 1rem; background: var(--ck-section-cream); color: var(--ck-primary); overflow: auto; }
.ck-public .ck-home-gallery-dialog::backdrop { background: rgba(10, 28, 19, .85); }
.ck-public .ck-home-gallery-dialog > img { width: 100%; height: min(60dvh, 650px); object-fit: contain; background: var(--ck-section-green); border-radius: .5rem; }
.ck-public .ck-home-gallery-toolbar, .ck-public .ck-home-gallery-navigation { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.ck-public .ck-home-gallery-toolbar { margin-bottom: .75rem; }
.ck-public .ck-home-gallery-dialog button { padding: .5rem 1rem; border: 1px solid var(--ck-primary); border-radius: .5rem; background: var(--ck-primary); color: var(--ck-on-dark); cursor: pointer; font: inherit; }
.ck-public .ck-home-gallery-dialog [hidden] { display: none; }
.ck-public .ck-home-gallery-details { padding: .75rem 0; }
.ck-public .ck-home-gallery-details h3, .ck-public .ck-home-gallery-details p { margin: 0 0 .35rem; white-space: pre-line; }
@media (max-width: 900px) { .ck-public .ck-home-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 540px) {
    .ck-public .ck-home-gallery-grid { gap: .65rem; }
    .ck-public .ck-home-gallery-overlay { padding: 1.5rem .6rem .6rem; font-size: .9rem; }
    .ck-public .ck-home-gallery-dialog { width: calc(100% - 1rem); padding: .75rem; }
}
@media (prefers-reduced-motion: reduce) { .ck-public .ck-home-gallery-photo img { transition: none; } }
