/* One image-only card, shared by qualifications, photos, products and article images. */
html.sibo-image-viewer-open { overflow: hidden; }
body.sibo-site .sibo-image-viewer:not([open]) { display: none; }
body.sibo-site .sibo-image-viewer {
    position: fixed; inset: 0; margin: auto; box-sizing: border-box;
    width: min(850px, calc(100vw - 40px)); max-width: none;
    height: min(840px, calc(100dvh - 40px)); max-height: calc(100dvh - 40px);
    padding: 24px 28px; border: 1px solid rgb(255 255 255 / .035); border-radius: 12px;
    background: #1d2125; color: #f1f2f3; color-scheme: dark;
    box-shadow: 0 24px 80px rgb(0 0 0 / .25);
    display: grid; grid-template-rows: 44px minmax(0, 1fr) 44px; gap: 16px;
    overflow: hidden; overscroll-behavior: contain;
}
.sibo-image-viewer::backdrop { background: rgb(4 20 20 / .88); }
.sibo-image-viewer-toolbar { display: flex; justify-content: flex-end; }
body.sibo-site .sibo-image-viewer button {
    display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px;
    min-width: 44px; min-height: 44px; margin: 0; padding: 0;
    border: 1px solid #363c43; border-radius: 8px;
    background: transparent; color: #f1f2f3; cursor: pointer;
    box-shadow: none; transition: background .18s ease, border-color .18s ease, color .18s ease;
}
body.sibo-site .sibo-image-viewer button:hover:not(:disabled) { background: #1bbdb3; border-color: #1bbdb3; color: #062220; }
body.sibo-site .sibo-image-viewer button:focus-visible { outline: 2px solid #1bbdb3; outline-offset: 3px; }
body.sibo-site .sibo-image-viewer button:disabled { opacity: .3; cursor: default; }
.sibo-image-viewer button svg { display: block; pointer-events: none; }
.sibo-image-viewer-stage { position: relative; min-width: 0; min-height: 0; display: grid; place-items: center; }
body.sibo-site .sibo-image-viewer-stage img {
    display: block; width: 100%; height: 100%; max-width: 100%; max-height: 100%;
    min-width: 0; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0;
    object-fit: contain; background: transparent; box-shadow: none;
}
body.sibo-site .sibo-image-viewer [hidden] { display: none; }
body.sibo-site .sibo-image-viewer-stage p { margin: 0; padding: 20px; color: #b7bec5; text-align: center; font-size: 14px; line-height: 1.6; }
.sibo-image-viewer-controls { display: flex; align-items: center; justify-content: center; gap: 20px; }
body.sibo-site .sibo-image-viewer-controls p { min-width: 64px; margin: 0; color: #b7bec5; font-size: 14px; line-height: 1.5; text-align: center; font-variant-numeric: tabular-nums; }
[data-sibo-image-trigger] { cursor: zoom-in; }
[data-sibo-image-trigger]:focus-visible { outline: 2px solid #1bbdb3; outline-offset: 4px; }
@media (max-width: 599px) {
    body.sibo-site .sibo-image-viewer { width: calc(100vw - 24px); height: min(840px, calc(100dvh - 24px)); max-height: calc(100dvh - 24px); padding: 12px; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) { body.sibo-site .sibo-image-viewer button { transition: none; } }
@media print { .sibo-image-viewer { display: none !important; } }
