/* Smartlub — pagina de produto. */

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

.woocommerce-product-gallery { position: relative; }
.woocommerce-product-gallery img { border-radius: var(--slc-radius); background: #fff; }

.product_title { font-size: clamp(1.25rem, 4vw, 1.75rem); margin-bottom: .5rem; }

/* Identificadores */
.slc-identifiers { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; list-style: none; margin: 0 0 1rem; padding: 0; font-size: .8125rem; }
.slc-identifiers__item { display: flex; gap: .375rem; }
.slc-identifiers__key { color: var(--slc-ink-500); }
.slc-identifiers__value { font-weight: 600; }

/* Preco e pagamento */
.woocommerce-Price-amount { font-weight: 700; }
.summary > .price { font-size: 1.75rem; margin-block: .5rem; }
.summary > .price del { font-size: 1rem; font-weight: 400; color: var(--slc-ink-500); }

.slc-payment { background: var(--slc-bg); border-radius: var(--slc-radius); padding: .75rem .875rem; margin-bottom: 1rem; }
.slc-payment p { margin: 0; font-size: .875rem; }
.slc-payment__pix strong { font-size: 1.125rem; color: var(--slc-success); }

/* Compra */
form.cart { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin-bottom: 1rem; }
form.cart .quantity input { height: 48px; width: 88px; text-align: center; border: 1.5px solid var(--slc-ink-300); border-radius: var(--slc-radius); }
form.cart .single_add_to_cart_button {
  flex: 1; min-width: 200px; min-height: 48px;
  background: var(--slc-yellow); color: var(--slc-ink-900);
  border: 0; border-radius: var(--slc-radius); font-weight: 700; font-size: 1rem; cursor: pointer;
}
form.cart .single_add_to_cart_button:hover { background: #e0a400; }

/* Faixa de compatibilidade */
.slc-fit { border-radius: var(--slc-radius); padding: .875rem 1rem; margin-bottom: 1rem; font-size: .9375rem; }
.slc-fit__state { display: flex; gap: .625rem; align-items: flex-start; }
.slc-fit__state p { margin: 0; }
.slc-fit--universal { background: #eaf6ef; color: #15633a; }
.slc-fit__state--ask { background: transparent; }
.slc-fit:has([data-slc-fit-state="ok"]:not([hidden])) { background: #eaf6ef; color: #15633a; }
.slc-fit:has([data-slc-fit-state="no"]:not([hidden])) { background: var(--slc-yellow-soft); color: #6b4c00; }
.slc-fit__state--ask { border: 1px dashed var(--slc-ink-300); border-radius: var(--slc-radius); padding: .75rem; flex-wrap: wrap; align-items: center; }
.slc-fit__note { font-size: .8125rem; opacity: .85; margin-top: .25rem !important; }

/* Aplicacoes */
.slc-apps__intro { font-weight: 600; margin-bottom: .75rem; }
.slc-apps__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .875rem; }
.slc-apps__group { border-left: 3px solid var(--slc-yellow); padding-left: .75rem; }
.slc-apps__vehicle { margin: 0 0 .25rem; }
.slc-apps__versions { list-style: none; margin: 0; padding: 0; display: grid; gap: .125rem; font-size: .875rem; color: var(--slc-ink-500); }
.slc-apps__note { font-style: italic; }
.slc-apps__empty { color: var(--slc-ink-500); }

@media (min-width: 900px) {
  .slc-product { grid-template-columns: minmax(0, 1fr) minmax(0, 420px); align-items: start; }
  .slc-apps__list { grid-template-columns: repeat(2, 1fr); }
}

/* Colunas da pagina de produto */
.slc-product__summary { min-width: 0; }
.slc-product__details { grid-column: 1 / -1; }

.woocommerce-tabs { margin-top: 2rem; border-top: 1px solid var(--slc-ink-300); padding-top: 1.25rem; }
.woocommerce-tabs .tabs { display: flex; flex-wrap: wrap; gap: .25rem; list-style: none; margin: 0 0 1rem; padding: 0; }
.woocommerce-tabs .tabs a { display: inline-block; padding: .5rem .875rem; text-decoration: none; font-weight: 600; font-size: .9375rem; border-radius: var(--slc-radius); }
.woocommerce-tabs .tabs .active a { background: var(--slc-ink-900); color: #fff; }
.woocommerce-tabs .panel h2 { font-size: 1.0625rem; }

.related.products, .up-sells { margin-top: 2rem; }
.related.products > h2, .up-sells > h2 { font-size: 1.25rem; margin-bottom: 1rem; }
.related.products ul.products, .up-sells ul.products {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--slc-gap);
  list-style: none; margin: 0; padding: 0;
}
@media (min-width: 640px) { .related.products ul.products, .up-sells ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Galeria propria: rolagem nativa, sem biblioteca */
.slc-gallery { display: grid; gap: .625rem; }
.slc-gallery__stage {
  display: flex; overflow-x: auto; scroll-snap-type: x mandatory;
  scroll-behavior: smooth; gap: .5rem; border-radius: var(--slc-radius);
  scrollbar-width: none;
}
.slc-gallery__stage::-webkit-scrollbar { display: none; }
.slc-gallery__slide { flex: 0 0 100%; scroll-snap-align: center; margin: 0; background: #fff; border-radius: var(--slc-radius); }
.slc-gallery__img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.slc-gallery__thumbs { display: flex; gap: .5rem; overflow-x: auto; scrollbar-width: none; }
.slc-gallery__thumbs::-webkit-scrollbar { display: none; }
.slc-gallery__thumb {
  flex: 0 0 64px; border: 1.5px solid var(--slc-ink-300); border-radius: var(--slc-radius);
  overflow: hidden; background: #fff;
}
.slc-gallery__thumb:hover, .slc-gallery__thumb:focus-visible { border-color: var(--slc-yellow); }
.slc-gallery__thumb img { width: 100%; height: 64px; object-fit: contain; }

@media (prefers-reduced-motion: reduce) { .slc-gallery__stage { scroll-behavior: auto; } }

/* Galeria propria: rolagem nativa, sem biblioteca */
.slc-gallery { display: grid; gap: .625rem; }
.slc-gallery__stage {
  display: flex; overflow-x: auto; scroll-snap-type: x mandatory;
  scroll-behavior: smooth; gap: .5rem; border-radius: var(--slc-radius);
  scrollbar-width: none;
}
.slc-gallery__stage::-webkit-scrollbar { display: none; }
.slc-gallery__slide { flex: 0 0 100%; scroll-snap-align: center; margin: 0; background: #fff; border-radius: var(--slc-radius); }
.slc-gallery__img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.slc-gallery__thumbs { display: flex; gap: .5rem; overflow-x: auto; scrollbar-width: none; }
.slc-gallery__thumbs::-webkit-scrollbar { display: none; }
.slc-gallery__thumb {
  flex: 0 0 64px; border: 1.5px solid var(--slc-ink-300); border-radius: var(--slc-radius);
  overflow: hidden; background: #fff;
}
.slc-gallery__thumb:hover, .slc-gallery__thumb:focus-visible { border-color: var(--slc-yellow); }
.slc-gallery__thumb img { width: 100%; height: 64px; object-fit: contain; }

@media (prefers-reduced-motion: reduce) { .slc-gallery__stage { scroll-behavior: auto; } }
