/* Todos os estilos ficam restritos ao visualizador e às imagens marcadas. */
.econet-zoom.ezp-ready a,
.econet-zoom.ezp-ready img { cursor: pointer !important; }
/* Oculta também algum botão antigo que tenha permanecido em HTML em cache. */
.econet-zoom .ezp-launch-wrap,
.econet-zoom .ezp-media-meta { display: none !important; }
.econet-zoom.ezp-ready a:focus-visible,
.econet-zoom.ezp-ready img[tabindex="0"]:focus-visible,
#econet-zoom-dialog button:focus-visible,
#econet-zoom-dialog a:focus-visible,
#econet-zoom-dialog .ezp-stage:focus-visible { outline: 3px solid #1570a8; outline-offset: 3px; }

#econet-zoom-dialog, #econet-zoom-dialog * { box-sizing: border-box; }
#econet-zoom-dialog {
  position: fixed; inset: 0; margin: auto; padding: 0;
  width: min(1440px, calc(100vw - 32px)); max-width: none;
  height: min(960px, calc(100vh - 32px));
  height: min(960px, calc(100dvh - 32px)); max-height: none;
  border: 1px solid #dce5ec; border-radius: 16px; overflow: hidden;
  background: #fff; color: #153b56; box-shadow: 0 24px 90px #0005;
  font: 400 16px/1.45 system-ui, -apple-system, "Segoe UI", sans-serif;
  text-align: left; overscroll-behavior: contain;
}
#econet-zoom-dialog:not([open]) { display: none; }
#econet-zoom-dialog[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; }
#econet-zoom-dialog::backdrop { background: rgba(3, 19, 32, .84); }
#econet-zoom-dialog .ezp-header {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  padding: 12px 18px; border-bottom: 1px solid #dce5ec; background: #fff;
}
#econet-zoom-dialog .ezp-heading { flex: 1; min-width: 0; }
#econet-zoom-dialog .ezp-title { display: block; font-size: 18px; line-height: 1.35; font-weight: 700; overflow-wrap: anywhere; }
#econet-zoom-dialog button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; flex-shrink: 0; margin: 0; padding: 10px 18px;
  border: 1px solid #b9cdda; border-radius: 9px; background: #f1f6fa;
  color: #05466b; box-shadow: none; font: 650 16px/1.25 system-ui, -apple-system, "Segoe UI", sans-serif;
  letter-spacing: normal; text-transform: none; text-decoration: none; cursor: pointer;
}
#econet-zoom-dialog button:hover:not(:disabled) { background: #dcecf5; color: #05466b; }
#econet-zoom-dialog button[data-ezp="in"] { background: #1570a8; border-color: #1570a8; color: #fff; }
#econet-zoom-dialog button[data-ezp="in"]:hover:not(:disabled) { background: #05466b; border-color: #05466b; color: #fff; }
#econet-zoom-dialog button:disabled { opacity: .45; cursor: not-allowed; }
#econet-zoom-dialog button.ezp-close { min-height: 44px; padding: 8px 12px; font-size: 14px; }
#econet-zoom-dialog .ezp-symbol { font-size: 25px; line-height: 1; font-weight: 500; }
#econet-zoom-dialog .ezp-stage {
  position: relative; min-width: 0; min-height: 0; overflow: hidden;
  background: #edf2f6; touch-action: none; overscroll-behavior: contain;
  user-select: none; -webkit-user-select: none; outline-offset: -4px;
}
#econet-zoom-dialog .ezp-stage.ezp-can-pan { cursor: grab; }
#econet-zoom-dialog .ezp-stage.ezp-dragging { cursor: grabbing; }
#econet-zoom-dialog img.ezp-image {
  position: absolute; top: 0; left: 0; display: block; margin: 0; padding: 0;
  width: var(--ezp-image-width, 0px) !important; height: var(--ezp-image-height, 0px) !important;
  max-width: none !important; max-height: none !important; min-width: 0; min-height: 0;
  border: 0; border-radius: 0; object-fit: contain; transform-origin: 0 0;
  box-shadow: 0 1px 8px #1232; pointer-events: none; will-change: transform;
}
#econet-zoom-dialog img.ezp-image[hidden] { display: none !important; }
#econet-zoom-dialog img.ezp-image.ezp-animate { transition: transform 160ms ease-out; }
#econet-zoom-dialog .ezp-status {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  margin: 0; padding: 30px; text-align: center; font-size: 16px; color: #153b56;
}
#econet-zoom-dialog .ezp-status[hidden] { display: none; }
#econet-zoom-dialog .ezp-footer {
  padding: 14px 18px; border-top: 1px solid #dce5ec; background: #fff;
}
#econet-zoom-dialog .ezp-controls {
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 12px;
}
#econet-zoom-dialog .ezp-zoom-group { display: inline-flex; align-items: center; gap: 8px; }
#econet-zoom-dialog .ezp-percent {
  display: inline-block; min-width: 72px; margin: 0; padding: 0 3px; background: none;
  color: #05466b; font-size: 20px; line-height: 1.3; font-weight: 750; text-align: center;
  font-variant-numeric: tabular-nums;
}
#econet-zoom-dialog .ezp-help { margin: 10px 0 0; color: #3d5667; font-size: 14px; text-align: center; }
#econet-zoom-dialog .ezp-note { margin: 5px 0 0; color: #576b78; font-size: 12px; text-align: center; }
#econet-zoom-dialog a.ezp-original { color: #05466b; text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 600px) {
  #econet-zoom-dialog {
    width: 100%; height: 100vh; height: 100dvh; border: 0; border-radius: 0;
  }
  #econet-zoom-dialog .ezp-header { padding: max(10px, env(safe-area-inset-top)) 12px 10px; gap: 8px; }
  #econet-zoom-dialog .ezp-title { font-size: 16px; }
  #econet-zoom-dialog .ezp-footer { padding: 12px 10px max(12px, env(safe-area-inset-bottom)); }
  #econet-zoom-dialog .ezp-controls { gap: 8px; }
  #econet-zoom-dialog .ezp-zoom-group { gap: 5px; }
  #econet-zoom-dialog button { min-height: 46px; padding: 10px 13px; font-size: 14px; gap: 6px; }
  #econet-zoom-dialog .ezp-percent { min-width: 60px; font-size: 18px; }
  #econet-zoom-dialog button[data-ezp="reset"] { min-height: 42px; }
  #econet-zoom-dialog .ezp-help { margin-top: 8px; font-size: 13px; }
  #econet-zoom-dialog .ezp-note { font-size: 11px; }
}
@media (max-height: 450px) {
  #econet-zoom-dialog .ezp-header { padding-top: 5px; padding-bottom: 5px; }
  #econet-zoom-dialog .ezp-footer { padding-top: 6px; padding-bottom: 6px; }
  #econet-zoom-dialog .ezp-help { margin-top: 4px; }
  #econet-zoom-dialog .ezp-note { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  #econet-zoom-dialog img.ezp-image.ezp-animate { transition: none; }
}

/* Galerias 1.1.0: setas em faixas laterais, sem cobrir a imagem. */
#econet-zoom-dialog .ezp-count {
  flex: none; display: inline-block; padding: 5px 10px; border: 1px solid #dce5ec;
  border-radius: 999px; background: #f1f6fa; color: #05466b;
  font: 650 14px/1.3 system-ui, -apple-system, "Segoe UI", sans-serif;
  font-variant-numeric: tabular-nums; white-space: nowrap;
}
#econet-zoom-dialog .ezp-viewer {
  display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; min-height: 0;
  background: #edf2f6; overflow: hidden;
}
#econet-zoom-dialog.ezp-has-gallery .ezp-viewer { grid-template-columns: 64px minmax(0, 1fr) 64px; }
#econet-zoom-dialog button.ezp-nav {
  align-self: center; justify-self: center; width: 48px; height: 48px; min-height: 48px;
  padding: 0; border: 1px solid #aac6d8; border-radius: 50%; background: #fff;
  color: #05466b; box-shadow: 0 2px 8px #05466b14; touch-action: manipulation;
}
#econet-zoom-dialog button.ezp-nav:hover { background: #1570a8; border-color: #1570a8; color: #fff; }
#econet-zoom-dialog .ezp-nav svg { width: 24px; height: 24px; display: block; flex: none; pointer-events: none; }
#econet-zoom-dialog .ezp-nav[hidden],
#econet-zoom-dialog .ezp-count[hidden] { display: none !important; }
@media (max-width: 600px) {
  #econet-zoom-dialog.ezp-has-gallery .ezp-viewer { grid-template-columns: 48px minmax(0, 1fr) 48px; }
  #econet-zoom-dialog button.ezp-nav { width: 44px; height: 44px; min-height: 44px; }
  #econet-zoom-dialog .ezp-count { padding: 4px 7px; font-size: 12px; }
  #econet-zoom-dialog.ezp-has-gallery .ezp-header { gap: 8px; }
}

/* Compatibilidade móvel: toque direto na imagem, sem exigir link auxiliar. */
.econet-zoom.ezp-ready img,
.econet-zoom.ezp-ready a { touch-action: manipulation; -webkit-tap-highlight-color: rgba(21,112,168,.15); }
#econet-zoom-dialog.ezp-fallback {
  z-index: 2147483000;
  box-shadow: 0 0 0 100vmax rgba(3,19,32,.84), 0 24px 90px #0005;
}
@media (max-width: 600px) {
  #econet-zoom-dialog .ezp-stage { touch-action: none !important; }
  #econet-zoom-dialog .ezp-viewer { min-height: 0; }
  #econet-zoom-dialog .ezp-footer { flex-shrink: 0; }
}
