/* ==========================================================================
   KSERIES PARTS BR — CATÁLOGO DE PEÇAS (/catalogo)
   Só é carregado quando existe peça visível: api/inicio.js põe o <link> deste
   arquivo, a seção e o script juntos. Sem peças, nada daqui chega ao site.
   Usa as variáveis do base.css. Mobile-first.

   ÍNDICE
    1. Grade na largura da tela (3 colunas no celular; no computador, quantas couberem), busca, etiquetas e páginas
    2. Detalhe da peça (<dialog>): tela cheia no celular, duas colunas no computador
    3. Fotos: carrossel com scroll-snap, setas e indicadores
    4. Informações e botão Comprar
    5. Movimento reduzido
    6. Tema claro
   ========================================================================== */

/* ==========================================================================
   1. GRADE
   ========================================================================== */
.catalogo {
  --catalogo-proporcao: 4 / 5; /* retrato; para quadrado, troque por 1 / 1 */
  --catalogo-espaco: 3px;
}

/* Como as categorias do início: a seção ocupa a tela toda */
.secao.catalogo {
  max-width: none;
  padding-right: 16px;
  padding-left: 16px;
}

/* --- Busca pelo nome, entre o título e a grade --- */
.catalogo-busca {
  position: relative;
  max-width: 480px;
  margin: 0 auto 20px;
}

.catalogo-busca input {
  width: 100%;
  min-height: 48px;
  padding: 12px 16px 12px 46px;
  color: var(--cor-texto);
  font-size: 16px; /* 16px ou mais evita o zoom automático do iPhone ao tocar no campo */
  background-color: var(--cor-campo);
  border: 1px solid #333;
  border-radius: 999px;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.catalogo-busca input::placeholder {
  color: var(--cor-texto-discreto);
}

.catalogo-busca input:focus {
  border-color: var(--cor-destaque);
  outline: none;
  box-shadow: 0 0 0 3px rgba(217, 4, 41, 0.25);
}

.catalogo-busca-icone {
  position: absolute;
  top: 50%;
  left: 17px;
  width: 18px;
  height: 18px;
  fill: none;
  stroke: var(--cor-texto-apagado);
  stroke-width: 2;
  stroke-linecap: round;
  transform: translateY(-50%);
  pointer-events: none;
}

/* Quantas peças a busca achou (ou o convite para o WhatsApp quando não acha nenhuma) */
.catalogo-busca-resultado {
  max-width: 480px;
  margin: -6px auto 18px;
  color: var(--cor-texto-apagado);
  font-size: 14px;
  text-align: center;
}

.catalogo-busca-resultado:empty {
  display: none;
}

.catalogo-busca-resultado a {
  color: var(--cor-whatsapp);
  font-weight: 500;
}

.catalogo-grade {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--catalogo-espaco);
  margin: 0;
  padding: 0;
  list-style: none;
}

.catalogo-item {
  position: relative;
  display: block;
  aspect-ratio: var(--catalogo-proporcao);
  overflow: hidden;
  color: #fff;
  background-color: var(--cor-card);
}

.catalogo-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.catalogo-item:focus-visible {
  outline: 2px solid var(--cor-destaque);
  outline-offset: 2px;
}

.icone-carrinho {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* --- Etiquetas por cima da foto: o selo em cima e o preço embaixo, à esquerda.
   Preço em vermelho com o carrinho = compra direta pelo site --- */
.catalogo-selo,
.catalogo-item-preco {
  position: absolute;
  left: 6px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  max-width: calc(100% - 12px);
  padding: 3px 7px;
  color: #ffffff;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
  background-color: rgba(0, 0, 0, 0.72);
  border-radius: 4px;
  pointer-events: none;
}

.catalogo-selo {
  top: 6px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.catalogo-selo[hidden] {
  display: none;
}

.catalogo-selo-ultima {
  background-color: var(--cor-destaque);
}

.catalogo-selo-novo {
  color: #151515;
  background-color: var(--cor-estrela);
}

.catalogo-item-preco {
  bottom: 6px;
  font-size: 11px;
}

.catalogo-item-preco-site {
  background-color: var(--cor-destaque);
}

.catalogo-item-preco .icone-carrinho {
  width: 12px;
  height: 12px;
}

/* --- Páginas (24 peças cada): ‹ Anterior, os números e Próxima › --- */
.catalogo-paginas {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  justify-content: center;
  margin-top: 24px;
}

.catalogo-paginas[hidden] {
  display: none;
}

.catalogo-pagina {
  min-width: 40px;
  min-height: 40px;
  padding: 8px 12px;
  color: var(--cor-texto);
  font: inherit;
  font-size: 14px;
  font-weight: 600;
  background-color: var(--cor-card);
  border: 1px solid var(--cor-borda);
  border-radius: var(--raio);
  cursor: pointer;
}

.catalogo-pagina[aria-current="page"] {
  color: #fff;
  background-color: var(--cor-destaque);
  border-color: var(--cor-destaque);
}

.catalogo-pagina:disabled {
  opacity: 0.4;
  cursor: default;
}

.catalogo-pagina:focus-visible {
  outline: 2px solid var(--cor-destaque);
  outline-offset: 2px;
}

.catalogo-pagina-salto {
  padding: 0 4px;
  color: var(--cor-texto-apagado);
}

/* Ícone de "várias fotos", no canto, como no Instagram */
.catalogo-varias {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 18px;
  height: 18px;
  pointer-events: none;
}

.catalogo-varias svg {
  width: 100%;
  height: 100%;
  fill: #fff;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.6));
}

/* Nome da peça: só no computador, por cima da foto ao passar o mouse */
.catalogo-item-nome {
  display: none;
}

@media (min-width: 768px) {
  .catalogo {
    --catalogo-espaco: 8px;
  }

  /* Quantas colunas couberem, de 220 px para cima (numa tela larga, 7 ou 8) */
  .catalogo-grade {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  }

  .catalogo-varias {
    top: 10px;
    right: 10px;
    width: 22px;
    height: 22px;
  }

  .catalogo-selo,
  .catalogo-item-preco {
    left: 10px;
    max-width: calc(100% - 20px);
    padding: 4px 9px;
    font-size: 11px;
  }

  .catalogo-selo {
    top: 10px;
  }

  .catalogo-item-preco {
    bottom: 10px;
    gap: 6px;
    font-size: 14px;
  }

  .catalogo-item-preco .icone-carrinho {
    width: 15px;
    height: 15px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .catalogo-item-nome {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    overflow-wrap: anywhere;
    background-color: rgba(0, 0, 0, 0.55);
    opacity: 0;
    transition: opacity 0.2s ease;
  }

  .catalogo-item:hover .catalogo-item-nome,
  .catalogo-item:focus-visible .catalogo-item-nome {
    opacity: 1;
  }

  /* A foto se aproxima um pouco ao passar o mouse */
  .catalogo-item img {
    transition: transform 0.45s ease;
  }

  .catalogo-item:hover img {
    transform: scale(1.06);
  }

  .catalogo-pagina:not(:disabled):not([aria-current="page"]):hover {
    border-color: var(--cor-destaque);
  }
}

/* ==========================================================================
   2. DETALHE DA PEÇA
   Celular: tela cheia, foto em cima, informações embaixo e o Comprar preso ao
   rodapé (respeitando a área segura do iPhone). Computador (e celular deitado):
   duas colunas, foto à esquerda, como um post aberto no Instagram.
   ========================================================================== */
.catalogo-detalhe {
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  margin: 0;
  padding: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  color: var(--cor-texto);
  background-color: #0b0b0b;
  border: 0;
}

.catalogo-detalhe::backdrop {
  background: rgba(0, 0, 0, 0.8);
}

.catalogo-detalhe-corpo {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

/* ==========================================================================
   3. FOTOS
   ========================================================================== */
.catalogo-fotos {
  position: relative;
  flex-shrink: 0;
  background-color: #000;
}

.catalogo-trilho {
  display: flex;
  aspect-ratio: var(--catalogo-proporcao, 4 / 5);
  max-height: 62vh;
  max-height: 62dvh;
  margin: 0 auto;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.catalogo-trilho::-webkit-scrollbar {
  display: none;
}

.catalogo-trilho img {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  object-fit: contain;
  scroll-snap-align: center;
  scroll-snap-stop: always;
}

/* Setas das fotos: só para quem usa mouse (no toque, desliza-se a foto) */
.catalogo-seta {
  position: absolute;
  top: 50%;
  display: none;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding-bottom: 3px;
  color: #fff;
  font-size: 28px;
  line-height: 1;
  background-color: rgba(0, 0, 0, 0.55);
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  transform: translateY(-50%);
}

.catalogo-seta-anterior {
  left: 10px;
}

.catalogo-seta-proxima {
  right: 10px;
}

.catalogo-seta:disabled {
  opacity: 0;
  pointer-events: none;
}

.catalogo-indicadores {
  position: absolute;
  right: 0;
  bottom: 10px;
  left: 0;
  display: flex;
  justify-content: center;
  gap: 6px;
  pointer-events: none;
}

.catalogo-indicadores span {
  width: 6px;
  height: 6px;
  background-color: rgba(255, 255, 255, 0.45);
  border-radius: 50%;
  transition: opacity 0.2s ease;
}

.catalogo-indicadores span.ativo {
  background-color: #fff;
}

@media (hover: hover) and (pointer: fine) {
  .catalogo-seta:not([hidden]) {
    display: flex;
  }

  .catalogo-seta:hover {
    background-color: rgba(0, 0, 0, 0.75);
  }
}

/* ==========================================================================
   4. INFORMAÇÕES E COMPRAR
   ========================================================================== */
.catalogo-info {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 14px;
  padding: 18px var(--margem-lateral, 20px) 0;
}

.catalogo-info-topo {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.catalogo-info h3 {
  font-size: 20px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

/* No celular o "×" fica sempre à vista, no canto de cima, por cima da foto */
.catalogo-fechar {
  position: fixed;
  top: max(10px, env(safe-area-inset-top));
  right: max(10px, env(safe-area-inset-right));
  z-index: 2;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding-bottom: 3px;
  color: #fff;
  font-size: 28px;
  line-height: 1;
  background-color: rgba(0, 0, 0, 0.55);
  border: 0;
  border-radius: 50%;
  cursor: pointer;
}

.catalogo-legenda {
  color: var(--cor-texto-suave);
  font-size: 15px;
  line-height: 1.6;
  white-space: pre-line; /* mantém as quebras de linha da legenda */
  overflow-wrap: anywhere;
}

.catalogo-link-instagram {
  align-self: flex-start;
  padding: 10px 0;
  color: var(--cor-instagram);
  font-weight: 500;
}

.catalogo-navegacao {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.catalogo-navegar {
  min-height: 44px;
  padding: 8px 14px;
  color: var(--cor-texto-apagado);
  font-size: 14px;
  background: none;
  border: 1px solid var(--cor-borda);
  border-radius: 10px;
  cursor: pointer;
}

.catalogo-navegar:disabled {
  opacity: 0.35;
  cursor: default;
}

/* O Comprar fica preso ao rodapé enquanto se lê a peça; ocupa o próprio
   espaço (sticky), então nunca cobre o texto */
.catalogo-comprar {
  position: sticky;
  bottom: 0;
  margin: auto calc(var(--margem-lateral, 20px) * -1) 0;
  padding: 14px var(--margem-lateral, 20px) calc(14px + env(safe-area-inset-bottom));
  background: linear-gradient(to bottom, rgba(11, 11, 11, 0), #0b0b0b 28%);
}

.btn-comprar {
  color: #fff;
  background-color: var(--cor-destaque);
}

.btn-comprar:active {
  background-color: #b00321;
}

/* --- Compra pelo site (js/site/compra.js) --- */
.catalogo-comprar {
  display: grid;
  gap: 8px;
}

/* Preço e selo lado a lado; some quando a peça não tem nenhum dos dois */
.catalogo-oferta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  margin-top: -4px;
}

.catalogo-oferta:not(:has(> :not([hidden]))) {
  display: none;
}

.catalogo-detalhe-selo {
  position: static;
  padding: 4px 9px;
  font-size: 11px;
}

/* "Pix ou até 12x", com o cadeado: confiança na hora de clicar */
.catalogo-pagamento {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: -6px;
  color: var(--cor-texto-suave);
  font-size: 13px;
  line-height: 1.4;
}

.catalogo-pagamento[hidden] {
  display: none;
}

.catalogo-pagamento svg {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  fill: none;
  stroke: var(--cor-whatsapp);
  stroke-width: 2;
  stroke-linecap: round;
}

.comprando .catalogo-pagamento {
  display: none;
}

/* Celular: a barra presa embaixo leva o preço ao lado do "Comprar agora" */
.catalogo-comprar-resumo {
  display: grid;
  gap: 2px;
  margin: 0;
  line-height: 1.15;
}

.catalogo-comprar-resumo[hidden],
.comprando .catalogo-comprar-resumo {
  display: none;
}

.catalogo-comprar-resumo strong {
  color: var(--cor-texto);
  font-family: "Montserrat", sans-serif;
  font-size: 18px;
  font-weight: 700;
  white-space: nowrap;
}

.catalogo-comprar-resumo span {
  color: var(--cor-texto-apagado);
  font-size: 12px;
}

.catalogo-detalhe:not(.comprando) .catalogo-comprar:has(> .catalogo-comprar-resumo:not([hidden])) {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  column-gap: 14px;
}

.catalogo-comprar > .catalogo-comprar-link,
.catalogo-comprar > .catalogo-checkout-voltar,
.catalogo-comprar > .catalogo-carrinho {
  grid-column: 1 / -1;
}

.catalogo-comprar > .catalogo-comprar-link {
  order: -1;
}

/* Comprando (formulário aberto): o "Adicionar ao carrinho" sai de cena */
.comprando .catalogo-carrinho {
  display: none;
}

.catalogo-carrinho.no-carrinho {
  border-color: var(--cor-whatsapp);
}

/* Um brilho atravessa o "Comprar agora" uma vez, ao abrir a peça */
.catalogo-comprar-agora {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.catalogo-comprar-agora.brilhar::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, 0.45) 50%, transparent 70%);
  transform: translateX(-100%);
  animation: brilho-comprar 1.1s ease 0.5s 1 forwards;
}

@keyframes brilho-comprar {
  to {
    transform: translateX(100%);
  }
}

.catalogo-preco {
  margin-top: 0;
  color: var(--cor-texto);
  font-family: "Montserrat", sans-serif;
  font-size: 22px;
  font-weight: 700;
}

/* A outra forma de compra (WhatsApp ou link), discreta embaixo do "Comprar agora" */
.btn-comprar.btn-comprar-secundario {
  min-height: 44px;
  color: var(--cor-texto);
  font-size: 13px;
  background-color: transparent;
  border-color: #444444;
}

.btn-comprar.btn-comprar-secundario:active {
  background-color: var(--cor-realce-sutil);
}

/* "Voltar" (sai do formulário de compra): botão discreto, com a seta, embaixo do pagamento */
.btn.catalogo-checkout-voltar {
  min-height: 44px;
  padding: 8px 16px;
  color: var(--cor-texto-suave);
  font-size: 13px;
  background-color: transparent;
  border: 1px solid #444444;
  cursor: pointer;
  transition:
    color 0.2s ease,
    background-color 0.2s ease,
    border-color 0.2s ease;
}

.btn.catalogo-checkout-voltar::before {
  font-size: 18px;
  line-height: 1;
  content: "‹";
}

.btn.catalogo-checkout-voltar:active {
  background-color: var(--cor-realce-sutil);
}

/* Comprando: o formulário toma o lugar da legenda, do Instagram e da navegação */
.comprando .catalogo-legenda,
.comprando .catalogo-link-instagram,
.comprando .catalogo-navegacao {
  display: none;
}

.catalogo-checkout {
  display: grid;
  gap: 14px;
  padding: 16px;
  background-color: var(--cor-card);
  border: 1px solid var(--cor-borda);
  border-radius: var(--raio);
  scroll-margin-top: 70px; /* no celular, o "×" fixo não cobre o título */
}

.catalogo-checkout[hidden] {
  display: none;
}

.catalogo-checkout h4 {
  font-size: 16px;
  text-transform: uppercase;
}

.catalogo-checkout-texto {
  color: var(--cor-texto-suave);
  font-size: 14px;
  line-height: 1.5;
}

.catalogo-checkout-aviso {
  color: var(--cor-texto-suave);
  font-size: 14px;
}

.catalogo-checkout-aviso.erro {
  color: var(--cor-erro);
}

.catalogo-checkout-privacidade {
  color: var(--cor-texto-discreto);
  font-size: 12px;
}

.catalogo-checkout-privacidade a {
  color: var(--cor-texto-suave);
}

@media (hover: hover) and (pointer: fine) {
  .btn-comprar:hover {
    background-color: #b00321;
  }

  .catalogo-navegar:not(:disabled):hover,
  .catalogo-fechar:hover {
    color: var(--cor-texto);
    background-color: #1c1c1c;
  }

  .btn-comprar.btn-comprar-secundario:hover {
    background-color: var(--cor-realce-sutil);
  }

  .btn.catalogo-checkout-voltar:hover {
    color: var(--cor-texto);
    background-color: var(--cor-realce-sutil);
    border-color: var(--cor-destaque);
  }
}

/* Computador e celular deitado: duas colunas */
@media (min-width: 900px), (orientation: landscape) and (min-width: 600px) {
  .catalogo-detalhe {
    width: min(1100px, 94vw);
    height: min(88vh, 760px);
    height: min(88dvh, 760px); /* no iPad, desconta a barra do Safari */
    margin: auto;
    overflow: hidden;
    border: 1px solid var(--cor-borda);
    border-radius: 14px;
  }

  .catalogo-detalhe-corpo {
    flex-direction: row;
    height: 100%;
    min-height: 0;
  }

  .catalogo-fotos {
    display: flex;
    flex: 0 0 58%;
    align-items: center;
    height: 100%;
  }

  .catalogo-trilho {
    width: 100%;
    height: 100%;
    max-height: none;
    aspect-ratio: auto;
  }

  .catalogo-info {
    min-width: 0;
    overflow-y: auto;
    padding: 20px 24px 0;
  }

  /* Legenda longa: o nome e o "×" ficam presos no alto enquanto a coluna rola
     (como o Comprar, embaixo) */
  .catalogo-info-topo {
    position: sticky;
    top: -20px; /* o preso conta a partir do padding da coluna: assim encosta na borda */
    z-index: 1;
    margin: -20px -24px -10px; /* os 10px do esmaecido não empurram a legenda */
    padding: 20px 24px 10px;
    background: linear-gradient(to top, rgba(11, 11, 11, 0), #0b0b0b 30%);
  }

  .catalogo-fechar {
    position: static;
    color: var(--cor-texto-apagado);
    background: none;
  }

  .catalogo-comprar {
    margin: auto -24px 0;
    padding: 16px 24px 20px;
  }

  /* Duas colunas: o preço já está à vista no alto da coluna */
  .catalogo-comprar-resumo:not([hidden]) {
    display: none;
  }

  .catalogo-detalhe:not(.comprando) .catalogo-comprar:has(> .catalogo-comprar-resumo:not([hidden])) {
    grid-template-columns: minmax(0, 1fr);
  }

  .btn-comprar {
    width: 100%;
  }
}

/* ==========================================================================
   5. MOVIMENTO REDUZIDO
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  .catalogo-item-nome,
  .catalogo-indicadores span,
  .catalogo-item img {
    transition: none;
  }

  .catalogo-item:hover img {
    transform: none;
  }

  .catalogo-comprar-agora.brilhar::after {
    display: none;
  }
}

/* ==========================================================================
   6. TEMA CLARO (as cores-base ficam na seção 11 do base.css)
   A área das fotos continua preta nos dois temas, como num visualizador de
   fotos: as setas e os pontinhos brancos seguem à vista
   ========================================================================== */
[data-tema="claro"] .catalogo-busca input {
  border-color: #cfcfcf;
}

[data-tema="claro"] .catalogo-busca-resultado a {
  color: #0c6b33; /* verde do WhatsApp mais fechado: legível no fundo claro */
}

[data-tema="claro"] .catalogo-detalhe {
  background-color: #ffffff;
}

[data-tema="claro"] .catalogo-detalhe::backdrop {
  background: rgba(0, 0, 0, 0.5);
}

[data-tema="claro"] .btn-comprar.btn-comprar-secundario,
[data-tema="claro"] .btn.catalogo-checkout-voltar {
  border-color: #cfcfcf;
}

[data-tema="claro"] .catalogo-pagamento svg {
  stroke: #0c8a43; /* verde mais fechado: legível no fundo claro */
}

[data-tema="claro"] .catalogo-comprar {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #ffffff 28%);
}

@media (hover: hover) and (pointer: fine) {
  [data-tema="claro"] .catalogo-navegar:not(:disabled):hover,
  [data-tema="claro"] .catalogo-fechar:hover {
    background-color: #ececec;
  }
}

@media (min-width: 900px), (orientation: landscape) and (min-width: 600px) {
  [data-tema="claro"] .catalogo-info-topo {
    background: linear-gradient(to top, rgba(255, 255, 255, 0), #ffffff 30%);
  }
}

/* --- Filtros acima da grade (js/site/catalogo.js): categorias, condição e ordem --- */
.catalogo-filtros {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 16px;
}

.catalogo-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.catalogo-chip {
  min-height: 40px;
  padding: 8px 14px;
  color: var(--cor-texto);
  font: inherit;
  font-size: 14px;
  background-color: var(--cor-card);
  border: 1px solid var(--cor-borda);
  border-radius: 999px;
  cursor: pointer;
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease;
}

.catalogo-chip span {
  margin-left: 4px;
  color: var(--cor-texto-apagado);
  font-size: 12px;
}

.catalogo-chip:hover {
  border-color: var(--cor-destaque);
}

.catalogo-chip[aria-pressed="true"] {
  color: #fff;
  background-color: var(--cor-destaque);
  border-color: var(--cor-destaque);
}

.catalogo-chip[aria-pressed="true"] span {
  color: rgba(255, 255, 255, 0.8);
}

.catalogo-chip:focus-visible,
.catalogo-selecao select:focus-visible {
  outline: 2px solid var(--cor-destaque);
  outline-offset: 2px;
}

.catalogo-selecao {
  display: flex;
  gap: 8px;
  margin-left: auto;
}

.catalogo-selecao select {
  min-height: 40px;
  padding: 8px 12px;
  color: var(--cor-texto);
  font: inherit;
  font-size: 14px;
  background-color: var(--cor-campo);
  border: 1px solid var(--cor-borda);
  border-radius: var(--raio);
}

/* No celular, os chips deslizam para o lado em vez de ocupar várias linhas */
@media (max-width: 767px) {
  .catalogo-chips {
    flex-wrap: nowrap;
    width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
    padding-bottom: 2px;
  }
  .catalogo-chip {
    flex: none;
  }
  .catalogo-selecao {
    width: 100%;
    margin-left: 0;
  }
  .catalogo-selecao select {
    flex: 1;
    min-width: 0;
  }
}
