/* ============================================================
   AIM brand palette — variables centralizadas (manual de identidad 2026)
   Solo aquí se declara la paleta verde corporativa.
   Estados (rojo error, ámbar warning, azul info) y grises UI se mantienen
   como literales por ser tokens funcionales, no de marca.
   ============================================================ */
:root {
  --aim-green:       #2E7D32;  /* verde institucional principal */
  --aim-green-dark:  #1B5E20;  /* acento, hover, cabeceras */
  --aim-green-light: #66BB6A;  /* acentos secundarios */
  --aim-green-bg:    #E8F5E9;  /* fondos suaves verde */
  --aim-green-soft:  #A5D6A7;  /* borders, pastel */
  --aim-green-pale:  #C8E6C9;  /* tinte muy claro */
}

/* =============================================================================
   Área de socio — clases específicas del módulo
   Diseño tokenizado: usa var(--aim-*) del child theme hello-elementor-aim
   y degrada con fallback si el theme no está activo.
   ============================================================================= */

/* (Cabecera .aim-panel-header retirada 2026-05-15: unificada con
   .aim-hero--compact del área de socio para coherencia visual.) */

/* Grid de tarjetas del panel ------------------------------------------------ */
.aim-panel-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: var(--aim-s-4, 16px);
  margin-bottom: var(--aim-s-2, 8px);
}

/* Modo compact (strip horizontal tipo pestañas) — usado en sub-páginas */
.aim-panel-grid--compact {
  display: flex;
  flex-wrap: wrap;
  gap: var(--aim-s-2, 8px);
  margin: 0 0 var(--aim-s-5, 24px);
  padding: 0;
  border-bottom: 1px solid var(--aim-border, #E5E7EB);
  padding-bottom: var(--aim-s-3, 12px);
}
.aim-panel-grid--compact .aim-panel-card {
  flex: 0 1 auto;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  padding: 8px 14px;
  min-height: 0;
  font-size: 14px;
  gap: 8px;
  text-align: left;
}
.aim-panel-grid--compact .aim-panel-card i,
.aim-panel-grid--compact .aim-panel-card .fa {
  font-size: 1.1em;
}

/* Tarjeta cuadrada con icono + texto (NO confundir con .aim-card del landing) */
.aim-panel-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 22px 14px;
  background: var(--aim-bg, #FFF);
  border: 1px solid var(--aim-border, #E5E7EB);
  border-radius: var(--aim-radius, 8px);
  text-decoration: none;
  color: var(--aim-text, #1F2937);
  font-size: .9em;
  font-weight: 500;
  text-align: center;
  transition: box-shadow var(--aim-t, 180ms ease-out),
              border-color var(--aim-t, 180ms ease-out),
              transform var(--aim-t, 180ms ease-out),
              color var(--aim-t, 180ms ease-out);
  min-height: 92px;
}
.aim-panel-card:hover {
  box-shadow: var(--aim-shadow, 0 4px 16px rgba(0,0,0,.08));
  border-color: var(--aim-green, var(--aim-green));
  color: var(--aim-green, var(--aim-green));
  text-decoration: none;
  transform: translateY(-2px);
}
.aim-panel-card i,
.aim-panel-card .fa {
  font-size: 1.7em;
  color: var(--aim-green, var(--aim-green));
  transition: color var(--aim-t, 180ms ease-out);
}

/* Estado activo: card que corresponde a la página actual (en strip compact) */
.aim-panel-card--active {
  background: var(--aim-green, var(--aim-green));
  border-color: var(--aim-green, var(--aim-green));
  color: #FFF;
  box-shadow: 0 2px 6px rgba(46, 125, 50, .25);
}
.aim-panel-card--active i,
.aim-panel-card--active .fa { color: #FFF; }
.aim-panel-card--active:hover {
  background: var(--aim-green-dark, var(--aim-green-dark));
  border-color: var(--aim-green-dark, var(--aim-green-dark));
  color: #FFF;
  transform: none;
}
.aim-panel-card--active:hover i,
.aim-panel-card--active:hover .fa { color: #FFF; }

/* Variante: baja activa */
.aim-panel-card--baja { border-color: #FECACA; }
.aim-panel-card--baja i { color: var(--aim-danger, #B91C1C); }
.aim-panel-card--baja:hover {
  border-color: var(--aim-danger, #B91C1C);
  color: var(--aim-danger, #B91C1C);
}
.aim-panel-card--baja:hover i { color: var(--aim-danger, #B91C1C); }

/* =============================================================================
   Event card (vista detalle de una inscripción en /mi-actividad/)
   --- 2026-05-18: estilos movidos al theme (style.css ~líneas 1791+). Aquí
   solo se deja el comentario para que quede trazabilidad histórica. El
   gradiente verde sobre el header (deprecado) se eliminó: hacía ilegible
   el texto blanco sobre fondo claro y rompía la jerarquía visual.
   ============================================================================= */

/* =============================================================================
   Backlink "← volver" usado en sub-páginas de paneles operativos
   ============================================================================= */
.aim-backlink {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-bottom: var(--aim-s-3, 12px);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--aim-green, var(--aim-green));
  text-decoration: none;
}
.aim-backlink:hover { color: var(--aim-green-dark, var(--aim-green-dark)); text-decoration: underline; }
.aim-backlinks {
  display: flex;
  gap: var(--aim-s-3, 12px);
  flex-wrap: wrap;
  margin-bottom: var(--aim-s-3, 12px);
}

/* Avatar foto de socio --------------------------------------------------- */
.aim-avatar-wrap { text-align: center; margin-bottom: var(--aim-s-3, 12px); }
.aim-avatar {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid #CCC;
}
.aim-avatar--ok          { border-color: var(--aim-green, var(--aim-green)); }
.aim-avatar--placeholder { border-style: dashed; border-color: var(--aim-border-strong, #AAA); }
.aim-avatar--large       { width: 180px; height: 180px; max-width: 180px; max-height: 180px; }

/* Tarjetas de derechos RGPD --------------------------------------------- */
.aim-rights-grid {
  display: grid;
  gap: 10px;
}
.aim-right-card {
  padding: 12px 14px;
  background: var(--aim-bg-alt, #F9FAFB);
  border-radius: var(--aim-radius, 8px);
  border-left: 3px solid var(--aim-green, var(--aim-green));
}
.aim-right-card--danger { border-left-color: var(--aim-danger, #B91C1C); }
.aim-right-card p {
  margin: 4px 0;
  font-size: 13.5px;
  color: var(--aim-text-soft, #4B5563);
}
.aim-right-card__link {
  display: inline-block;
  margin-top: 4px;
  color: var(--aim-green, var(--aim-green));
  font-size: 13.5px;
  font-weight: 600;
  text-decoration: none;
}
.aim-right-card__link:hover { color: var(--aim-green-dark, var(--aim-green-dark)); }
.aim-right-card__link--danger { color: var(--aim-danger, #B91C1C); }
.aim-right-card__link--danger:hover { color: #7F1D1D; }

/* Etiqueta de plazas en eventos ----------------------------------------- */
.aim-plazas-tag {
  display: inline-block;
  padding: 8px 14px;
  border: 1px solid;
  border-radius: var(--aim-radius-sm, 4px);
  font-size: 13.5px;
  margin: 12px 0;
}
.aim-plazas-tag--ok   { background: var(--aim-green-bg, var(--aim-green-bg)); border-color: var(--aim-green-soft); color: var(--aim-green-dark, var(--aim-green-dark)); }
.aim-plazas-tag--low  { background: #FFF3CD; border-color: #FFC107; color: #856404; }
.aim-plazas-tag--full { background: #FDECEA; border-color: #E57373; color: #C0392B; padding: 10px 16px; display: block; }

/* Form inline (botón dentro de form sin reset) ------------------------- */
.aim-inline-form { display: inline; }
