/* Componente: cartão de oferta (templates/componentes/cartao-oferta.php) e grade. */
.grade-ofertas { list-style: none; padding: 0; margin: 0; display: grid; gap: 1.25rem; grid-template-columns: repeat(auto-fill, minmax(16.5rem, 1fr)); }
.cartao-oferta {
    position: relative; display: flex; flex-direction: column; height: 100%; overflow: hidden;
    background: #fff; border: 1px solid var(--cor-borda); border-radius: var(--raio-grande);
}
.cartao-oferta:hover { border-color: var(--cor-oferta); box-shadow: var(--sombra); }
.cartao-oferta__faixa { display: block; height: 0.375rem; background: var(--cor-oferta); }
.cartao-oferta__imagem { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: #E2E8F0; }
.cartao-oferta__corpo { display: flex; flex-direction: column; flex: 1; padding: 1.5rem; }
.cartao-oferta__categoria { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; color: var(--cor-ardosia); }
.cartao-oferta__titulo { margin-block: 0.4rem 0.6rem; font-size: 1.1875rem; }
.cartao-oferta__titulo a { color: var(--cor-marinho); text-decoration: none; }
.cartao-oferta__titulo a::after { content: ""; position: absolute; inset: 0; } /* o cartão inteiro vira clicável */
.cartao-oferta__texto {
    color: var(--cor-ardosia); font-size: 0.9375rem;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; /* no máximo 3 linhas */
}
.cartao-oferta__acao { display: inline-flex; align-items: center; gap: 0.35rem; margin-top: auto; padding-top: 1.25rem; font-weight: 700; color: var(--cor-azul); }
.cartao-oferta__acao .icone { width: 1.1rem; height: 1.1rem; }
.cartao-oferta__rodape { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; margin-top: auto; padding-top: 1.25rem; }
.cartao-oferta__rodape .cartao-oferta__acao { margin-top: 0; padding-top: 0; white-space: nowrap; }
.cartao-oferta__tipo { padding: 0.15rem 0.6rem; border-radius: 99px; background: #F1F5F9; font-size: 0.75rem; font-weight: 600; color: var(--cor-grafite); }
