.gbbi-showcase {
  --gbbi-showcase-columns: 5;
  --gbbi-showcase-gap: 12px;
  --gbbi-showcase-arrow-size: 38px;
  --gbbi-compact-image-width: 118px;
  --gbbi-compact-image-height: 68px;
  position: relative;
  width: 100%;
  min-width: 0;
  color: var(--gbbi-text, #202124);
  font-family: var(--gb-font-body, var(--e-global-typography-text-font-family, "Inter")), sans-serif;
}

.gbbi-showcase,
.gbbi-showcase * { box-sizing: border-box; }

.gbbi-showcase__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin: 0 0 14px;
}

.gbbi-showcase__copy { min-width: 0; }

.gbbi-showcase__title {
  margin: 0;
  color: #202124;
  font-family: var(--gb-font-heading, var(--e-global-typography-primary-font-family, "Open Sans")), sans-serif;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.2;
}

.gbbi-showcase__subtitle {
  margin: 4px 0 0;
  color: #667085;
  font-size: 14px;
  line-height: 1.4;
}

.gbbi-showcase__actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
}

.gbbi-showcase__all {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #A72E2C;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}

.gbbi-showcase__all:hover,
.gbbi-showcase__all:focus-visible { text-decoration: underline; }

.gbbi-showcase__carousel-shell {
  position: relative;
  width: 100%;
  min-width: 0;
}

.gbbi-showcase--has-arrows .gbbi-showcase__carousel-shell { padding-inline: 18px; }

.gbbi-showcase__viewport {
  width: 100%;
  min-width: 0;
  outline-offset: 4px;
}

.gbbi-showcase__items {
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  gap: var(--gbbi-showcase-gap) !important;
}

/* Grade e carrossel usam cards compactos e isolados do grid global da busca. */
.gbbi-showcase--grid .gbbi-showcase__items--grid {
  display: grid !important;
  grid-template-columns: repeat(var(--gbbi-showcase-columns), minmax(0, 1fr)) !important;
  align-items: start;
}

.gbbi-showcase--carousel .gbbi-showcase__viewport {
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.gbbi-showcase--carousel .gbbi-showcase__viewport::-webkit-scrollbar { display: none; }

.gbbi-showcase--carousel .gbbi-showcase__items--carousel {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: flex-start;
  width: max-content;
  min-width: 100%;
}

.gbbi-showcase--carousel .gbbi-showcase__items--carousel > .gbbi-card {
  flex: 0 0 var(--gbbi-showcase-card-width, 280px);
  width: var(--gbbi-showcase-card-width, 280px);
  max-width: var(--gbbi-showcase-card-width, 280px);
  min-width: 0;
  scroll-snap-align: start;
  scroll-snap-stop: normal;
}

.gbbi-showcase--draggable.is-scrollable .gbbi-showcase__viewport {
  cursor: grab;
  touch-action: pan-y pinch-zoom;
}

.gbbi-showcase--draggable.is-dragging .gbbi-showcase__viewport {
  cursor: grabbing;
  scroll-snap-type: none;
  user-select: none;
}

/* Card compacto para grade e carrossel. */
.gbbi-showcase .gbbi-card {
  align-self: start;
  min-width: 0;
  height: auto;
  margin: 0 !important;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(16, 24, 40, .06);
}

.gbbi-showcase .gbbi-card__media { flex: 0 0 auto; }

.gbbi-showcase .gbbi-card__body {
  display: flex;
  flex: 0 0 auto;
  min-height: 0;
  flex-direction: column;
  padding: 9px 9px 8px !important;
}

.gbbi-showcase .gbbi-card__content {
  display: flex;
  min-width: 0;
  min-height: 0 !important;
  flex: 0 0 auto;
  flex-direction: column;
}

.gbbi-showcase .gbbi-card__title {
  min-width: 0;
  margin: 0 !important;
  font-size: 14px;
  line-height: 1.22;
}

.gbbi-showcase .gbbi-card__title > span:first-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gbbi-showcase .gbbi-card__address {
  min-height: 0 !important;
  margin: 4px 0 0 !important;
  font-size: 11px;
  line-height: 1.3;
}

.gbbi-showcase .gbbi-card__address span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gbbi-showcase .gbbi-card__segments {
  display: flex;
  min-width: 0;
  max-width: 100%;
  height: 22px;
  flex-wrap: nowrap;
  align-items: center;
  gap: 3px;
  overflow: hidden;
  margin-top: 5px !important;
}

.gbbi-showcase .gbbi-card__segments > * { flex: 0 0 auto; }

.gbbi-showcase .gbbi-card__segments .gbbi-segment-chip {
  min-height: 18px;
  padding: 2px 6px;
  font-size: 9px;
  line-height: 1.15;
}

.gbbi-showcase .gbbi-card__footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
  margin-top: 5px !important;
  padding-top: 6px !important;
  border-top: 1px dashed #EAECF0;
}

.gbbi-showcase .gbbi-card__route-slot,
.gbbi-showcase .gbbi-card__route-slot:not(:empty) {
  min-width: 0;
  margin: 0;
}

/* Setas fora da área útil dos cards, sem cobrir imagens ou textos. */
.gbbi-showcase__arrow {
  position: absolute;
  top: 50%;
  z-index: 20;
  display: grid;
  width: var(--gbbi-showcase-arrow-size);
  height: var(--gbbi-showcase-arrow-size);
  place-items: center;
  padding: 0;
  border: 1px solid #E4E7EC;
  border-radius: 999px;
  background: #FFF;
  color: #344054;
  box-shadow: 0 4px 14px rgba(16, 24, 40, .14);
  cursor: pointer;
  transform: translateY(-50%);
  transition: border-color .18s ease, color .18s ease, opacity .18s ease, background .18s ease;
}

.gbbi-showcase__arrow svg {
  display: block !important;
  width: 20px !important;
  height: 20px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.gbbi-showcase__arrow--prev { left: 0; }
.gbbi-showcase__arrow--next { right: 0; }

.gbbi-showcase__arrow:hover,
.gbbi-showcase__arrow:focus-visible {
  border-color: #C55553;
  background: #FFF9F9;
  color: #A72E2C;
}

.gbbi-showcase__arrow:disabled { opacity: .28; cursor: default; }
.gbbi-showcase__arrow[hidden],
.gbbi-showcase__pagination[hidden] { display: none !important; }

.gbbi-showcase__pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
}

.gbbi-showcase__dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #D0D5DD;
  cursor: pointer;
  transition: width .18s ease, background .18s ease;
}

.gbbi-showcase__dot:hover,
.gbbi-showcase__dot:focus-visible { background: #98A2B3; }
.gbbi-showcase__dot.is-active { width: 24px; background: #C55553; }

.gbbi-showcase__empty {
  padding: 28px;
  border: 1px dashed #D0D5DD;
  border-radius: 12px;
  background: #FCFCFD;
  color: #667085;
  text-align: center;
}

/* Lista compacta: imagem, nome, endereço e botão de roteiro. */
.gbbi-showcase--compact-list,
.gbbi-showcase--compact_list {
  --gbbi-compact-image-width: 118px;
  --gbbi-compact-image-height: 68px;
}

.gbbi-showcase--compact-list .gbbi-showcase__viewport,
.gbbi-showcase--compact_list .gbbi-showcase__viewport { overflow: visible; }

.gbbi-showcase__items--compact {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  overflow: hidden;
  border: 1px solid #E4E7EC;
  border-radius: 12px;
  background: #FFF;
}

.gbbi-showcase .gbbi-compact-store {
  display: grid !important;
  grid-template-columns: minmax(84px, var(--gbbi-compact-image-width)) minmax(0, 1fr) auto !important;
  align-items: center;
  gap: 10px;
  min-width: 0;
  width: 100%;
  min-height: calc(var(--gbbi-compact-image-height) + 14px);
  margin: 0 !important;
  padding: 7px 8px !important;
  border: 0 !important;
  border-bottom: 1px solid #EAECF0 !important;
  border-radius: 0 !important;
  background: #FFF;
  box-shadow: none !important;
  cursor: pointer;
  outline: none;
  transition: background .18s ease, box-shadow .18s ease;
}

.gbbi-showcase .gbbi-compact-store:last-child { border-bottom: 0 !important; }
.gbbi-showcase .gbbi-compact-store:hover { background: #FCFCFD; }
.gbbi-showcase .gbbi-compact-store:focus-visible {
  position: relative;
  z-index: 2;
  box-shadow: inset 0 0 0 3px rgba(167, 46, 44, .16) !important;
}

.gbbi-compact-store__media {
  width: 100%;
  height: var(--gbbi-compact-image-height);
  overflow: hidden;
  border: 1px solid #EAECF0;
  border-radius: 8px;
  background: #F2F4F7;
}

.gbbi-compact-store__image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
}

.gbbi-compact-store__placeholder {
  display: grid;
  width: 100%;
  height: 100%;
  place-content: center;
  gap: 2px;
  color: #98A2B3;
  text-align: center;
}

.gbbi-compact-store__placeholder b { font-size: 11px; }
.gbbi-compact-store__placeholder small { font-size: 9px; }

.gbbi-compact-store__content {
  min-width: 0;
  align-self: center;
}

.gbbi-compact-store__title {
  display: block;
  min-width: 0;
  margin: 0 !important;
  color: #202124;
  font-family: var(--gb-font-heading, var(--e-global-typography-primary-font-family, "Open Sans")), sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.22;
}

.gbbi-compact-store__title > span:first-child {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gbbi-compact-store__address {
  display: block;
  min-width: 0;
  margin: 4px 0 0 !important;
  color: #667085;
  font-size: 11px;
  line-height: 1.25;
}

.gbbi-compact-store__address span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gbbi-compact-store__actions {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
}

.gbbi-compact-store__route-slot {
  display: flex;
  width: auto;
  min-width: 0;
  justify-content: flex-end;
}

.gbbi-compact-store__route-slot:empty { display: none; }
.gbbi-compact-store__route-slot > * { max-width: 100%; margin: 0 !important; }

/* Elementos não pertencentes à lista compacta são ocultados mesmo em HTML legado/cacheado. */
.gbbi-showcase--compact-list .gbbi-compact-store__segments,
.gbbi-showcase--compact-list .gbbi-compact-store__profiles,
.gbbi-showcase--compact-list .gbbi-compact-store__fitting,
.gbbi-showcase--compact_list .gbbi-compact-store__segments,
.gbbi-showcase--compact_list .gbbi-compact-store__profiles,
.gbbi-showcase--compact_list .gbbi-compact-store__fitting { display: none !important; }

@media (max-width: 1024px) {
  .gbbi-showcase__title { font-size: 21px; }
}

@media (max-width: 767px) {
  .gbbi-showcase__head { align-items: flex-start; }
  .gbbi-showcase__actions { flex-wrap: wrap; justify-content: flex-end; }
  .gbbi-showcase__title { font-size: 20px; }
  .gbbi-showcase--has-arrows .gbbi-showcase__carousel-shell { padding-inline: 15px; }
  .gbbi-showcase__arrow { --gbbi-showcase-arrow-size: 32px; }

  .gbbi-showcase .gbbi-compact-store {
    grid-template-columns: min(82px, var(--gbbi-compact-image-width)) minmax(0, 1fr) auto !important;
    gap: 8px;
    padding: 7px !important;
  }

  .gbbi-compact-store__media {
    width: min(82px, var(--gbbi-compact-image-width));
    height: min(62px, var(--gbbi-compact-image-height));
  }

  .gbbi-compact-store__title { font-size: 13px; }
  .gbbi-compact-store__address { font-size: 10px; }
}

@media (max-width: 420px) {
  .gbbi-showcase .gbbi-compact-store {
    grid-template-columns: 76px minmax(0, 1fr) !important;
  }
  .gbbi-compact-store__media { width: 76px; height: 58px; }
  .gbbi-compact-store__actions { grid-column: 2; justify-content: flex-start; margin-top: 2px; }
}

@media (prefers-reduced-motion: reduce) {
  .gbbi-showcase__arrow,
  .gbbi-showcase__dot { transition: none; }
  .gbbi-showcase--carousel .gbbi-showcase__viewport { scroll-behavior: auto; }
}

/* Lista compacta fiel ao componente original.
 * Esta camada fica por último para neutralizar tipografia do tema, Elementor
 * e dimensões !important do botão injetado pelo plugin de Roteiros. */
.gbbi-showcase--compact-list .gbbi-showcase__items--compact,
.gbbi-showcase--compact_list .gbbi-showcase__items--compact {
  gap: 0 !important;
  overflow: visible;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.gbbi-showcase--compact-list .gbbi-compact-store,
.gbbi-showcase--compact_list .gbbi-compact-store {
  grid-template-columns: minmax(96px, var(--gbbi-compact-image-width, 112px)) minmax(0, 1fr) max-content !important;
  gap: 9px !important;
  min-height: 0 !important;
  padding: 8px 0 !important;
  border-bottom: 1px solid #e2e4e8 !important;
  background: transparent !important;
}

.gbbi-showcase--compact-list .gbbi-compact-store:first-child,
.gbbi-showcase--compact_list .gbbi-compact-store:first-child {
  padding-top: 0 !important;
}

.gbbi-showcase--compact-list .gbbi-compact-store:last-child,
.gbbi-showcase--compact_list .gbbi-compact-store:last-child {
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

.gbbi-showcase--compact-list .gbbi-compact-store__media,
.gbbi-showcase--compact_list .gbbi-compact-store__media {
  width: var(--gbbi-compact-image-width, 112px) !important;
  height: var(--gbbi-compact-image-height, 64px) !important;
  align-self: center;
  border: 1px solid #dfe3e8 !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 4px rgba(16, 24, 40, .08);
}

.gbbi-showcase--compact-list .gbbi-compact-store__content,
.gbbi-showcase--compact_list .gbbi-compact-store__content {
  display: flex !important;
  min-width: 0 !important;
  align-self: center;
  flex-direction: column;
  justify-content: center;
  gap: 2px !important;
}

.gbbi-showcase--compact-list .gbbi-compact-store__title,
.gbbi-showcase--compact_list .gbbi-compact-store__title {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #303238 !important;
  font-family: var(--gb-font-body, var(--e-global-typography-text-font-family, "Inter")), Arial, sans-serif !important;
  font-size: 14px !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1.22 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.gbbi-showcase--compact-list .gbbi-compact-store__title > span:first-child,
.gbbi-showcase--compact_list .gbbi-compact-store__title > span:first-child {
  display: -webkit-box !important;
  overflow: hidden !important;
  white-space: normal !important;
  text-overflow: clip !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.gbbi-showcase--compact-list .gbbi-compact-store__address,
.gbbi-showcase--compact_list .gbbi-compact-store__address {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #7a7d84 !important;
  font-family: var(--gb-font-body, var(--e-global-typography-text-font-family, "Inter")), Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.gbbi-showcase--compact-list .gbbi-compact-store__address span,
.gbbi-showcase--compact_list .gbbi-compact-store__address span {
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

.gbbi-showcase--compact-list .gbbi-compact-store__actions,
.gbbi-showcase--compact_list .gbbi-compact-store__actions {
  width: auto !important;
  min-width: 0 !important;
  align-self: center;
  justify-self: end;
}

.gbbi-showcase--compact-list .gbbi-compact-store__route-slot,
.gbbi-showcase--compact_list .gbbi-compact-store__route-slot {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}

.gbbi-showcase--compact-list .gbbi-compact-store__route-slot .gbbi-route-button,
.gbbi-showcase--compact-list .gbbi-compact-store__route-slot .gbr-card-button,
.gbbi-showcase--compact_list .gbbi-compact-store__route-slot .gbbi-route-button,
.gbbi-showcase--compact_list .gbbi-compact-store__route-slot .gbr-card-button {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 29px !important;
  height: 29px !important;
  margin: 0 !important;
  padding: 4px 9px !important;
  gap: 3px !important;
  border-radius: 999px !important;
  font-family: var(--gb-font-body, var(--e-global-typography-text-font-family, "Inter")), Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: nowrap !important;
}

.gbbi-showcase--compact-list .gbbi-compact-store__route-slot .gbr-card-button > span,
.gbbi-showcase--compact_list .gbbi-compact-store__route-slot .gbr-card-button > span {
  font-size: 12px !important;
  line-height: 1 !important;
}

@media (max-width: 767px) {
  .gbbi-showcase--compact-list .gbbi-compact-store,
  .gbbi-showcase--compact_list .gbbi-compact-store {
    grid-template-columns: minmax(84px, min(var(--gbbi-compact-image-width, 104px), 31vw)) minmax(0, 1fr) max-content !important;
    gap: 8px !important;
    padding: 7px 0 !important;
  }

  .gbbi-showcase--compact-list .gbbi-compact-store__media,
  .gbbi-showcase--compact_list .gbbi-compact-store__media {
    width: min(var(--gbbi-compact-image-width, 104px), 31vw) !important;
    height: min(var(--gbbi-compact-image-height, 62px), 19vw) !important;
    min-height: 56px;
  }

  .gbbi-showcase--compact-list .gbbi-compact-store__title,
  .gbbi-showcase--compact_list .gbbi-compact-store__title {
    font-size: 13px !important;
  }

  .gbbi-showcase--compact-list .gbbi-compact-store__route-slot .gbbi-route-button,
  .gbbi-showcase--compact-list .gbbi-compact-store__route-slot .gbr-card-button,
  .gbbi-showcase--compact_list .gbbi-compact-store__route-slot .gbbi-route-button,
  .gbbi-showcase--compact_list .gbbi-compact-store__route-slot .gbr-card-button {
    min-height: 28px !important;
    height: 28px !important;
    padding-inline: 8px !important;
    font-size: 10.5px !important;
  }
}

@media (max-width: 420px) {
  .gbbi-showcase--compact-list .gbbi-compact-store,
  .gbbi-showcase--compact_list .gbbi-compact-store {
    grid-template-columns: 82px minmax(0, 1fr) max-content !important;
  }

  .gbbi-showcase--compact-list .gbbi-compact-store__media,
  .gbbi-showcase--compact_list .gbbi-compact-store__media {
    width: 82px !important;
    height: 56px !important;
  }

  .gbbi-showcase--compact-list .gbbi-compact-store__actions,
  .gbbi-showcase--compact_list .gbbi-compact-store__actions {
    grid-column: auto !important;
    margin-top: 0 !important;
  }
}

/* paridade visual entre vitrines e cards da busca.
 * Reforça a hierarquia tipográfica, restaura os ícones de perfil de venda
 * em grade/carrossel e mantém as setas legíveis sem depender de hover. */

/* Título da loja é a informação primária do card. */
.gbbi-showcase--grid .gbbi-card__title,
.gbbi-showcase--carousel .gbbi-card__title {
  color: #202124 !important;
  font-family: var(--gb-font-body, var(--e-global-typography-text-font-family, "Inter")), Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}

.gbbi-showcase--grid .gbbi-card__title > span:first-child,
.gbbi-showcase--carousel .gbbi-card__title > span:first-child {
  color: inherit !important;
  font-weight: inherit !important;
}

/* O estado do provador é informação auxiliar e não pode competir com o nome. */
.gbbi-showcase--grid .gbbi-card__fitting,
.gbbi-showcase--carousel .gbbi-card__fitting {
  color: #667085 !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
}

.gbbi-showcase--grid .gbbi-card__fitting .gbbi-term-badge--fitting,
.gbbi-showcase--carousel .gbbi-card__fitting .gbbi-term-badge--fitting {
  min-height: 0 !important;
  gap: 4px !important;
  padding: 0 !important;
  color: #667085 !important;
  font-family: var(--gb-font-body, var(--e-global-typography-text-font-family, "Inter")), Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  opacity: .82;
}

.gbbi-showcase--grid .gbbi-card__fitting .gbbi-term-badge--fitting .gbbi-term-badge__label,
.gbbi-showcase--carousel .gbbi-card__fitting .gbbi-term-badge--fitting .gbbi-term-badge__label {
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}

.gbbi-showcase--grid .gbbi-card__fitting .gbbi-term-badge--fitting .gbbi-term-badge__icon,
.gbbi-showcase--carousel .gbbi-card__fitting .gbbi-term-badge--fitting .gbbi-term-badge__icon {
  width: 18px !important;
  height: 18px !important;
  opacity: .72;
}

/* Grade e carrossel exibem os ícones de atacado, varejo e pacote sobre a foto.
 * A regra global da página de busca depende de .gbbi-view-grade, classe que a
 * vitrine não possui; por isso o estado precisa ser declarado aqui. */
.gbbi-showcase--grid .gbbi-card__sales--grid,
.gbbi-showcase--carousel .gbbi-card__sales--grid {
  position: absolute !important;
  right: 7px !important;
  bottom: 7px !important;
  left: 7px !important;
  z-index: 4;
  display: block !important;
  pointer-events: auto;
}

.gbbi-showcase--grid .gbbi-card__sales--grid .gbbi-card__profile-badges,
.gbbi-showcase--carousel .gbbi-card__sales--grid .gbbi-card__profile-badges {
  position: static !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 4px !important;
  pointer-events: auto;
}

.gbbi-showcase--grid .gbbi-card__sales--list,
.gbbi-showcase--carousel .gbbi-card__sales--list,
.gbbi-showcase--compact-list .gbbi-card__sales,
.gbbi-showcase--compact_list .gbbi-card__sales {
  display: none !important;
}

/* Os ícones permanecem visíveis no estado normal e expandem o rótulo somente
 * em hover/foco, como nos cards da busca principal. */
.gbbi-showcase--grid .gbbi-card__profile-badges .gbbi-term-badge--profile,
.gbbi-showcase--carousel .gbbi-card__profile-badges .gbbi-term-badge--profile {
  display: inline-flex !important;
  max-width: var(--gbbi-profile-badge-icon-size, 24px) !important;
  height: var(--gbbi-profile-badge-icon-size, 24px) !important;
  overflow: hidden !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.gbbi-showcase--grid .gbbi-card__profile-badges .gbbi-term-badge--profile .gbbi-term-badge__icon,
.gbbi-showcase--carousel .gbbi-card__profile-badges .gbbi-term-badge--profile .gbbi-term-badge__icon {
  display: block !important;
  width: var(--gbbi-profile-badge-icon-size, 24px) !important;
  height: var(--gbbi-profile-badge-icon-size, 24px) !important;
  flex: 0 0 var(--gbbi-profile-badge-icon-size, 24px) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Setas sempre legíveis. Alguns estilos globais de botão do tema alteravam
 * currentColor e deixavam apenas o círculo branco até o hover. */
.gbbi-showcase .gbbi-showcase__arrow,
.gbbi-showcase .gbbi-showcase__arrow:not(:hover):not(:focus-visible) {
  color: #344054 !important;
  opacity: 1;
  visibility: visible;
}

.gbbi-showcase .gbbi-showcase__arrow svg,
.gbbi-showcase .gbbi-showcase__arrow svg path,
.gbbi-showcase .gbbi-showcase__arrow:not(:hover):not(:focus-visible) svg,
.gbbi-showcase .gbbi-showcase__arrow:not(:hover):not(:focus-visible) svg path {
  display: block !important;
  fill: none !important;
  stroke: #344054 !important;
  stroke-width: 2.25 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.gbbi-showcase .gbbi-showcase__arrow:hover,
.gbbi-showcase .gbbi-showcase__arrow:focus-visible {
  color: #A72E2C !important;
}

.gbbi-showcase .gbbi-showcase__arrow:hover svg path,
.gbbi-showcase .gbbi-showcase__arrow:focus-visible svg path {
  stroke: #A72E2C !important;
}

.gbbi-showcase .gbbi-showcase__arrow:disabled {
  opacity: .28;
}


/* hover dos tipos de venda idêntico ao card da busca.
 * A versão anterior fixava max-width e height com !important apenas no estado
 * fechado. No hover, o padding era aplicado dentro dessa caixa de 24 px e o
 * flexbox acabava comprimindo/recortando a arte do ícone. O chip agora cresce
 * como unidade, enquanto a imagem mantém exatamente o mesmo tamanho. */
.gbbi-showcase--grid .gbbi-card__profile-badges,
.gbbi-showcase--carousel .gbbi-card__profile-badges {
  overflow: visible !important;
}

.gbbi-showcase--grid .gbbi-card__profile-badges .gbbi-term-badge--profile,
.gbbi-showcase--carousel .gbbi-card__profile-badges .gbbi-term-badge--profile {
  flex: 0 0 auto !important;
  min-width: var(--gbbi-profile-badge-icon-size, 24px) !important;
  width: var(--gbbi-profile-badge-icon-size, 24px) !important;
  max-width: var(--gbbi-profile-badge-icon-size, 24px) !important;
  min-height: var(--gbbi-profile-badge-icon-size, 24px) !important;
  height: var(--gbbi-profile-badge-icon-size, 24px) !important;
  gap: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  transition: width .2s ease, max-width .2s ease, gap .2s ease, padding .2s ease, background-color .2s ease, box-shadow .2s ease !important;
}

.gbbi-showcase--grid .gbbi-card__profile-badges .gbbi-term-badge--profile .gbbi-term-badge__icon,
.gbbi-showcase--carousel .gbbi-card__profile-badges .gbbi-term-badge--profile .gbbi-term-badge__icon {
  display: block !important;
  flex: 0 0 var(--gbbi-profile-badge-icon-size, 24px) !important;
  min-width: var(--gbbi-profile-badge-icon-size, 24px) !important;
  width: var(--gbbi-profile-badge-icon-size, 24px) !important;
  max-width: var(--gbbi-profile-badge-icon-size, 24px) !important;
  min-height: var(--gbbi-profile-badge-icon-size, 24px) !important;
  height: var(--gbbi-profile-badge-icon-size, 24px) !important;
  max-height: var(--gbbi-profile-badge-icon-size, 24px) !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  transform: none !important;
}

.gbbi-showcase--grid .gbbi-card__profile-badges .gbbi-term-badge--profile .gbbi-term-badge__label,
.gbbi-showcase--carousel .gbbi-card__profile-badges .gbbi-term-badge--profile .gbbi-term-badge__label {
  display: block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  transform: translateX(-4px) !important;
  white-space: nowrap !important;
  transition: max-width .2s ease, opacity .15s ease, transform .2s ease !important;
}

.gbbi-showcase--grid .gbbi-card__profile-badges .gbbi-term-badge--profile:hover,
.gbbi-showcase--grid .gbbi-card__profile-badges .gbbi-term-badge--profile:focus-visible,
.gbbi-showcase--carousel .gbbi-card__profile-badges .gbbi-term-badge--profile:hover,
.gbbi-showcase--carousel .gbbi-card__profile-badges .gbbi-term-badge--profile:focus-visible {
  position: relative !important;
  z-index: 8 !important;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: 220px !important;
  min-height: calc(var(--gbbi-profile-badge-icon-size, 24px) + 8px) !important;
  height: auto !important;
  gap: 6px !important;
  padding: 4px 9px 4px 4px !important;
  border: 1px solid var(--gbbi-term-color, #D0D5DD) !important;
  border-radius: 999px !important;
  background: linear-gradient(var(--gbbi-term-bg-soft, rgba(71, 84, 103, .2)), var(--gbbi-term-bg-soft, rgba(71, 84, 103, .2))), #FFF !important;
  box-shadow: 0 2px 8px rgba(16, 24, 40, .14) !important;
  color: #202124 !important;
  overflow: hidden !important;
  outline: none !important;
}

.gbbi-showcase--grid .gbbi-card__profile-badges .gbbi-term-badge--profile:hover .gbbi-term-badge__icon,
.gbbi-showcase--grid .gbbi-card__profile-badges .gbbi-term-badge--profile:focus-visible .gbbi-term-badge__icon,
.gbbi-showcase--carousel .gbbi-card__profile-badges .gbbi-term-badge--profile:hover .gbbi-term-badge__icon,
.gbbi-showcase--carousel .gbbi-card__profile-badges .gbbi-term-badge--profile:focus-visible .gbbi-term-badge__icon {
  flex-basis: var(--gbbi-profile-badge-icon-size, 24px) !important;
  min-width: var(--gbbi-profile-badge-icon-size, 24px) !important;
  width: var(--gbbi-profile-badge-icon-size, 24px) !important;
  max-width: var(--gbbi-profile-badge-icon-size, 24px) !important;
  min-height: var(--gbbi-profile-badge-icon-size, 24px) !important;
  height: var(--gbbi-profile-badge-icon-size, 24px) !important;
  max-height: var(--gbbi-profile-badge-icon-size, 24px) !important;
  transform: none !important;
}

.gbbi-showcase--grid .gbbi-card__profile-badges .gbbi-term-badge--profile:hover .gbbi-term-badge__label,
.gbbi-showcase--grid .gbbi-card__profile-badges .gbbi-term-badge--profile:focus-visible .gbbi-term-badge__label,
.gbbi-showcase--carousel .gbbi-card__profile-badges .gbbi-term-badge--profile:hover .gbbi-term-badge__label,
.gbbi-showcase--carousel .gbbi-card__profile-badges .gbbi-term-badge--profile:focus-visible .gbbi-term-badge__label {
  max-width: 180px !important;
  opacity: 1 !important;
  transform: translateX(0) !important;
  color: #202124 !important;
  font-weight: 600 !important;
}


/* Route integration: Busca Inteligente controls only placement.
 * Typography, colors, borders, radius and icons belong to Guia Roteiro Base. */
.gbbi-card__route-slot .guia-rota__check,
.gbbi-compact-store__route-slot .guia-rota__check,
.gbbi-card__route-slot .gbbi-route-button,
.gbbi-compact-store__route-slot .gbbi-route-button,
.gbbi-card__route-slot .gbr-card-button,
.gbbi-compact-store__route-slot .gbr-card-button{
  position:relative!important;
  z-index:4!important;
  max-width:100%;
  margin:0!important;
  opacity:1!important;
  visibility:visible!important;
}

/* 3.0.6 — parity across grid, carousel and compact showcases. */
.gbbi-showcase .gbbi-card__title,
.gbbi-showcase .gbbi-compact-store__title {
  min-width: 0 !important;
  flex-wrap: nowrap !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}
.gbbi-showcase .gbbi-card__title > span:first-child,
.gbbi-showcase .gbbi-compact-store__title > span:first-child {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}
.gbbi-showcase .gbbi-card__qualifications {
  flex: 0 0 auto !important;
}
.gbbi-showcase .gbbi-card__address,
.gbbi-showcase .gbbi-compact-store__address {
  min-width: 0 !important;
  min-height: 0 !important;
  flex-wrap: nowrap !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}
.gbbi-showcase .gbbi-card__address span,
.gbbi-showcase .gbbi-compact-store__address span {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  -webkit-box-orient: initial !important;
  -webkit-line-clamp: unset !important;
}
