/* HACCP V10: document lightbox only */
body.hassp-lightbox-open { overflow: hidden; }
.hassp-lightbox[hidden] { display: none !important; }
.hassp-lightbox { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 22px; }
.hassp-lightbox__backdrop { position: absolute; inset: 0; background: rgba(12, 24, 16, .88); backdrop-filter: blur(9px); }
.hassp-lightbox__content { position: relative; display: grid; grid-template-columns: 48px minmax(0, 1fr) 48px; align-items: center; gap: 10px; width: min(1040px, 100%); max-height: calc(100dvh - 44px); color: white; }
.hassp-lightbox figure { min-width: 0; margin: 0; text-align: center; }
.hassp-lightbox figure img { display: block; max-width: 100%; max-height: calc(100dvh - 130px); width: auto; height: auto; margin: auto; object-fit: contain; border-radius: 6px; background: white; }
.hassp-lightbox figcaption { margin-top: 10px; font-size: 14px; line-height: 1.35; color: #f1f4ed; }
.hassp-lightbox button { border: 1px solid rgba(255,255,255,.36); border-radius: 50%; width: 44px; height: 44px; padding: 0; background: rgba(255,255,255,.13); color: white; font: 30px/1 Onest, Arial, sans-serif; cursor: pointer; }
.hassp-lightbox button:hover { background: rgba(255,255,255,.25); }
.hassp-lightbox button:focus-visible { outline: 3px solid #a8d17f; outline-offset: 3px; }
.hassp-lightbox__close { position: absolute; top: -6px; right: -4px; transform: translateY(-100%); }
.hassp-lightbox__counter { position: absolute; bottom: -22px; left: 0; right: 0; text-align: center; color: #e9efe5; font: 13px Onest, Arial, sans-serif; }
@media(max-width:600px) {
 .hassp-lightbox { padding: 8px; }
 .hassp-lightbox__content { grid-template-columns: 34px minmax(0, 1fr) 34px; gap: 4px; }
 .hassp-lightbox button { width: 34px; height: 34px; font-size: 24px; }
 .hassp-lightbox figure img { max-height: calc(100dvh - 130px); }
}
