/* ===========================
   GRID (home usa o .grid do style.css)
   Aqui deixo só o que é específico de CARD
=========================== */

/* CARD PRINCIPAL (LISTAGEM PRODUTOS) */
.pcard{
  background:#ffffff;
  border-radius:24px;
  border:1px solid #f1f1f5;
  box-shadow:0 18px 40px rgba(15,23,42,.06);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

/* TOPO: IMAGEM + BADGES + CORAÇÃO */
.pcard .thumb{
  position:relative;
  background:#fdf2ff;             /* fundo lilás clarinho igual ref */
  aspect-ratio: 4 / 3;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.pcard .thumb img{
  width:100%;
  height:100%;
  object-fit:contain;             /* mostra o produto inteiro */
  transition:transform .25s ease;
}

.pcard:hover .thumb img{
  transform:scale(1.03);
}

/* badge NOVIDADE / DESCONTO */
.pcard .badges{
  position:absolute;
  inset:12px auto auto 12px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.badge{
  background:#f3e8ff;
  color:#4c1d95;
  border-radius:9px;
  padding:6px 12px;
  font-weight:800;
  font-size:12px;
  letter-spacing:.3px;
  text-transform:uppercase;
}
.badge.green{
  background:rgba(16,185,129,.12);
  color:#0b8a61;
}
.badge.pink{
  background:rgba(211,18,27,.12);
  color:#d3121b;
}

/* coração já tem base em style.css; aqui só garante posição */
[data-like]{
  position:absolute;
  right:12px;
  top:12px;
  background:#fff;
  border-radius:999px;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:1px solid rgba(15,23,42,.08);
  font-size:18px;
  text-decoration:none;
  color:#a1a1aa;
}
[data-like].on{
  color:#e11d48;
  border-color:#fbcfe8;
  background:#fff0f5;
}

/* CORPO DO CARD (NOME, PREÇOS, ETC.) */
.pcard .body{
  padding:16px 18px 18px;
  display:flex;
  flex-direction:column;
  gap:6px;
  flex:1;                     /* ocupa o espaço todo para o botão ir pro rodapé */
}

/* TÍTULO: MÁXIMO 3 LINHAS, ALTURA FIXA */
.pcard h3{
  margin:0 0 4px;
  font-size:15px;
  line-height:1.35;
  color:#532955;

  display:-webkit-box;
  -webkit-box-orient:vertical;
  overflow:hidden;
  text-overflow:ellipsis;
  word-break:break-word;

  /* garante mesma altura em todos os cards (fallback se o clamp não funcionar) */
  min-height:4.1em;
  max-height:4.1em;
}

/* linha de preço */
.price-line{
  display:flex;
  align-items:baseline;
  gap:10px;
  flex-wrap:wrap;
  margin-top:4px;
}

.price{
  font-weight:900;
  letter-spacing:.2px;
  font-size:20px;
  color:#7c3aed;          /* roxo forte igual ref */
}

.old{
  color:#9ca3af;
  text-decoration:line-through;
  font-weight:700;
  font-size:13px;
}

/* no pix e parcelamento */
.pix{
  color:#16a34a;
  font-weight:800;
  font-size:12px;
  margin-top:2px;
}

.instal{
  color:#6b7280;
  font-size:12px;
  margin-top:2px;
}

/* rodapé do card: botão COMPRAR 100% largura */
.pcard .actions{
  margin-top:auto;           /* empurra o bloco pro final do card */
  padding-top:12px;
  display:flex;
}

.pcard .btn{
  flex:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:7px 10px;
  border-radius:9px;
  border:none;
  background:#e11d48; /* botão vermelho igual ref */
  color:#ffffff;
  font-weight:800;
  font-size:12px;
  text-transform:uppercase;
  text-decoration:none;
  cursor:pointer;
  box-shadow:0 12px 30px rgba(44, 1, 1, 0.35);
  transition:filter .15s ease, transform .05s ease, box-shadow .15s ease;
}

.pcard .btn:hover{
  filter:brightness(1.06);
  transform:translateY(1px);
  box-shadow:0 10px 24px rgba(220,38,38,.32);
}

.pcard .btn:active{
  transform:translateY(2px);
  box-shadow:0 6px 16px rgba(220,38,38,.35);
}

/* banner-card (rail de vibradores) continua existindo */
.banner-card {
  background: #000; /* Fundo preto caso a imagem demore a carregar */
  border-radius: 24px;
  overflow: hidden;
  position: relative;
  /* Mudei min-height para 447px para casar com a altura da imagem que você gerou */
  /* Se achar muito alto, pode voltar para 280px, mas vai cortar as pernas */
  min-height: 447px; 
  display: flex;
  align-items: flex-end;
  color: #fff;
  text-decoration: none; /* Garante que não tenha sublinhado se for um link */
}

.banner-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* Preenche tudo */
  object-position: top center; /* GARANTE que o rosto/topo da imagem apareça */
  opacity: 1; /* CORRIGIDO: Estava vazio antes */
  z-index: 0; /* Fica atrás do texto */
  transition: transform 0.3s ease; /* Um charme extra: zoom suave ao passar o mouse */
}

/* Efeito opcional: Zoom na imagem quando passa o mouse */
.banner-card:hover img {
  transform: scale(1.05);
}

.banner-card .content {
  position: relative;
  padding: 18px;
  width: 100%;
  z-index: 2; /* Garante que o texto fique ACIMA da imagem */
  /* Adiciona um degradê preto suave apenas no fundo do texto para leitura */
  background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0) 100%);
}

.banner-card .kicker {
  display: inline-block;
  background: #ff4db8;
  color: #fff;
  font-weight: 900;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 12px;
  margin-bottom: 8px;
}

.banner-card h3 {
  margin: 0 0 6px; /* Ajustei margem */
  font-size: 28px;
  line-height: 1.1;
}

.banner-card p {
  margin: 0;
  opacity: 0.9;
  font-size: 14px;
  text-decoration: underline; /* Estilo de link clássico no "Confira" */
}
