/* ============================================================
   Core XY — CSS personalizado (child theme do PRS028)
   Aqui vivem os retoques da loja, SEM tocar no tema-pai.
   ------------------------------------------------------------
   Paleta de botões:
     #0090f0  azul da marca        (todos os botões)
     #0077c4  azul hover           (escurece ao passar o rato)
     #005a94  azul escuro          (SÓ botão de PRÉ-RESERVA — P0-1)
   ============================================================ */

/* ------------------------------------------------------------
   TODOS os botões da loja — azul sólido da marca
   (.btn-primary é a classe base do tema; .btn-secondary/.add-to-cart
    apanham o botão de compra que no tema é "secondary")
   ------------------------------------------------------------ */
.btn-primary,
.btn-secondary,
.btn-add-to-cart,
.add-to-cart {
  background-color: #0090f0;
  border-color: #0090f0;
  color: #fff;
  font-weight: 600;
  text-transform: none;        /* tira maiúsculas forçadas, se vierem de CSS */
  border-radius: 6px;          /* cantos redondos em todos os botões */
  transition: background-color .2s ease, box-shadow .2s ease;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-secondary:hover,
.btn-secondary:focus,
.btn-add-to-cart:hover,
.btn-add-to-cart:focus,
.add-to-cart:hover,
.add-to-cart:focus {
  background-color: #0077c4;   /* azul hover */
  border-color: #0077c4;
  color: #fff;
}

/* ------------------------------------------------------------
   Botão de PRÉ-RESERVA — azul mais escuro para se distinguir
   do "comprar já". A classe .btn-pre-reserva é aplicada ao
   reaplicar a sinalização de pré-reserva no child (P0-1).
   Ainda não existe botão com esta classe → não pinta nada até lá.
   ------------------------------------------------------------ */
.btn-pre-reserva,
.btn-primary.btn-pre-reserva,
.btn-secondary.btn-pre-reserva {
  background-color: #005a94;   /* azul escuro */
  border-color: #005a94;
  color: #fff;
}

.btn-pre-reserva:hover,
.btn-pre-reserva:focus,
.btn-primary.btn-pre-reserva:hover,
.btn-secondary.btn-pre-reserva:hover {
  background-color: #00476f;   /* azul escuro, ainda mais fundo no hover */
  border-color: #00476f;
  color: #fff;
}

/* ------------------------------------------------------------
   Ícones de ação no hover do cartão (carrinho/vista rápida/
   wishlist/comparar) — cantos redondos + acendem a azul ao
   passar o rato (P2-19). Ficam escuros em repouso (estilo do
   tema); só o hover muda. Selectores específicos para ganhar
   à regra escura do tema.
   ------------------------------------------------------------ */
.button-container .btn,
.button-container .td-wishlist-button,
.button-container .add_to_compare,
.button-container .quick-view {
  border-radius: 6px;
}

.button-container .product-add-to-cart .btn:hover,
.button-container .quick-view-wrapper .quick-view:hover,
.button-container .wishlist .td-wishlist-button:hover,
.button-container .compare .add_to_compare:hover {
  background-color: #0090f0;
  border-color: #0090f0;
  color: #fff;
}

/* ------------------------------------------------------------
   Moldura + sombra no hover nos cartões da listagem (P2-19)
   NOTA: :not(.js-product-container) exclui o wrapper da FICHA de
   produto, que também usa .product-container. Só apanha o cartão.
   ------------------------------------------------------------ */
.product-container:not(.js-product-container) {
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  padding: 10px;
  background: #fff;
  transition: box-shadow .2s ease, border-color .2s ease;
}

.product-container:not(.js-product-container):hover {
  border-color: #d0d0d0;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
}

/* Sidebar não aparece por baixo do megamenu */
#left-column,
.left-column {
    position: relative;
    z-index: 0;
}

nav.breadcrumb.style-3 { display: none !important; }

.slick-dots { 
    position: relative !important; 
    z-index: -1 !important; 
}

/* Remover cabeçalho de categoria (banner + subcategorias) */
.block-category {
    display: none !important;
}

/* Remover grid de subcategorias nas categorias pai */
.subcategories {
    display: none !important;
}

/* ================================================
   Cards de produto — altura igual (imagens diferentes)
   ================================================ */
.product-miniature .product-thumbnail {
  display: block !important;
  height: 280px !important;
  overflow: hidden !important;
}

.product-miniature .product-thumbnail picture,
.product-miniature .product-thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

/* P2-20 — moldura e sombra na imagem principal da ficha */
.product-cover {
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.10);
}

/* Botão Esgotado */
button.btn[disabled]:not(.btn-pre-reserva) {
  background-color: #7a1a1a !important;
  border-color: #7a1a1a !important;
  color: #fff !important;
  opacity: 1 !important;
}

/* Flags de listagem */
.product-flag.out_of_stock { background-color: #d9534f !important; } /* Esgotado → vermelho */
.product-flag.new          { background-color: #28a745 !important; } /* Novo → verde */

.corexy-related-products { margin: 2rem 0; }
.corexy-related-title { font-size: 1.25rem; margin-bottom: 1rem; color: #0090f0; }
.corexy-related-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.corexy-related-item { background: #fff; border: 1px solid #e8e8e8; border-radius: 4px; padding: 0.75rem; transition: box-shadow 0.2s ease, transform 0.2s ease; }
.corexy-related-item:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.12); transform: translateY(-2px); }
.corexy-related-item a { display: flex; flex-direction: column; text-decoration: none; color: inherit; }
.corexy-related-item img { width: 100%; aspect-ratio: 1; object-fit: contain; }
.corexy-related-name { font-size: 0.9rem; font-weight: 600; margin-top: 0.5rem; color: #0090f0; }
.corexy-related-price { font-weight: bold; font-size: 0.9rem; color: inherit; }
@media (max-width: 768px) { .corexy-related-grid { grid-template-columns: repeat(2, 1fr); } }

/* Carrossel de marcas — alinhamento */
.elementor-brands-carousel .item img {
  display: block;
  width: 100% !important;
  height: 150px !important;
  object-fit: contain;
  background: #fff;
}

/* Recomendamos — igualar altura dos cartões de marca */
.elementor-element-3113d96d .elementor-image,
.elementor-element-48576322 .elementor-image {
  height: 300px;
}
.elementor-element-3113d96d .elementor-image a,
.elementor-element-48576322 .elementor-image a {
  display: block;
  height: 100%;
}
.elementor-element-3113d96d .elementor-image img,
.elementor-element-48576322 .elementor-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}