/* Shared gallery viewer and thumbnail controls. */
.gp-gallery-open { display: block; position: relative; width: 100%; padding: 0; border: 0; border-radius: var(--gp-radius-content, 16px); background: transparent; cursor: zoom-in; }
.gp-gallery-open::after { content: '+'; position: absolute; right: 12px; bottom: 12px; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 5px; background: #fff; color: #123d2b; font-size: 24px; font-weight: 600; line-height: 1; }
.gp-gallery-open:is(:hover, :focus-visible)::after { background: #39b54a; color: #fff; }
html.gp-lightbox-open { overflow: hidden; }
.gp-lightbox { box-sizing: border-box; width: min(1100px, calc(100% - 32px)); max-width: none; max-height: calc(100dvh - 32px); padding: 16px; border: 0; border-radius: 16px; color: #fff; background: #17251e; font-family: var(--gp-font); }
.gp-lightbox::backdrop { background: rgb(0 0 0 / .8); }
.gp-lightbox__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.gp-lightbox__navigation { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.gp-lightbox p { margin: 0; font-size: 14px; line-height: 1.5; }
.gp-lightbox__toolbar { margin-bottom: 12px; }
.gp-lightbox__navigation { margin-top: 12px; }
.gp-lightbox button { flex-shrink: 0; min-width: 44px; min-height: 44px; border: 1px solid #fff6; border-radius: 5px; padding: 8px 12px; background: transparent; color: #fff; font: inherit; cursor: pointer; }
.gp-lightbox button:is(:hover, :focus-visible) { background: #39b54a; border-color: #39b54a; }
.gp-lightbox button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.gp-lightbox__image { display: block; width: 100%; height: min(65dvh, 720px); object-fit: contain; }
.gp-lightbox__caption { text-align: center; }
@media (max-width: 480px) {
  .gp-lightbox { width: calc(100% - 16px); padding: 12px; }
}
@media (max-width: 480px) {
  .gp-lightbox__navigation { gap: 8px; }
}
@media (max-width: 480px) {
  .gp-lightbox p { font-size: 12px; }
}
