
/* =========================================================
   MANDRAKE V8 - Produtos/Favoritos/Cart no padrão NoHype
   Ajustes solicitados: coração, detalhes, filtros globais, sacola e destaques.
   ========================================================= */
:root{
  --mg8-blue:#0057ff;
  --mg8-blue-700:#0046d6;
  --mg8-ink:#07111f;
  --mg8-muted:#65738a;
  --mg8-soft:#eef5ff;
  --mg8-border:#d9e7ff;
  --mg8-border-strong:#b8d0ff;
  --mg8-red:#ef4444;
  --mg8-shadow:0 16px 42px rgba(7,17,31,.10);
  --mg8-shadow-soft:0 10px 28px rgba(7,17,31,.07);
}

/* Remove a linha/separador visual abaixo das categorias rápidas. */
.mg-filter-panel{
  border-top:1px solid var(--mg8-border)!important;
  border-bottom:1px solid var(--mg8-border)!important;
  box-shadow:0 12px 30px rgba(7,17,31,.065)!important;
}
#tabsList{
  border:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
  background:transparent!important;
}
#tabsList::before,#tabsList::after,.mg-filter-panel::after{display:none!important;content:none!important;}
.mg-filter-panel .mt-3.flex.items-center.justify-between{
  border:0!important;
  background:transparent!important;
  padding:.25rem .1rem 0!important;
}

/* Categorias no estilo mais próximo da NoHype: chips limpos, sem poluição. */
.mg-tab-button{
  height:41px!important;
  min-height:41px!important;
  border-radius:999px!important;
  border:1px solid var(--mg8-border)!important;
  background:#fff!important;
  color:#0b255c!important;
  padding:0 16px!important;
  font-size:.82rem!important;
  font-weight:950!important;
  box-shadow:0 7px 17px rgba(7,17,31,.045)!important;
}
.mg-tab-button:hover{background:#f6f9ff!important;border-color:var(--mg8-border-strong)!important;transform:translateY(-1px)!important;}
.mg-tab-button-active,.mg-tab-button[aria-selected="true"]{
  background:linear-gradient(135deg,var(--mg8-blue),var(--mg8-blue-700))!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 12px 24px rgba(0,87,255,.24)!important;
}

/* Cards e botões de produtos. */
.js-product-card{
  border-radius:1.45rem!important;
  border-color:var(--mg8-border)!important;
  box-shadow:0 12px 30px rgba(7,17,31,.07)!important;
}
.js-product-card:hover{
  border-color:var(--mg8-border-strong)!important;
  box-shadow:0 20px 48px rgba(0,87,255,.13)!important;
}
.mg-product-image-wrap{background:linear-gradient(135deg,#fff 0%,#eef5ff 100%)!important;}
.imagem-produto{object-fit:contain!important;padding:10px!important;background:transparent!important;}
.mg-card-actions{
  display:grid!important;
  grid-template-columns:1fr 1.05fr!important;
  gap:.55rem!important;
  margin-top:1rem!important;
}
.mg-detail-btn,.mg-card-actions .mg-detail-btn{
  min-height:46px!important;
  border-radius:999px!important;
  border:1px solid var(--mg8-border)!important;
  background:#fff!important;
  color:#071f55!important;
  font-size:.84rem!important;
  font-weight:950!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:.42rem!important;
  box-shadow:0 9px 20px rgba(7,17,31,.055)!important;
  transition:transform .16s ease, background .16s ease, border-color .16s ease!important;
}
.mg-detail-btn:hover{background:var(--mg8-soft)!important;border-color:var(--mg8-border-strong)!important;transform:translateY(-1px)!important;}
.mg-card-actions .js-add-cart{margin-top:0!important;min-height:46px!important;height:46px!important;border-radius:999px!important;}

/* Coração igual ao padrão da aba Favoritos. Não depende do desenho estranho do FontAwesome. */
.mg-fav-btn,
.produto-card .favorito,
button.favorito{
  width:2.65rem!important;
  height:2.65rem!important;
  min-width:2.65rem!important;
  border-radius:999px!important;
  border:1px solid rgba(220,38,38,.22)!important;
  background:rgba(255,255,255,.96)!important;
  color:var(--mg8-red)!important;
  box-shadow:0 12px 28px rgba(15,23,42,.16),0 0 0 4px rgba(255,255,255,.62)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
  transition:transform .18s ease, background .18s ease, border-color .18s ease, opacity .18s ease!important;
}
.mg-fav-btn:hover,.produto-card .favorito:hover,button.favorito:hover{transform:scale(1.06)!important;background:#fff1f2!important;}
.mg-fav-btn[disabled],.favorito[disabled]{opacity:.65!important;cursor:wait!important;transform:none!important;}
.mg-fav-btn i,.produto-card .favorito i,button.favorito i,.favorito i{
  font-family:Arial,Helvetica,sans-serif!important;
  font-style:normal!important;
  font-weight:900!important;
  line-height:1!important;
  font-size:1.28rem!important;
  display:block!important;
}
.mg-fav-btn i::before,.produto-card .favorito i::before,button.favorito i::before,.favorito i::before{content:'♡'!important;}
.mg-fav-active i::before,.mg-fav-btn[aria-pressed="true"] i::before,.favorito-ativo i::before,.favorito.is-active i::before,.favorito[aria-pressed="true"] i::before{content:'♥'!important;}
.mg-fav-active,.mg-fav-btn[aria-pressed="true"],.favorito-ativo,.favorito.is-active,.favorito[aria-pressed="true"]{background:#fff1f2!important;border-color:rgba(220,38,38,.28)!important;color:var(--mg8-red)!important;}

/* Modal de detalhes: mais limpo e com pegada de página de produto. */
#produtoModal .mg-modal-box{width:min(1040px,calc(100vw - 18px))!important;border-radius:26px!important;}
.mg-detail-layout{display:grid!important;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)!important;gap:20px!important;}
.mg-detail-image-panel{background:linear-gradient(135deg,#fff 0%,#eef5ff 100%)!important;border:1px solid var(--mg8-border)!important;border-radius:22px!important;padding:12px!important;}
.mg-detail-side{border:1px solid var(--mg8-border)!important;border-radius:22px!important;background:#fff!important;padding:18px!important;box-shadow:0 10px 26px rgba(7,17,31,.055)!important;}
.mg-detail-title{font-size:clamp(1.45rem,3.1vw,2.35rem)!important;line-height:1.05!important;letter-spacing:-.055em!important;}
.mg-detail-main-image{aspect-ratio:1/1!important;width:100%!important;max-height:610px!important;object-fit:contain!important;background:transparent!important;border-radius:18px!important;}
.mg-detail-actions{display:grid!important;grid-template-columns:1fr auto!important;gap:.7rem!important;align-items:center!important;}

/* Destaques da home: mais próximo da NoHype, mas mantendo Mandrake. */
#produtosCarrossel .produto-card{border-radius:1.45rem!important;border:1px solid var(--mg8-border)!important;box-shadow:0 12px 30px rgba(7,17,31,.075)!important;}
#produtosCarrossel .produto-card:hover{box-shadow:0 20px 48px rgba(0,87,255,.13)!important;border-color:var(--mg8-border-strong)!important;}
#produtosCarrossel .produto-img{object-fit:contain!important;padding:12px!important;background:linear-gradient(135deg,#fff 0%,#eef5ff 100%)!important;}
#produtosCarrossel .flex.gap-3{gap:.55rem!important;}
#produtosCarrossel .flex.gap-3 > a,
#produtosCarrossel .flex.gap-3 > button{
  min-height:46px!important;
  border-radius:999px!important;
  font-size:.84rem!important;
  font-weight:950!important;
}
#produtosCarrossel .flex.gap-3 > a{border:1px solid var(--mg8-border)!important;background:#fff!important;color:#071f55!important;text-decoration:none!important;box-shadow:0 8px 18px rgba(7,17,31,.055)!important;}
#produtosCarrossel .flex.gap-3 > a:hover{background:var(--mg8-soft)!important;border-color:var(--mg8-border-strong)!important;}

/* Carrinho: produto clicável para voltar à vitrine. */
.cart-product-open,.cart-product-title{
  border:0!important;
  background:transparent!important;
  padding:0!important;
  margin:0!important;
  text-align:left!important;
  color:inherit!important;
  cursor:pointer!important;
}
.cart-product-open{display:block!important;border-radius:1rem!important;overflow:hidden!important;}
.cart-product-open:hover .item-img{filter:saturate(1.05)!important;transform:scale(1.025)!important;}
.cart-product-title h6{transition:color .16s ease!important;}
.cart-product-title:hover h6{color:var(--mg8-blue)!important;text-decoration:underline!important;text-underline-offset:3px!important;}
.item-img{transition:transform .18s ease, filter .18s ease!important;}

#mgUnifiedResults.hidden{display:none!important;}
#mgUnifiedGrid{display:grid!important;}

@media (max-width:900px){
  .mg-detail-layout{grid-template-columns:1fr!important;gap:12px!important;}
  .mg-detail-side{padding:14px!important;}
}
@media (max-width:640px){
  .mg-card-actions{grid-template-columns:1fr!important;gap:.5rem!important;}
  .mg-card-actions .mg-detail-btn,.mg-card-actions .js-add-cart{min-height:44px!important;height:44px!important;}
  #tabsList{margin-left:-2px!important;margin-right:-2px!important;padding-bottom:0!important;}
  .mg-filter-panel .mt-3.flex.items-center.justify-between{display:none!important;}
  #produtosCarrossel .flex.gap-3{grid-template-columns:1fr!important;display:grid!important;}
}
