/* Shared image overlays: opaque surfaces keep contrast independent of photography. */
.wf-supplier-badges {
  position: absolute;
  z-index: 4;
  top: 12px;
  left: 12px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
  max-width: calc(100% - 24px);
  pointer-events: none;
}
.wf-supplier-badge {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  max-width: 100%;
  padding: 5px 9px;
  border: 1px solid var(--wf-cinema-line-strong, rgba(255,255,255,.24));
  border-radius: 999px;
  background: var(--wf-cinema-panel-solid, #16181b);
  color: var(--wf-cinema-text, #f7f7f5);
  box-shadow: 0 2px 8px rgba(0,0,0,.22);
  font: 650 12px/1.25 var(--wf-cinema-font, 'Segoe UI', system-ui, sans-serif);
  white-space: nowrap;
}
.wf-supplier-badge svg {
  width: 16px;
  height: 16px;
  flex: none;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.wf-supplier-badge--offer {
  background: var(--wf-cinema-accent, #e0b86f);
  color: var(--wf-cinema-on-accent, #171008);
  border-color: var(--wf-cinema-gold-strong, #c99743);
}
.wf-supplier-badge--expert { background: #12352f; }
.card-media > .wf-supplier-badges { max-width: calc(100% - 82px); }
/* Keep the previous-image button below the complete three-badge stack. */
.card-media:has(.wf-supplier-badges) .gallery-arrow { top: auto; bottom: 12px; transform: none; }
/* Hero text starts below highlights even when photography/flags arrive separately. */
.profile .hero:has(.wf-supplier-badges) .hero-content {
  padding-top: calc(36px + var(--supplier-badge-count, 0) * 33px);
}
