/**
 * ECOS DESIGN SYSTEM — Primitives: Card
 * Classes: .ecos-card
 * Variantes: --elevated | --outlined | --dark | --glass | --interactive
 *
 * AGENT_GUIDE: Contêiner de conteúdo básico.
 * Para depoimentos: .ecos-card.ecos-card--glass
 * Para dashboard: .ecos-card.ecos-card--elevated
 * Para post social (dark): .ecos-card.ecos-card--dark
 * Ref: AGENT_GUIDE.md#primitives | sections/testimonials.css
 */

.ecos-card {
    background: var(--ecos-color-surface);
    border: 1px solid var(--ecos-color-border);
    border-radius: var(--ecos-radius-xl);
    padding: var(--ecos-space-6);
    box-shadow: var(--ecos-shadow-sm);
    transition:
        box-shadow var(--ecos-transition),
        border-color var(--ecos-transition),
        transform var(--ecos-transition);
}

.ecos-card--elevated {
    border-color: transparent;
    box-shadow: var(--ecos-shadow-lg);
}

.ecos-card--outlined {
    box-shadow: none;
    border-width: 2px;
}

/* Glassmorphism — para fundos escuros */
.ecos-card--glass {
    background: var(--ecos-color-glass-bg);
    border: 1px solid var(--ecos-color-glass-border);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: var(--ecos-shadow-md);
}

/* Dark opaque */
.ecos-card--dark {
    background: var(--ecos-color-surface-2);
    border-color: var(--ecos-color-border);
}

/* Accent border top */
.ecos-card--accent {
    border-top: 4px solid var(--ecos-color-accent);
    border-radius: 0 0 var(--ecos-radius-xl) var(--ecos-radius-xl);
}

/* Interativo (clicável) */
.ecos-card--interactive {
    cursor: pointer;
}

.ecos-card--interactive:hover {
    box-shadow: var(--ecos-shadow-lg);
    border-color: var(--ecos-color-primary);
    transform: translateY(-2px);
}

.ecos-card--interactive:active {
    transform: translateY(0);
}

/* Estruturas internas padrão */
.ecos-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--ecos-space-4);
    gap: var(--ecos-space-3);
}

.ecos-card__body {
    display: flex;
    flex-direction: column;
    gap: var(--ecos-space-3);
}

.ecos-card__footer {
    margin-top: var(--ecos-space-4);
    padding-top: var(--ecos-space-4);
    border-top: 1px solid var(--ecos-color-border-subtle);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--ecos-space-3);
}

.ecos-card__title {
    font-size: var(--ecos-text-xl);
    font-weight: var(--ecos-font-semibold);
    color: var(--ecos-color-text);
    line-height: var(--ecos-leading-snug);
}

.ecos-card__subtitle {
    font-size: var(--ecos-text-sm);
    color: var(--ecos-color-text-muted);
    line-height: var(--ecos-leading-normal);
}

.ecos-card__icon {
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--ecos-color-primary-light);
    color: var(--ecos-color-primary);
    border-radius: var(--ecos-radius-lg);
    font-size: var(--ecos-text-xl);
    flex-shrink: 0;
}