/* Azera Pay: a fine travelling beam, paced independently on each card. */
html.az-portal-enhanced .az-beam-card {
  --az-beam-color: #1689eb;
  --az-beam-opacity: .88;
  --az-beam-glow: rgba(22, 137, 235, .46);
  transition: border-color .25s ease, box-shadow .25s ease;
}
html.az-portal-enhanced:is([data-az-theme="blue"], [data-az-theme="black"]) .az-beam-card {
  --az-beam-color: #28baff;
  --az-beam-opacity: .94;
  --az-beam-glow: rgba(40, 186, 255, .58);
}
html.az-portal-enhanced .az-beam-position { position: relative; }
html.az-portal-enhanced .az-card-beam {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  overflow: visible;
  pointer-events: none;
  user-select: none;
  z-index: 2;
  opacity: var(--az-beam-opacity);
  filter: drop-shadow(0 0 1.2px var(--az-beam-glow)) drop-shadow(0 0 3.2px color-mix(in srgb, var(--az-beam-glow) 42%, transparent));
  shape-rendering: geometricPrecision;
}
html.az-portal-enhanced .az-card-beam rect {
  width: calc(100% - 1px);
  height: calc(100% - 1px);
  fill: none;
  stroke: var(--az-beam-color);
  stroke-width: .36;
  vector-effect: non-scaling-stroke;
  stroke-linecap: round;
  animation-name: az-card-orbit;
  animation-duration: var(--az-beam-duration, 5.8s);
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: var(--az-beam-direction, normal);
  animation-delay: var(--az-beam-delay, 0s);
  animation-play-state: running;
  will-change: stroke-dashoffset;
}
html.az-portal-enhanced .az-card-beam .az-beam-trail { stroke-dasharray: 62 938; opacity: .08; }
html.az-portal-enhanced .az-card-beam .az-beam-mid { stroke-dasharray: 31 969; opacity: .24; stroke-width: .48; }
html.az-portal-enhanced .az-card-beam .az-beam-head { stroke-dasharray: 11 989; opacity: .96; stroke-width: .72; }
html.az-portal-enhanced .az-beam-visible > .az-card-beam rect { animation-play-state: running; }
html.az-portal-enhanced.az-motion-paused .az-card-beam rect { animation-play-state: paused; }
html.az-portal-enhanced .az-beam-card:hover {
  border-color: color-mix(in srgb, var(--az-beam-color) 36%, var(--az-stroke));
}
html.az-portal-enhanced .az-direct-pix-icon {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--az-beam-color) 12%, transparent);
  color: var(--az-beam-color);
  flex: 0 0 auto;
}
html.az-portal-enhanced .az-direct-pix-icon .icon { width: 21px; height: 21px; }
@keyframes az-card-orbit { from { stroke-dashoffset: 0; } to { stroke-dashoffset: -1000; } }
@media (prefers-reduced-motion: reduce) {
  html.az-portal-enhanced .az-card-beam { display: none; }
  html.az-portal-enhanced .az-beam-card { transition: none; }
}

/* The supplied campaign files are 2048×512 (4:1). Keep every slide in that
   same shallow frame so the artwork is visible without vertical cropping. */
@media (min-width: 761px) {
  html.az-portal-enhanced .az-hero-carousel { aspect-ratio: 4 / 1 !important; }
  html.az-portal-enhanced .az-hero-carousel .az-campaign-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    background: #071a43;
  }
}
@media (max-width: 760px) {
  html.az-portal-enhanced .az-hero-carousel { aspect-ratio: 3 / 1 !important; }
  html.az-portal-enhanced .az-hero-carousel .az-campaign-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    background: #071a43;
  }
}

/* Campaign artwork is intentionally shown in a lower 4:1 frame on desktop.
   The image keeps its natural proportions; excess vertical canvas is cropped,
   never scaled non-uniformly. */
@media (min-width: 761px) {
  html.az-portal-enhanced .az-hero-carousel {
    aspect-ratio: 4 / 1;
    max-height: none !important;
    min-height: 0 !important;
  }
  html.az-portal-enhanced .az-hero-carousel .az-hero-slides,
  html.az-portal-enhanced .az-hero-carousel .az-hero-slide {
    position: absolute !important;
    inset: 0 !important;
    height: auto !important;
    min-height: 0 !important;
  }
  html.az-portal-enhanced .az-hero-carousel .az-hero-slide {
    transform: none !important;
  }
  html.az-portal-enhanced .az-hero-carousel .az-campaign-image {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center center;
  }
  /* This campaign carries a wordmark at the very top and its policy copy lower down.
     Preserve the supplied safety artwork in full instead of cropping either end. */
  html.az-portal-enhanced .az-hero-carousel [data-az-slide="2"] {
    background: #061a4a !important;
  }
  html.az-portal-enhanced .az-hero-carousel [data-az-slide="2"] .az-campaign-image {
    object-fit: contain !important;
    object-position: center center;
    background: #061a4a;
  }
}

/* The legacy page moves only the child-safety panel when it becomes active.
   Keep its visual controls in the same visible frame. */
html.az-portal-enhanced .az-hero-carousel.az-hero-frame-aligned .az-hero-arrow { transform: translateY(calc(-50% + var(--az-carousel-frame-offset))) !important; }
html.az-portal-enhanced .az-hero-carousel.az-hero-frame-aligned .az-hero-dots { transform: translate(-50%, var(--az-carousel-frame-offset)) !important; }
html.az-portal-enhanced .az-hero-collapse { position:absolute; top:10px; right:10px; z-index:6; display:grid; place-items:center; width:28px; height:28px; padding:0; border:1px solid #79b9ff70; border-radius:8px; background:#06182dcc; color:#fff; cursor:pointer; transition:background .16s ease,transform .16s ease; }
html.az-portal-enhanced .az-hero-collapse:hover { background:#1574d9; transform:translateY(-1px); }
html.az-portal-enhanced .az-hero-collapse svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; transition:transform .2s ease; }
html.az-portal-enhanced .az-hero-collapsed { min-height:48px !important; height:48px !important; aspect-ratio:auto !important; margin-bottom:18px; transition:height .22s ease, min-height .22s ease; }
html.az-portal-enhanced .az-hero-collapsed :is(.az-hero-slides,.az-hero-arrow,.az-hero-dots) { display:none !important; }
html.az-portal-enhanced .az-hero-collapsed .az-hero-collapse svg { transform:rotate(180deg); }

/* Resumo: keep entradas and saídas legible without the old oversized mass behind the chart. */
html.az-portal-enhanced .balance-chart .bar-wrap { display:flex; align-items:flex-end; justify-content:center; gap:2px; }
html.az-portal-enhanced .balance-chart .bar-wrap .bar { width: min(12px, 42%); box-shadow:none; border-radius:4px 4px 1px 1px; }
html.az-portal-enhanced .balance-chart .bar-wrap .bar-in { background:linear-gradient(to top, #1677ff, #14c7e8); }
html.az-portal-enhanced .balance-chart .bar-wrap .bar-out { background:linear-gradient(to top, #7b55e8, #ba8cff); }

/* Remove o artefato visual residual do renderer antigo sem esconder os dados. */
html.az-portal-enhanced .balance-chart,
html.az-portal-enhanced .balance-chart::before,
html.az-portal-enhanced .balance-chart::after {
  background-image: none !important;
  box-shadow: none !important;
}
html.az-portal-enhanced .balance-chart .bar {
  box-shadow: none !important;
}

html.az-portal-enhanced .az-sidebar-community {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 38px;
  margin: 6px 4px 12px;
  padding: 9px 10px !important;
  border: 1px solid #28a95a !important;
  border-radius: 9px !important;
  background: linear-gradient(135deg, #24b65d, #138c44) !important;
  color: #fff !important;
  box-shadow: 0 8px 18px #128d4430;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}
html.az-portal-enhanced .az-sidebar-community:hover { background: #15994a !important; color: #fff !important; }
html.az-portal-enhanced .az-sidebar-community svg { width: 17px; height: 17px; flex: none; }
html.az-portal-enhanced.az-sidebar-collapsed .az-sidebar-community { width: 42px; min-height: 42px; margin: 7px auto 12px; padding: 0 !important; }
html.az-portal-enhanced.az-sidebar-collapsed .az-sidebar-community span { display: none; }
html.az-portal-enhanced .az-med-balance .metric-icon { display: grid; place-items: center; border-color: #2a85e5 !important; background: linear-gradient(135deg, #143d73, #0f2647) !important; color: #65c7ff !important; }
html.az-portal-enhanced .az-med-balance .metric-icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
