/* === Grid Post Afiliados ===
   Desktop: 3 colunas fixas (3x3+ de acordo com a qtd)
   Mobile (<=600px): 1 coluna
   Ajustes quando há 1 ou 2 produtos: o card não fica esticado artificialmente
*/
.afiliados-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
    margin: 20px 0;
    max-width: 900px;
}
.afiliados-grid.af-count-1 { grid-template-columns: minmax(0, 300px); max-width: 300px; }
.afiliados-grid.af-count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 620px; }

/* ============ CARD ============ */
.afiliados-grid .afiliado-card {
    background-color: #fff !important;
    border: 1px solid #e1e1e1 !important;
    border-radius: 8px !important;
    padding: 12px !important;
    position: relative;
    text-decoration: none !important;
    color: #333 !important;
    transition: box-shadow 0.25s ease, transform 0.15s ease;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
}
.afiliados-grid .afiliado-card:hover,
.afiliados-grid .afiliado-card:focus,
.afiliados-grid .afiliado-card:active {
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18) !important;
    transform: translateY(-3px);
    color: #333 !important;
    text-decoration: none !important;
}

/* Remove sublinhado/borda herdados do tema em qualquer elemento interno do card
   (mantemos o line-through apenas onde queremos — regra específica abaixo) */
.afiliados-grid .afiliado-card,
.afiliados-grid .afiliado-card *,
.afiliados-grid .afiliado-card *::before,
.afiliados-grid .afiliado-card *::after {
    text-decoration: none !important;
    text-decoration-line: none !important;
    text-decoration-color: transparent !important;
    border-bottom: 0 !important;
    background-image: none !important; /* alguns temas usam gradiente p/ fake underline */
}

/* ============ TAG DE DESCONTO (canto sup. direito) ============ */
.afiliados-grid .af-tag-desconto {
    position: absolute !important;
    top: -5px !important;
    right: -5px !important;
    background-color: var(--af-cor-destaque, #ff6600) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: bold !important;
    line-height: 1.2 !important;
    padding: 4px 8px !important;
    border-radius: 4px !important;
    z-index: 10;
    border: 0 !important;
}

/* ============ IMAGEM ============ */
.afiliados-grid .af-imagem-container {
    height: 160px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px;
    overflow: hidden;
    border-radius: 4px;
}
.afiliados-grid .af-imagem {
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    width: auto !important;
    height: auto !important;
}

/* ============ DETALHES ============ */
.afiliados-grid .af-detalhes {
    padding: 5px 0;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

/* ============ ETIQUETA (nome da seção) ============ */
.afiliados-grid .afiliado-card .af-etiqueta {
    display: inline-block !important;
    width: auto !important;
    box-sizing: border-box !important;
    color: var(--af-cor-destaque, #ff6600) !important;
    border: 1px solid var(--af-cor-destaque, #ff6600) !important;
    font-size: 11px !important;
    font-weight: bold !important;
    line-height: 1.4 !important;
    padding: 4px 10px !important;
    border-radius: 3px !important;
    margin: 0 0 10px 0 !important;
    text-transform: uppercase !important;
    align-self: flex-start !important;
    white-space: nowrap !important;
    letter-spacing: 0.3px !important;
    background-color: transparent !important;
    text-decoration: none !important;
    min-height: 0 !important;
    height: auto !important;
    vertical-align: baseline !important;
}

/* ============ TÍTULO ============ */
.afiliados-grid .af-titulo {
    font-size: 15px !important;
    font-weight: 600 !important;
    margin: 0 0 8px 0 !important;
    line-height: 1.3 !important;
    max-height: 2.6em;
    overflow: hidden;
    color: #333 !important;
    text-decoration: none !important;
}

/* ============ PREÇOS ============ */
.afiliados-grid .af-precos {
    display: flex;
    flex-direction: column;
    margin-bottom: 6px;
}
.afiliados-grid .af-preco-desconto {
    font-size: 22px !important;
    line-height: 1.2 !important;
    color: var(--af-cor-destaque, #ff6600) !important;
    font-weight: bold !important;
}
.afiliados-grid .af-no-pix {
    font-size: 12px !important;
    font-weight: normal !important;
    color: #666 !important;
}
/* O preço original MANTÉM o risco (line-through) porque representa o preço antigo */
.afiliados-grid .af-preco-original {
    font-size: 14px !important;
    text-decoration: line-through !important;
    text-decoration-line: line-through !important;
    text-decoration-color: #999 !important;
    color: #999 !important;
    margin-top: 2px !important;
}
.afiliados-grid .af-texto-vendas {
    font-size: 13px !important;
    color: #777 !important;
    margin-top: auto !important;
    padding-top: 4px;
}

/* ============ MOBILE ============ */
@media (max-width: 600px) {
    .afiliados-grid,
    .afiliados-grid.af-count-1,
    .afiliados-grid.af-count-2 {
        grid-template-columns: 1fr;
        max-width: 100%;
    }
    .afiliados-grid .af-tag-desconto { font-size: 11px !important; padding: 3px 6px !important; }
    .afiliados-grid .af-titulo { font-size: 14px !important; }
    .afiliados-grid .af-preco-desconto { font-size: 20px !important; }
    .afiliados-grid .af-preco-original { font-size: 13px !important; }
    .afiliados-grid .af-texto-vendas { font-size: 12px !important; }
}
