/* Copyright (c) 2026 Marketing-Brand®. */
.mbaz-dialog {
  --mbaz-bg: #111315; --mbaz-panel: #1d2023; --mbaz-line: #41464c; --mbaz-ink: #f8f7f4;
  position: fixed; inset: 0; box-sizing: border-box; width: 100%; max-width: none;
  height: 100vh; height: 100dvh; max-height: none; margin: 0; padding: 0; border: 0;
  background: var(--mbaz-bg); color: var(--mbaz-ink); overscroll-behavior: contain; overflow:hidden;
  font: 14px/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color-scheme: dark;
}
.mbaz-dialog[open] { display: flex; flex-direction: column; }
.mbaz-dialog::backdrop { background: rgb(0 0 0 / 90%); }
.mbaz-dialog *, .mbaz-lens { box-sizing: border-box; }
.mbaz-dialog [hidden], .mbaz-lens[hidden] { display: none !important; }
.mbaz-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 24px; border-bottom: 1px solid #2c3034; flex: none; }
.mbaz-heading { min-width: 0; }
.mbaz-counter { display: block; font-size: 11px; letter-spacing: .14em; color: #b9c0c8; margin-bottom: 3px; }
.mbaz-title { max-width: 1000px; overflow-wrap: anywhere; font-size: 14px; line-height: 1.4; }
.mbaz-top-buttons, .mbaz-control-group { display: flex; align-items: center; gap: 4px; }
.mbaz-top-buttons { flex: none; }
.mbaz-dialog button.mbaz-button {
  appearance: none; position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  min-width: 44px; min-height: 44px; width: auto; margin: 0; padding: 8px 12px; border: 1px solid transparent;
  border-radius: 9px; background: transparent; color: var(--mbaz-ink); font: inherit; text-transform: none;
  text-decoration: none; letter-spacing: normal; box-shadow: none; cursor: pointer;
  transition: background-color 120ms ease, border-color 120ms ease, transform 120ms cubic-bezier(.23,1,.32,1);
}
.mbaz-dialog button.mbaz-button:disabled { opacity: .35; cursor: default; }
.mbaz-dialog button.mbaz-button[aria-pressed="true"] { background: #f4f1e9; color: #111315; }
.mbaz-dialog button.mbaz-button:active:not(:disabled) { transform: scale(.97); }
.mbaz-dialog button:focus-visible { outline: 2px solid #f0cf9e; outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) {
  .mbaz-dialog button.mbaz-button:hover:not(:disabled) { border-color: #6e7782; background: #353b42; color: #fff; }
}
.mbaz-icon { display: inline-block; font-size: 24px; line-height: 1; font-weight: 400; }
.mbaz-button[data-action="native"] .mbaz-icon { font-size: 17px; }
.mbaz-button-text { font-size: 12px; white-space: nowrap; }
.mbaz-stage { position: relative; flex: 1; min-height: 0; overflow: hidden; touch-action: none; }
.mbaz-workspace { display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);flex:1;min-height:0;min-width:0; }
.mbaz-workspace.mbaz-split { grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:12px; }
.mbaz-inspector { display:flex;flex-direction:column;min-height:0;min-width:0;border:1px solid #41464c;border-radius:10px;overflow:hidden; }
.mbaz-inspector-heading { padding:10px 14px;font-size:11px;letter-spacing:.06em;border-bottom:1px solid #41464c;flex:none; }
.mbaz-detail-image { flex:1;min-height:0;background-color:#080a0c;background-repeat:no-repeat;touch-action:none; }
.mbaz-focus-mark { position:absolute;width:24px;height:24px;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #000b;transform:translate(-50%,-50%);pointer-events:none; }
.mbaz-focus-mark::after { content:"";position:absolute;inset:8px;background:white;border-radius:50%;box-shadow:0 0 0 1px #111; }
.mbaz-stage[aria-busy="true"]::after { content: ""; position: absolute; inset: 50% auto auto 50%; width: 24px; height: 24px; margin: -12px; border: 2px solid #5a6068; border-top-color: #fff; border-radius: 50%; animation: mbaz-loading 700ms linear infinite; }
@keyframes mbaz-loading { to { transform: rotate(360deg); } }
.mbaz-dialog img.mbaz-image { position: absolute; left: 50%; top: 50%; max-width: none !important; max-height: none !important; min-width: 0; margin: 0; border: 0; border-radius: 0; object-fit: contain; transform-origin: center; user-select: none; -webkit-user-drag: none; pointer-events: none; image-rendering: auto; }
.mbaz-can-pan { cursor: grab; }
.mbaz-can-pan:active { cursor: grabbing; }
.mbaz-lens { position: fixed; z-index: 2147483646; pointer-events: none; border-radius: 50%; border: 2px solid rgb(255 255 255 / 85%); background-repeat: no-repeat; background-origin:border-box; background-color: #111315; box-shadow: 0 0 0 1px rgb(0 0 0 / 50%), 0 12px 40px rgb(0 0 0 / 35%); }
.mbaz-dialog > .mbaz-lens { position: absolute; z-index: 5; }
.mbaz-lens { overflow: hidden; }
.mbaz-lens[data-renderer="original-crop"] { background-image: none !important; }
.mbaz-lens > canvas.mbaz-lens-surface { position: absolute; left: -2px; top: -2px; display: block; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; pointer-events: none; }
.mbaz-lens > canvas.mbaz-lens-surface[hidden] { display: none !important; }
.mbaz-dialog button.mbaz-mini { position: absolute; right: 20px; bottom: 20px; display: block; width: 128px; height: 96px; padding: 0; border: 0; border-radius: 4px; overflow: hidden; background: #030405; box-shadow: 0 0 0 1px #687078, 0 4px 20px #0008; cursor: crosshair; touch-action: manipulation; }
.mbaz-mini img.mbaz-mini-image { display: block; width: 100%; height: 100%; max-width: none; object-fit: contain; opacity: .75; border: 0; border-radius: 0; }
.mbaz-mini-window { display: block; position: absolute; border: 1.5px solid #fff; background: rgb(255 255 255 / 14%); pointer-events: none; }
.mbaz-bottom { padding: 12px 20px max(12px, env(safe-area-inset-bottom)); border-top: 1px solid #2c3034; flex: none; }
.mbaz-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; }
.mbaz-control-group { background: var(--mbaz-panel); padding: 3px; border: 1px solid var(--mbaz-line); border-radius: 12px; }
.mbaz-scale { display: block; min-width: 52px; text-align: center; color: #eee; font-size: 13px; font-variant-numeric: tabular-nums; }
.mbaz-status { min-height: 18px; margin-top: 9px; color: #b9c0c8; font-size: 11px; text-align: center; }
.mbaz-error { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 24px; text-align: center; }
.mbaz-gallery { display: grid; grid-template-columns: repeat(var(--mbaz-columns, 3), minmax(0, 1fr)); gap: 16px; }
.mbaz-gallery a { display: block; }
.mbaz-gallery img { width: 100%; height: auto; display: block; }
@media (max-width: 600px) {
  .mbaz-workspace.mbaz-split { grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:8px; }
  .mbaz-top { padding: max(10px, env(safe-area-inset-top)) 12px 10px; gap: 8px; }
  .mbaz-title { font-size: 11px; max-height: 48px; overflow: auto; }
  .mbaz-top-buttons { gap: 0; }
  .mbaz-dialog .mbaz-top-buttons .mbaz-button { padding: 8px; }
  .mbaz-bottom { padding: 8px 8px max(8px, env(safe-area-inset-bottom)); }
  .mbaz-tools { gap: 6px; }
  .mbaz-control-group { padding: 1px; gap: 0; }
  .mbaz-dialog button.mbaz-button { padding: 8px; }
  .mbaz-button-text { display: none; }
  .mbaz-scale { min-width: 42px; }
  .mbaz-status { font-size: 10px; }
  .mbaz-dialog button.mbaz-mini { width: 88px; height: 66px; right: 12px; bottom: 12px; }
  .mbaz-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  .mbaz-dialog button.mbaz-button { transition: none; }
  .mbaz-dialog button.mbaz-button:active:not(:disabled) { transform: none; }
  .mbaz-stage[aria-busy="true"]::after { animation: none; border-color: #d4d8dd; }
}
/* Touch gestures stay inside Elementor's existing image area. */
.elementor-lightbox.mbaz-touch-enabled .swiper-zoom-container,
.elementor-lightbox.mbaz-touch-enabled .elementor-lightbox-image { touch-action: none; }
.elementor-lightbox.mbaz-touch-enabled button.mbaz-touch-zoom { appearance:none; display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; max-width:190px; padding:8px 14px; margin-inline-end:auto; border:1px solid #ffffff70; border-radius:999px; color:#fff; background:#151817e8; font:500 14px/1.2 system-ui,sans-serif; cursor:pointer; touch-action:manipulation; }
.elementor-lightbox button.mbaz-touch-zoom[hidden] { display:none !important; }
.elementor-lightbox.mbaz-touch-enabled button.mbaz-touch-zoom:focus-visible { outline:2px solid #fff; outline-offset:3px; }
.elementor-lightbox.mbaz-touch-enabled button.mbaz-touch-zoom:disabled { opacity:.55; cursor:default; }
.elementor-lightbox.mbaz-touch-enabled .dialog-close-button,
.elementor-lightbox.mbaz-touch-enabled .elementor-slideshow__header [role="switch"] { min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; }

.elementor-lightbox.mbaz-touch-enabled button.mbaz-touch-zoom:active:not(:disabled) { transform:scale(.97); }
@media (prefers-reduced-motion: reduce) {
  .elementor-lightbox.mbaz-touch-enabled .swiper-zoom-container,
  .elementor-lightbox.mbaz-touch-enabled .elementor-lightbox-image { transition-duration:0ms !important; }
}

.elementor-lightbox.mbaz-touch-instant .swiper-zoom-container,
.elementor-lightbox.mbaz-touch-instant .elementor-lightbox-image { transition-duration:0ms !important; }

/* Scoped states outrank Elementor/theme button focus/hover colors. */
.elementor-lightbox.mbaz-touch-enabled button.mbaz-touch-zoom,
.elementor-lightbox.mbaz-touch-enabled button.mbaz-touch-zoom:hover,
.elementor-lightbox.mbaz-touch-enabled button.mbaz-touch-zoom:focus,
.elementor-lightbox.mbaz-touch-enabled button.mbaz-touch-zoom:active { color:#22211f;background:#f4c86a;border-color:#805b16;box-shadow:0 2px 12px #0003; }

/* Informational text in the native toolbar; no click or focus target. */
.elementor-lightbox .mbaz-loupe-hint { display:flex;align-items:center;gap:8px;flex:0 1 auto;min-width:0;max-width:min(340px,calc(100vw - 160px));margin:0;margin-inline-end:auto;padding:6px 0;border:0;border-radius:0;background:transparent;color:var(--lightbox-ui-color,inherit);font-family:inherit;font-size:12px;font-weight:400;line-height:1.4;text-align:start;white-space:normal;pointer-events:none;user-select:none; }
.elementor-lightbox .mbaz-loupe-hint[data-mbaz-style="amber"] { padding:6px 10px;border:1px solid #f4c86a35;border-radius:8px;background:#151817c9;color:#f5e5bf;--mbaz-hint-icon:#f4c86a; }
.elementor-lightbox .mbaz-loupe-hint[hidden] { display:none !important; }
.elementor-lightbox .mbaz-hint-icon { position:relative;display:block;flex:0 0 12px;width:12px;height:12px;margin-inline-end:2px;border:1.5px solid var(--mbaz-hint-icon,currentColor);border-radius:50%;box-sizing:border-box; }
.elementor-lightbox .mbaz-hint-icon::after { content:'';position:absolute;right:-4px;bottom:-2px;width:5px;height:1.5px;background:var(--mbaz-hint-icon,currentColor);transform:rotate(45deg);border-radius:1px; }
