/* ============================================================
   AIM brand palette - variables centralizadas (manual de identidad 2026)
   Solo aqui se declara la paleta verde corporativa.
   Estados (rojo error, ambar warning, azul info) y grises UI se mantienen
   como literales por ser tokens funcionales, no de marca.
   ============================================================ */
:root {
  --aim-green:       #2E7D32;
  --aim-green-dark:  #1B5E20;
  --aim-green-light: #66BB6A;
  --aim-green-bg:    #E8F5E9;
  --aim-green-soft:  #A5D6A7;
  --aim-green-pale:  #C8E6C9;
}

/* =============================================================================
   Tablas de datos y bloques contenedores del área de socio
   Tokenizado con fallback al child theme hello-elementor-aim.
   ============================================================================= */

/* Bloque contenedor (caja con borde + padding) ----------------------------- */
.aim-data-box {
  background: var(--aim-bg, #FFF);
  border: 1px solid var(--aim-border, #E5E7EB);
  border-radius: var(--aim-radius, 8px);
  padding: 20px 22px;
  margin-bottom: var(--aim-s-4, 16px);
  box-shadow: var(--aim-shadow-sm, 0 1px 2px rgba(0,0,0,.05));
}
.aim-data-box--narrow { max-width: 600px; }

/* Título de sección -------------------------------------------------------- */
.aim-section-title {
  margin: var(--aim-s-6, 32px) 0 var(--aim-s-3, 12px);
  font-size: 17px;
  font-weight: 600;
  color: var(--aim-green, var(--aim-green));
  letter-spacing: -0.01em;
  padding-bottom: 6px;
  border-bottom: 2px solid var(--aim-green, var(--aim-green));
}

/* Tabla clave/valor (datos personales) ------------------------------------- */
.aim-data-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin-bottom: var(--aim-s-3, 12px);
  font-size: .95em;
  background: var(--aim-bg, #FFF);
  border: 1px solid var(--aim-border, #E5E7EB);
  border-radius: var(--aim-radius, 8px);
  overflow: hidden;
}
.aim-data-table th,
.aim-data-table td {
  padding: 11px 14px;
  border-bottom: 1px solid var(--aim-border, #E5E7EB);
  text-align: left;
  vertical-align: top;
  line-height: 1.5;
}
.aim-data-table tr:last-child th,
.aim-data-table tr:last-child td { border-bottom: none; }
.aim-data-table th {
  background: var(--aim-bg-soft, #F3F4F6);
  font-weight: 600;
  color: var(--aim-text-soft, #4B5563);
  width: 38%;
}
.aim-data-table thead th {
  background: var(--aim-green, var(--aim-green));
  color: #FFF;
  width: auto;
}
.aim-data-table tbody tr:hover {
  background: var(--aim-bg-alt, #F9FAFB);
}

/* =============================================================================
   Badges (estado de contribución / membresía / acción)
   ============================================================================= */
.aim-badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: var(--aim-radius-pill, 999px);
  color: #FFF;
  font-size: .78em;
  font-weight: 700;
  letter-spacing: .04em;
  white-space: nowrap;
}
.aim-badge-completed { background: var(--aim-green, var(--aim-green)); }
.aim-badge-pending   { background: var(--aim-warning, #B45309); }
.aim-badge-cancelled,
.aim-badge-failed,
.aim-badge-chargeback { background: var(--aim-danger, #B91C1C); }
.aim-badge-refunded  { background: #6A1B9A; }
.aim-badge-other     { background: var(--aim-muted, #6B7280); }

/* Fila de tabla con contribución cancelada (rosa muy tenue) ---------------- */
.aim-row-cancelled { background: #FEF2F2; }

/* Utilidades para celdas con metadatos secundarios / acciones / importes -- */
.aim-table-meta {
  color: var(--aim-muted, #6B7280);
  font-size: 13px;
}
.aim-table-amount {
  text-align: right;
  font-weight: 600;
  color: var(--aim-text, #1F2937);
  white-space: nowrap;
}
.aim-table-action {
  text-align: right;
  white-space: nowrap;
}
.aim-table-action a {
  color: var(--aim-green, var(--aim-green));
  text-decoration: none;
  font-weight: 600;
  font-size: 13.5px;
}
.aim-table-action a:hover { color: var(--aim-green-dark, var(--aim-green-dark)); }
.aim-table-empty {
  color: var(--aim-muted, #6B7280);
  font-style: italic;
}

/* Fila total destacada (resumen económico, etc.) ------------------- */
.aim-data-table tr.aim-row-total th,
.aim-data-table tr.aim-row-total td {
  background: var(--aim-green-bg, var(--aim-green-bg));
  font-weight: 700;
  border-top: 2px solid var(--aim-green, var(--aim-green));
}
.aim-data-table td.aim-cell-total {
  color: var(--aim-green, var(--aim-green));
  font-size: 1.1em;
}

/* IBAN / código bancario inline ----------------------------------- */
.aim-iban-code {
  font-family: monospace;
  font-size: 1.05em;
}
.aim-concepto-pre {
  background: #FFF;
  border: 1px solid var(--aim-border-strong, #DDD);
  padding: 8px;
  border-radius: var(--aim-radius-sm, 4px);
  font-size: .9em;
  white-space: pre-wrap;
  margin: 0;
}

/* Tabla histórico de inscripciones (variante más aireada) ----------------- */
.aim-historico-table th { background: transparent; color: var(--aim-text-soft, #4B5563); font-size: 12.5px; font-weight: 700; text-transform: none; }
.aim-historico-table thead tr { border-bottom: 2px solid var(--aim-green, var(--aim-green)); }

/* =============================================================================
   CTA "Hazme socio/a" (banner verde con gradiente suave) usado en /mi-actividad/
   ============================================================================= */
.aim-cta-socio {
  background: linear-gradient(135deg, var(--aim-green-bg, var(--aim-green-bg)) 0%, var(--aim-green-pale) 100%);
  border: 1px solid var(--aim-green, var(--aim-green));
  border-radius: var(--aim-radius, 8px);
  padding: 18px 24px;
  margin: var(--aim-s-5, 24px) 0 var(--aim-s-4, 16px);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
}
.aim-cta-socio-body { flex: 1 1 240px; min-width: 0; }
.aim-cta-socio-title {
  margin: 0 0 4px;
  color: var(--aim-green-dark, var(--aim-green-dark));
  font-size: 15.5px;
  font-weight: 700;
}
.aim-cta-socio-desc {
  margin: 0;
  color: #33691E;
  font-size: 13.5px;
  line-height: 1.5;
}
