/* Smartlub — catalogo, filtros, carrinho e checkout. */

.slc-shop {
  display: grid;
  gap: 1.5rem;
  padding-block: 1.5rem;
}

.slc-shop__head { display: grid; gap: .75rem; }
.slc-shop__title { margin: 0; font-size: clamp(1.25rem, 4vw, 1.75rem); }
.slc-shop__count { margin: 0; font-size: .875rem; color: var(--slc-ink-500); }

/* Chips de filtro ativo, incluindo o veiculo */
.slc-chips { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: 0; padding: 0; }
.slc-chip {
  display: inline-flex; align-items: center; gap: .375rem;
  background: var(--slc-surface); border: 1px solid var(--slc-ink-300);
  border-radius: 999px; padding: .3125rem .75rem; font-size: .8125rem;
}
.slc-chip--vehicle { background: var(--slc-yellow-soft); border-color: #f0dca5; font-weight: 600; }
.slc-chip__remove { background: none; border: 0; cursor: pointer; display: grid; place-items: center; padding: 0; color: inherit; }

/* Barra de ordenacao e botao de filtro no mobile */
.slc-shop__toolbar { display: flex; align-items: center; gap: .75rem; }
.slc-shop__filter-open { flex: 1; }
.slc-shop__orderby select { height: 40px; border-radius: var(--slc-radius); border: 1.5px solid var(--slc-ink-300); padding: 0 .5rem; }

/* Coluna de filtros */
.slc-filters { display: none; }
.slc-filters.is-open {
  display: block;
  position: fixed; inset: 0; z-index: 80;
  background: var(--slc-surface); overflow-y: auto;
  padding: 1rem 1rem 5rem;
}
.slc-filters__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.slc-filters__group { border-top: 1px solid var(--slc-ink-300); padding-block: .875rem; }
.slc-filters__group:first-of-type { border-top: 0; }
.slc-filters__legend { font-weight: 600; font-size: .9375rem; margin-bottom: .5rem; }
.slc-filters__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .375rem; max-height: 260px; overflow-y: auto; }
.slc-filters__option { display: flex; align-items: center; gap: .5rem; font-size: .875rem; }
.slc-filters__count { margin-inline-start: auto; color: var(--slc-ink-500); font-size: .75rem; }
.slc-filters__apply {
  position: fixed; inset-inline: 0; bottom: 0; z-index: 81;
  padding: .75rem 1rem calc(.75rem + env(safe-area-inset-bottom, 0px));
  background: var(--slc-surface); border-top: 1px solid var(--slc-ink-300);
}

@media (min-width: 1024px) {
  .slc-shop { grid-template-columns: 260px minmax(0, 1fr); align-items: start; }
  .slc-shop__head { grid-column: 1 / -1; }
  .slc-filters { display: block; position: static; padding: 0; background: none; }
  .slc-filters__head,
  .slc-filters__apply,
  .slc-shop__filter-open { display: none; }
}

/* Paginacao */
.woocommerce-pagination ul { display: flex; flex-wrap: wrap; gap: .25rem; list-style: none; margin: 1.5rem 0 0; padding: 0; }
.woocommerce-pagination a,
.woocommerce-pagination span {
  display: grid; place-items: center; min-width: 40px; height: 40px; padding: 0 .5rem;
  border: 1px solid var(--slc-ink-300); border-radius: var(--slc-radius);
  background: var(--slc-surface); text-decoration: none; font-size: .875rem;
}
.woocommerce-pagination .current { background: var(--slc-ink-900); color: #fff; border-color: var(--slc-ink-900); }

/* Mensagens do WooCommerce */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  list-style: none; margin: 0 0 1rem; padding: .875rem 1rem;
  border-radius: var(--slc-radius); border-left: 4px solid var(--slc-yellow);
  background: var(--slc-surface); font-size: .9375rem;
}
.woocommerce-error { border-left-color: var(--slc-danger); }
.woocommerce-message { border-left-color: var(--slc-success); }

/* Carrinho e checkout usam os blocos nativos; aqui so alinhamos a identidade. */
.wc-block-components-button,
.wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button {
  border-radius: var(--slc-radius) !important;
  font-weight: 600 !important;
}
.wc-block-components-totals-item__value { font-weight: 700; }

/* Trilha de navegacao */
.slc-breadcrumb { font-size: .8125rem; color: var(--slc-ink-500); padding-block: .875rem .25rem; }
.slc-breadcrumb a { text-decoration: none; }
.slc-breadcrumb a:hover { text-decoration: underline; }
.slc-breadcrumb span + span::before { content: "/"; margin-inline: .375rem; color: var(--slc-ink-300); }

/* Resultados */
.slc-shop__results { min-width: 0; }

/* Sem resultados */
.slc-empty {
  background: var(--slc-surface); border: 1px solid var(--slc-ink-300);
  border-radius: var(--slc-radius-lg); padding: 2rem 1.25rem; text-align: center;
  display: grid; gap: .75rem; justify-items: center;
}
.slc-empty__icon { color: var(--slc-yellow); }
.slc-empty__title { margin: 0; font-size: 1.125rem; }
.slc-empty p { margin: 0; color: var(--slc-ink-500); max-width: 46ch; }
.slc-empty__actions { display: flex; flex-wrap: wrap; gap: .625rem; justify-content: center; }
.slc-empty .slc-search { width: min(100%, 420px); }

/* Botao de fechar da gaveta */
.slc-filters__close { background: none; border: 0; cursor: pointer; padding: .5rem; color: inherit; }
