/* ================================================
   CLUB UN MUNDO PARA VIAJAR — ESTILOS
   ================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;1,400&family=DM+Sans:wght@300;400;500;600&display=swap');

:root {
  --club-primary:   #1a3a4a;
  --club-accent:    #e8a020;
  --club-light:     #f5f0e8;
  --club-white:     #ffffff;
  --club-gray:      #6b7280;
  --club-border:    #e2d9cc;
  --club-success:   #059669;
  --club-error:     #dc2626;
  --club-radius:    12px;
  --club-shadow:    0 4px 24px rgba(26,58,74,0.10);
}

/* ---- BOTÓN ME INTERESA (en página de viaje) ---- */
.club-umpv-wrapper {
  margin: 24px 0;
  padding: 20px;
  background: var(--club-light);
  border: 1px solid var(--club-border);
  border-radius: var(--club-radius);
  font-family: 'DM Sans', sans-serif;
}

.club-umpv-interesados-count {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  font-size: 0.95em;
  color: var(--club-primary);
}

.club-count-icon { font-size: 1.2em; }
.club-count-num  { font-weight: 700; font-size: 1.3em; color: var(--club-accent); }

.club-btn-me-interesa {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 14px 22px;
  background: var(--club-primary);
  color: var(--club-white);
  border: none;
  border-radius: 8px;
  font-family: 'DM Sans', sans-serif;
  font-size: 1em;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.25s ease;
}

.club-btn-me-interesa:hover {
  background: #0f2535;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(26,58,74,0.25);
}

.club-btn-me-interesa.club-btn-activo {
  background: var(--club-success);
}

.club-btn-me-interesa.club-btn-activo:hover {
  background: #047857;
}

.club-btn-me-interesa .club-btn-icon { font-size: 1.2em; }

.club-btn-ver-viajeros {
  display: block;
  margin-top: 10px;
  padding: 10px 18px;
  background: transparent;
  color: var(--club-primary);
  border: 2px solid var(--club-primary);
  border-radius: 8px;
  text-align: center;
  text-decoration: none;
  font-family: 'DM Sans', sans-serif;
  font-weight: 600;
  font-size: 0.9em;
  transition: all 0.2s;
}
.club-btn-ver-viajeros:hover {
  background: var(--club-primary);
  color: #fff;
}

.club-nota {
  margin: 8px 0 0;
  font-size: 0.82em;
  color: var(--club-gray);
  font-family: 'DM Sans', sans-serif;
}

/* ---- ANIMACIÓN loading ---- */
.club-btn-me-interesa.club-loading {
  opacity: 0.7;
  pointer-events: none;
}
.club-btn-me-interesa.club-loading .club-btn-text::after {
  content: '...';
  animation: dots 1s infinite;
}
@keyframes dots {
  0%,100% { content: '.'; }
  33%      { content: '..'; }
  66%      { content: '...'; }
}

/* ============================================
   FORMULARIO DE REGISTRO
   ============================================ */
.club-registro-container {
  width: 100%;
  margin: 0;
  padding: 40px;
  background: var(--club-white);
  border-radius: 16px;
  box-shadow: var(--club-shadow);
  font-family: 'DM Sans', sans-serif;
  box-sizing: border-box;
}

.club-registro-header {
  text-align: center;
  margin-bottom: 32px;
}

.club-logo-icon {
  font-size: 3em;
  margin-bottom: 12px;
}

.club-registro-header h2 {
  font-family: 'Playfair Display', serif;
  font-size: 1.9em;
  color: var(--club-primary);
  margin: 0 0 10px;
  line-height: 1.2;
}
.club-registro-header h2 em {
  font-style: italic;
  color: var(--club-accent);
}

.club-registro-header p {
  color: var(--club-gray);
  font-size: 0.95em;
  margin: 0;
}

/* Alertas */
.club-alert {
  padding: 12px 16px;
  border-radius: 8px;
  margin-bottom: 20px;
  font-size: 0.9em;
}
.club-alert-error {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: var(--club-error);
}

/* Formulario */
.club-form { display: flex; flex-direction: column; gap: 16px; }

.club-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

@media (max-width: 480px) {
  .club-form-row { grid-template-columns: 1fr; }
  .club-registro-container { padding: 24px 20px; }
}

.club-form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.club-form-group label {
  font-size: 0.88em;
  font-weight: 600;
  color: var(--club-primary);
}
.club-form-group label span { color: var(--club-error); }

.club-form-group input,
.club-form-group select {
  padding: 11px 14px;
  border: 1.5px solid var(--club-border);
  border-radius: 8px;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.95em;
  color: var(--club-primary);
  background: #fafaf8;
  transition: border-color 0.2s;
  width: 100%;
  box-sizing: border-box;
}

.club-form-group input:focus,
.club-form-group select:focus {
  outline: none;
  border-color: var(--club-accent);
  background: #fff;
}

.club-form-check {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 0.85em;
  color: var(--club-gray);
}
.club-form-check input { width: auto; margin-top: 3px; }
.club-form-check a { color: var(--club-accent); }

.club-btn-submit {
  padding: 15px;
  background: var(--club-accent);
  color: var(--club-primary);
  border: none;
  border-radius: 8px;
  font-family: 'DM Sans', sans-serif;
  font-size: 1em;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s;
  margin-top: 4px;
}
.club-btn-submit:hover {
  background: #d4911a;
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(232,160,32,0.35);
}

.club-login-link {
  text-align: center;
  font-size: 0.87em;
  color: var(--club-gray);
  margin: 4px 0 0;
}
.club-login-link a { color: var(--club-accent); font-weight: 600; }

.club-ya-miembro {
  padding: 16px 20px;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 8px;
  font-family: 'DM Sans', sans-serif;
}
.club-ya-miembro a { color: var(--club-accent); font-weight: 600; }

/* ============================================
   ZONA PRIVADA DEL CLUB
   ============================================ */
.club-zona-container {
  width: 100%;
  margin: 0;
  font-family: 'DM Sans', sans-serif;
  padding-bottom: 60px;
  box-sizing: border-box;
}

/* Header bienvenida */
.club-zona-header {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 28px;
  background: var(--club-primary);
  border-radius: 16px;
  color: white;
  margin-bottom: 28px;
  position: relative;
}

.club-zona-avatar {
  width: 60px;
  height: 60px;
  min-width: 60px;
  background: var(--club-accent);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6em;
  font-weight: 700;
  color: var(--club-primary);
  font-family: 'Playfair Display', serif;
}

.club-zona-welcome h2 {
  margin: 0 0 4px;
  font-size: 1.3em;
  font-family: 'Playfair Display', serif;
}
.club-zona-welcome p {
  margin: 0 0 10px;
  font-size: 0.88em;
  opacity: 0.8;
}

/* Insignia */
.club-insignia {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.82em;
  font-weight: 600;
}
.insignia-nuevo      { background: rgba(255,255,255,0.15); color: white; }
.insignia-explorador { background: #d1fae5; color: #065f46; }
.insignia-frecuente  { background: #fef3c7; color: #92400e; }
.insignia-embajador  { background: #e0e7ff; color: #3730a3; }

.club-logout {
  position: absolute;
  right: 20px;
  top: 20px;
  font-size: 0.8em;
  color: rgba(255,255,255,0.6);
  text-decoration: none;
  border: 1px solid rgba(255,255,255,0.2);
  padding: 4px 10px;
  border-radius: 20px;
  transition: all 0.2s;
}
.club-logout:hover { color: white; border-color: white; }

/* Secciones */
.club-seccion {
  background: var(--club-white);
  border: 1px solid var(--club-border);
  border-radius: 16px;
  padding: 28px;
  margin-bottom: 24px;
  box-shadow: var(--club-shadow);
}

.club-seccion h3 {
  font-family: 'Playfair Display', serif;
  font-size: 1.25em;
  color: var(--club-primary);
  margin: 0 0 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--club-light);
}

/* Grid de viajeros */
.club-viajeros-intro {
  font-size: 0.92em;
  color: var(--club-gray);
  margin: 0 0 16px;
}

.club-viajeros-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 14px;
}

.club-viajero-card {
  background: var(--club-light);
  border: 1px solid var(--club-border);
  border-radius: 12px;
  padding: 16px;
  display: flex;
  gap: 12px;
  align-items: flex-start;
  transition: transform 0.2s, box-shadow 0.2s;
}
.club-viajero-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(26,58,74,0.1);
}

.club-viajero-avatar {
  width: 42px;
  height: 42px;
  min-width: 42px;
  background: var(--club-primary);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1em;
  font-weight: 700;
  color: var(--club-accent);
  font-family: 'Playfair Display', serif;
}

.club-viajero-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
  font-size: 0.85em;
  min-width: 0;
}
.club-viajero-info strong {
  font-size: 0.95em;
  color: var(--club-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.club-viajero-ciudad,
.club-viajero-edad,
.club-viajero-tipo {
  color: var(--club-gray);
  font-size: 0.9em;
}

.club-viajero-insignia {
  margin-left: auto;
  font-size: 1.1em;
  min-width: 24px;
  text-align: center;
}

.club-nota-contacto {
  margin: 16px 0 0;
  font-size: 0.83em;
  color: var(--club-gray);
  background: #fffbf0;
  border: 1px solid #fde68a;
  border-radius: 8px;
  padding: 10px 14px;
}

/* Empty state */
.club-empty-state {
  text-align: center;
  padding: 30px 20px;
  color: var(--club-gray);
}
.club-empty-state p { margin: 0 0 12px; }

.club-btn-secondary {
  display: inline-block;
  padding: 10px 20px;
  background: var(--club-primary);
  color: white;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  font-size: 0.9em;
  transition: background 0.2s;
}
.club-btn-secondary:hover { background: #0f2535; color: white; }

/* Mis viajes */
.club-mis-viajes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 14px;
}

.club-mi-viaje-card {
  text-decoration: none;
  color: var(--club-primary);
  border: 1px solid var(--club-border);
  border-radius: 12px;
  overflow: hidden;
  transition: transform 0.2s, box-shadow 0.2s;
  display: flex;
  flex-direction: column;
}
.club-mi-viaje-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(26,58,74,0.13);
}

.club-mi-viaje-img {
  height: 110px;
  background-size: cover;
  background-position: center;
}
.club-mi-viaje-img--placeholder {
  background: var(--club-light);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5em;
}

.club-mi-viaje-info {
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.club-mi-viaje-info strong {
  font-size: 0.88em;
  line-height: 1.3;
}
.club-mi-viaje-info span {
  font-size: 0.78em;
  color: var(--club-accent);
  font-weight: 600;
}

/* Beneficios */
.club-beneficios-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 12px;
}

.club-beneficio-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  background: var(--club-light);
  border-radius: 8px;
  font-size: 0.88em;
  color: var(--club-primary);
  font-weight: 500;
}
.club-beneficio-icon { font-size: 1.3em; min-width: 24px; }

@media (max-width: 600px) {
  .club-zona-header { flex-direction: column; text-align: center; }
  .club-logout { position: static; margin-top: 8px; }
  .club-viajeros-grid,
  .club-mis-viajes-grid { grid-template-columns: 1fr; }
  .club-beneficios-grid { grid-template-columns: 1fr 1fr; }
}

/* ════════════════════════════════════════════════════
   GRUPOS DE VIAJE — ADMIN
   ════════════════════════════════════════════════════ */

/* Empty state */
.club-grupos-empty {
  text-align:center; padding:60px 40px;
  background:#fff; border-radius:16px;
  box-shadow: var(--club-shadow);
}
.club-grupos-empty-icon { font-size:3.5em; margin-bottom:16px; }
.club-grupos-empty h3 { font-size:1.4em; color:var(--club-primary); margin:0 0 8px; }
.club-grupos-empty p  { color:var(--club-gray); margin:0 0 20px; }

/* Grid de tarjetas en admin */
.club-grupos-grid {
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap:20px;
  margin-top:20px;
}

.club-grupo-card {
  background:#fff;
  border-radius:14px;
  box-shadow: 0 2px 12px rgba(26,58,74,.09);
  border:1px solid var(--club-border);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  transition: transform .2s, box-shadow .2s;
}
.club-grupo-card:hover {
  transform:translateY(-3px);
  box-shadow:0 8px 28px rgba(26,58,74,.15);
}

.club-grupo-card-header {
  padding:20px;
  background:linear-gradient(135deg, var(--club-primary) 0%, #0d2535 100%);
  color:#fff;
  position:relative;
}
.club-grupo-card-estado {
  display:inline-block;
  padding:2px 10px;
  border-radius:20px;
  font-size:.72em;
  font-weight:700;
  color:#fff;
  margin-bottom:8px;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.club-grupo-card-header h3 { margin:0 0 4px; font-size:1.05em; font-family:'Playfair Display',serif; }
.club-grupo-destino,
.club-grupo-fecha { margin:2px 0; font-size:.82em; opacity:.85; }
.club-grupo-viaje { color:var(--club-accent); font-size:.85em; margin:0 0 10px; }

.club-grupo-card-body { padding:16px 20px; flex:1; }

.club-grupo-stats {
  display:flex; gap:12px; margin-bottom:14px;
}
.club-grupo-stat {
  flex:1; text-align:center;
  background:var(--club-light);
  border-radius:8px; padding:8px 4px;
}
.club-grupo-stat-num { display:block; font-size:1.5em; font-weight:700; color:var(--club-accent); }
.club-grupo-stat-label { font-size:.72em; color:var(--club-gray); }

.club-grupo-tags {
  display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px;
}
.club-grupo-tag {
  background:rgba(26,58,74,.07);
  color:var(--club-primary);
  border-radius:20px;
  padding:3px 10px;
  font-size:.78em;
  font-weight:500;
}

/* Shortcode en admin */
.club-grupo-shortcode,
.club-shortcode-box {
  background:#f8f4ec;
  border:1.5px dashed var(--club-accent);
  border-radius:8px;
  padding:10px 14px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  transition:background .2s;
}
.club-grupo-shortcode:hover,
.club-shortcode-box:hover { background:#fef3d0; }
.club-grupo-shortcode code,
.club-shortcode-box code {
  font-size:.85em;
  color:var(--club-primary);
  font-family:monospace;
  word-break:break-all;
}
.club-shortcode-copy {
  font-size:.78em;
  color:var(--club-accent);
  white-space:nowrap;
  font-weight:600;
}

.club-grupo-card-footer {
  padding:12px 20px;
  background:var(--club-light);
  border-top:1px solid var(--club-border);
  display:flex;
  gap:8px;
}
.club-btn-borrar { color:#dc2626 !important; border-color:#dc2626 !important; }
.club-btn-borrar:hover { background:#dc2626 !important; color:#fff !important; }

/* Formulario de grupos */
.club-form-cols {
  display:grid;
  grid-template-columns: 1fr 340px;
  gap:20px;
  margin-top:16px;
}
@media(max-width:900px){ .club-form-cols{ grid-template-columns:1fr; } }

.club-campo { margin-bottom:16px; }
.club-campo label {
  display:block; font-weight:600; margin-bottom:5px;
  font-size:.9em; color:var(--club-primary);
}
.club-campo .required { color:#dc2626; }
.club-campo-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media(max-width:600px){ .club-campo-row{ grid-template-columns:1fr; } }

/* Tags sugeridas */
.club-tags-sugeridas { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:8px; }
.club-tag-sugerida {
  background:var(--club-light);
  border:1.5px solid var(--club-border);
  color:var(--club-primary);
  border-radius:20px;
  padding:5px 14px;
  font-size:.83em;
  cursor:pointer;
  transition:all .18s;
}
.club-tag-sugerida:hover { border-color:var(--club-accent); background:#fff; }
.club-tag-sugerida.club-tag-activa {
  background:var(--club-primary);
  border-color:var(--club-primary);
  color:#fff;
}

/* Detalle grupo admin */
.club-grupo-detalle-header {
  background:#fff;
  border-radius:14px;
  padding:24px;
  box-shadow:var(--club-shadow);
  margin-bottom:24px;
}
.club-grupo-detalle-meta {
  display:flex; flex-wrap:wrap; gap:16px;
  align-items:center;
  font-size:.92em; color:var(--club-primary);
}
.club-grupo-detalle-meta a { color:var(--club-accent); font-weight:600; }
.club-estado-badge {
  padding:3px 12px; border-radius:20px;
  font-size:.78em; font-weight:700;
  color:#fff;
}
.club-estado-activo  { background:#059669; }
.club-estado-cerrado { background:#dc2626; }
.club-estado-borrador{ background:#9ca3af; }

/* ════════════════════════════════════════════════════
   GRUPOS DE VIAJE — PÚBLICO (shortcode)
   ════════════════════════════════════════════════════ */
.club-grupo-publico {
  font-family:'DM Sans',sans-serif;
  max-width:780px;
  margin:0 auto;
}

/* Cabecera pública */
.cgp-header {
  background:linear-gradient(135deg,#1a3a4a 0%,#0f2535 100%);
  color:#fff;
  border-radius:18px 18px 0 0;
  padding:32px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
}
@media(max-width:560px){ .cgp-header{ flex-direction:column; } }

.cgp-titulo {
  font-family:'Playfair Display',serif;
  font-size:1.6em; margin:0 0 10px;
  line-height:1.2;
}
.cgp-descripcion {
  font-size:.92em; opacity:.85; margin:0 0 14px;
  line-height:1.5;
}
.cgp-meta {
  display:flex; flex-wrap:wrap; gap:12px;
  font-size:.84em; opacity:.8;
}
.cgp-meta a { color:var(--club-accent); }

.cgp-header-stats { text-align:center; min-width:120px; }
.cgp-stat-big { display:flex; flex-direction:column; margin-bottom:12px; }
.cgp-stat-num { font-size:2.8em; font-weight:700; color:var(--club-accent); line-height:1; }
.cgp-stat-lbl { font-size:.75em; opacity:.7; margin-top:4px; }

.cgp-capacidad { font-size:.78em; opacity:.8; }
.cgp-barra {
  background:rgba(255,255,255,.2);
  border-radius:20px; height:6px;
  margin-bottom:4px; overflow:hidden;
}
.cgp-barra-fill {
  background:var(--club-accent);
  height:100%; border-radius:20px;
  transition:width .5s;
}

/* Etiquetas públicas */
.cgp-tags {
  background:#f5f0e8;
  padding:14px 24px;
  display:flex; flex-wrap:wrap; gap:8px;
}
.cgp-tag {
  background:rgba(26,58,74,.08);
  color:var(--club-primary);
  border-radius:20px; padding:4px 14px;
  font-size:.8em; font-weight:600;
}

/* Vista de viajeros */
.cgp-viajeros-preview {
  padding:24px;
  background:#fff;
  border-left:1px solid var(--club-border);
  border-right:1px solid var(--club-border);
}
.cgp-viajeros-preview h4 {
  font-family:'Playfair Display',serif;
  font-size:1.05em; color:var(--club-primary);
  margin:0 0 16px;
}
.cgp-viajeros-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(200px,1fr));
  gap:12px;
}
.cgp-viajero-card {
  background:var(--club-light);
  border:1px solid var(--club-border);
  border-radius:12px;
  padding:14px;
  display:flex;
  gap:10px;
  align-items:flex-start;
  transition:transform .2s;
}
.cgp-viajero-card:hover { transform:translateY(-2px); }
.cgp-card-blur { filter:blur(5px); pointer-events:none; user-select:none; }

.cgp-viajero-avatar {
  width:38px; height:38px; min-width:38px;
  background:var(--club-primary);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:1em; font-weight:700; color:var(--club-accent);
  font-family:'Playfair Display',serif;
}
.cgp-viajero-info {
  display:flex; flex-direction:column;
  gap:3px; font-size:.82em; min-width:0;
}
.cgp-viajero-info strong { font-size:.92em; color:var(--club-primary); }
.cgp-viajero-info span { color:var(--club-gray); }
.cgp-viajero-insignia { margin-left:auto; font-size:1.1em; }
.cgp-viajero-mas {
  display:flex; align-items:center; justify-content:center;
  background:var(--club-primary); color:#fff;
  border-radius:12px; font-weight:700; font-size:.9em;
}
.cgp-blur-aviso {
  text-align:center; margin:16px 0 0;
  color:var(--club-gray); font-size:.85em;
  padding:10px; background:var(--club-light); border-radius:8px;
}

/* Botón acción */
.cgp-accion {
  padding:20px 24px;
  background:#fff;
  border:1px solid var(--club-border);
  border-radius:0 0 18px 18px;
}
.cgp-btn-interesa,
.cgp-btn-consentir {
  width:100%; border:none; border-radius:10px; cursor:pointer;
  transition:all .22s; font-family:'DM Sans',sans-serif;
}
.cgp-btn-interesa {
  background:var(--club-primary); color:#fff;
  padding:16px 24px;
  display:flex; flex-direction:column; align-items:center; gap:4px;
}
.cgp-btn-interesa span { font-size:1.05em; font-weight:700; }
.cgp-btn-interesa small { font-size:.8em; opacity:.75; }
.cgp-btn-interesa:hover { background:#0f2535; transform:translateY(-2px); box-shadow:0 6px 20px rgba(26,58,74,.25); }

.cgp-btn-consentir {
  background:transparent; color:var(--club-primary);
  border:2px solid var(--club-primary) !important;
  padding:14px; font-size:.95em; font-weight:600;
}
.cgp-btn-consentir:hover { background:var(--club-primary); color:#fff; }

.cgp-ya-miembro {
  background:#f0fdf4; border:1px solid #bbf7d0; border-radius:10px;
  padding:16px; text-align:center;
  color:#166534; font-weight:600;
  display:flex; flex-direction:column; gap:4px;
}
.cgp-ya-miembro span { font-size:.85em; font-weight:400; opacity:.8; }

.cgp-lleno {
  background:#fef2f2; border:1px solid #fecaca; border-radius:10px;
  padding:16px; text-align:center; color:#dc2626; font-weight:600;
}

/* ════════════ POPUP DE CONSENTIMIENTO ════════════ */
.cgp-popup-overlay {
  position:fixed; inset:0; z-index:99999;
  background:rgba(15,37,53,.75);
  backdrop-filter:blur(4px);
  display:flex; align-items:center; justify-content:center;
  padding:20px;
  animation: cgpFadeIn .25s ease;
}
@keyframes cgpFadeIn { from{ opacity:0; } to{ opacity:1; } }

.cgp-popup {
  background:#fff;
  border-radius:20px;
  max-width:500px; width:100%;
  padding:36px;
  position:relative;
  box-shadow:0 24px 60px rgba(15,37,53,.35);
  animation: cgpSlideUp .28s ease;
  max-height:90vh;
  overflow-y:auto;
}
@keyframes cgpSlideUp { from{ transform:translateY(30px); opacity:0; } to{ transform:translateY(0); opacity:1; } }

.cgp-popup-cerrar {
  position:absolute; top:16px; right:16px;
  background:none; border:none;
  font-size:1.2em; cursor:pointer;
  color:var(--club-gray); transition:color .2s;
  width:32px; height:32px;
  display:flex; align-items:center; justify-content:center;
  border-radius:50%;
}
.cgp-popup-cerrar:hover { background:var(--club-light); color:var(--club-primary); }

.cgp-popup-icon {
  font-size:3em; text-align:center; margin-bottom:12px;
}
.cgp-popup h3 {
  font-family:'Playfair Display',serif;
  font-size:1.4em; color:var(--club-primary);
  text-align:center; margin:0 0 12px;
}
.cgp-popup > p {
  color:var(--club-gray); font-size:.93em;
  text-align:center; margin:0 0 20px; line-height:1.5;
}

.cgp-consentimiento-detalle {
  background:var(--club-light);
  border-radius:12px; padding:18px 20px;
  margin:0 0 16px;
}
.cgp-consentimiento-detalle h4 {
  font-size:.88em; font-weight:700;
  color:var(--club-primary); margin:0 0 10px;
  text-transform:uppercase; letter-spacing:.05em;
}
.cgp-consentimiento-detalle ul {
  margin:0; padding:0 0 0 4px;
  list-style:none; display:flex; flex-direction:column; gap:5px;
}
.cgp-consentimiento-detalle li { font-size:.85em; color:var(--club-primary); }

.cgp-consentimiento-legal {
  background:#fff8e6; border-radius:8px; padding:12px 14px;
  margin-bottom:20px;
}
.cgp-consentimiento-legal p { font-size:.78em; color:#92400e; margin:0; line-height:1.5; }

.cgp-popup-btns { display:flex; flex-direction:column; gap:10px; }
.cgp-popup-btn-primary {
  display:block; width:100%; padding:15px;
  background:var(--club-accent); color:var(--club-primary);
  border:none; border-radius:10px;
  font-family:'DM Sans',sans-serif; font-size:1em; font-weight:700;
  cursor:pointer; text-align:center; text-decoration:none;
  transition:all .2s;
}
.cgp-popup-btn-primary:hover { background:#d4911a; transform:translateY(-1px); }
.cgp-popup-btn-secondary {
  display:block; width:100%; padding:12px;
  background:transparent; color:var(--club-gray);
  border:1.5px solid var(--club-border) !important;
  border-radius:10px;
  font-family:'DM Sans',sans-serif; font-size:.9em;
  cursor:pointer; text-align:center; text-decoration:none;
  transition:all .2s;
}
.cgp-popup-btn-secondary:hover { border-color:var(--club-primary) !important; color:var(--club-primary); }

/* ════════════════════════════════════════════════
   GRUPOS — ADMIN
   ════════════════════════════════════════════════ */
.club-grupos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px;margin-top:18px;}
.club-grupo-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.08);border:1px solid #e5e7eb;overflow:hidden;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s;}
.club-grupo-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.13);}
.club-grupo-card-top{padding:18px 20px;background:linear-gradient(135deg,#1a3a4a,#0d2535);color:#fff;}
.club-grupo-card-top h3{margin:6px 0 4px;font-size:1em;line-height:1.3;}
.club-grupo-card-top p{margin:2px 0;font-size:.8em;opacity:.8;}
.club-estado-pill{display:inline-block;padding:2px 9px;border-radius:20px;font-size:.7em;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.04em;}
.club-estado-activo{background:#059669;}.club-estado-cerrado{background:#dc2626;}.club-estado-borrador{background:#9ca3af;}
.club-grupo-card-body{padding:14px 18px;flex:1;}
.club-grupo-stats-row{display:flex;gap:10px;margin-bottom:12px;}
.cgs{flex:1;background:#f7f7f7;border-radius:8px;padding:8px 6px;text-align:center;}
.cgs strong{display:block;font-size:1.4em;color:#e8a020;}
.cgs span{font-size:.72em;color:#666;}
.club-nivel-acceso{font-size:.78em;color:#555;margin-bottom:10px;padding:4px 8px;background:#f0f4f8;border-radius:6px;display:inline-block;}
.club-grupo-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px;}
.club-tag{background:#f0f0f0;color:#444;border-radius:20px;padding:2px 10px;font-size:.76em;font-weight:500;}
/* Shortcode box */
.club-sc-box{background:#fffbf0;border:1.5px dashed #e8a020;border-radius:8px;padding:9px 12px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;transition:background .15s;}
.club-sc-box:hover{background:#fef3d0;}
.club-sc-box code{font-size:.82em;color:#1a3a4a;word-break:break-all;}
.club-sc-copy{font-size:.75em;color:#e8a020;font-weight:700;white-space:nowrap;}
.club-grupo-card-footer{padding:10px 18px;background:#f9fafb;border-top:1px solid #e5e7eb;display:flex;gap:6px;}
.club-btn-del{color:#dc2626!important;border-color:#dc2626!important;}
.club-btn-del:hover{background:#dc2626!important;color:#fff!important;}
/* Formulario grupos */
.club-form-layout{display:grid;grid-template-columns:1fr 310px;gap:18px;margin-top:14px;}
@media(max-width:860px){.club-form-layout{grid-template-columns:1fr;}}
.club-campo{margin-bottom:14px;}
.club-campo label{display:block;font-weight:600;margin-bottom:4px;font-size:.88em;color:#1a3a4a;}
.club-tags-picker{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:6px;}
.club-tag-pill{background:#f0f0f0;border:1.5px solid #ddd;color:#444;border-radius:20px;padding:5px 13px;font-size:.82em;cursor:pointer;transition:all .15s;}
.club-tag-pill:hover{border-color:#e8a020;}
.club-tag-pill.active{background:#1a3a4a;border-color:#1a3a4a;color:#fff;}
/* Detalle */
.club-detalle-header{background:#fff;border-radius:12px;padding:22px;box-shadow:0 2px 10px rgba(0,0,0,.08);margin-bottom:20px;}

/* ════════════════════════════════════════════════
   GRUPOS — SHORTCODE PÚBLICO
   ════════════════════════════════════════════════ */
.cgp{font-family:'DM Sans',sans-serif;width:100%;margin:0;border-radius:14px;overflow:hidden;box-shadow:0 2px 16px rgba(26,58,74,.10);border:1px solid #e5e0d8;box-sizing:border-box;}
.cgp-head{background:linear-gradient(135deg,#1a3a4a,#0d2535);color:#fff;padding:30px;}
.cgp-acceso-label{display:inline-block;background:rgba(232,160,32,.2);border:1px solid #e8a020;color:#e8a020;border-radius:20px;padding:3px 12px;font-size:.78em;font-weight:700;margin-bottom:12px;}
.cgp-titulo{font-size:1.6em;margin:0 0 10px;line-height:1.2;}
.cgp-desc{font-size:.9em;opacity:.8;margin:0 0 14px;line-height:1.5;}
.cgp-meta-row{display:flex;flex-wrap:wrap;gap:14px;font-size:.84em;opacity:.75;margin-bottom:16px;}
.cgp-counter{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.cgp-counter strong{font-size:2em;font-weight:700;color:#e8a020;line-height:1;}
.cgp-counter span{font-size:.85em;opacity:.8;}
.cgp-counter small{font-size:.78em;opacity:.7;}
.cgp-barra{background:rgba(255,255,255,.2);border-radius:20px;height:5px;width:120px;overflow:hidden;}
.cgp-barra-fill{background:#e8a020;height:100%;border-radius:20px;transition:width .5s;}
.cgp-tags-row{background:#f7f5f0;padding:12px 24px;display:flex;flex-wrap:wrap;gap:7px;border-bottom:1px solid #e5e0d8;}
.cgp-tag{background:#fff;border:1px solid #e5e0d8;color:#1a3a4a;border-radius:20px;padding:3px 12px;font-size:.79em;font-weight:600;}
/* Viajeros */
.cgp-viajeros{padding:22px 24px;background:#fff;border-bottom:1px solid #e5e0d8;}
.cgp-viajeros h4{font-size:1em;color:#1a3a4a;margin:0 0 14px;}
.cgp-viajeros-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:10px;}
.cgp-card{background:#f7f5f0;border:1px solid #e5e0d8;border-radius:10px;padding:12px;display:flex;gap:10px;align-items:flex-start;transition:transform .18s;}
.cgp-card:hover{transform:translateY(-2px);}
.cgp-blur{filter:blur(5px);pointer-events:none;user-select:none;}
.cgp-avatar{width:36px;height:36px;min-width:36px;border-radius:50%;background:#1a3a4a;color:#e8a020;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95em;}
.cgp-info{display:flex;flex-direction:column;gap:2px;font-size:.82em;min-width:0;flex:1;}
.cgp-info strong{color:#1a3a4a;font-size:.92em;}
.cgp-info span{color:#6b7280;}
.cgp-ins{font-size:1.1em;margin-left:auto;}
.cgp-mas{display:flex;align-items:center;justify-content:center;background:#1a3a4a;color:#fff;border-radius:10px;font-weight:700;font-size:.9em;min-height:70px;}
.cgp-blur-aviso{margin:14px 0 0;text-align:center;color:#6b7280;font-size:.84em;background:#f7f5f0;border-radius:8px;padding:10px;}
/* Acción */
.cgp-accion{padding:20px 24px;background:#fff;}
.cgp-btn-principal{width:100%;border:none;border-radius:10px;cursor:pointer;background:#1a3a4a;color:#fff;padding:16px 24px;display:flex;flex-direction:column;align-items:center;gap:4px;font-family:inherit;transition:all .22s;}
.cgp-btn-principal span{font-size:1.05em;font-weight:700;}
.cgp-btn-principal small{font-size:.8em;opacity:.75;}
.cgp-btn-principal:hover{background:#0d2535;transform:translateY(-2px);box-shadow:0 8px 24px rgba(26,58,74,.28);}
.cgp-btn-secundario{width:100%;border:2px solid #1a3a4a!important;background:transparent;color:#1a3a4a;border-radius:10px;padding:13px;cursor:pointer;font-family:inherit;font-size:.95em;font-weight:600;transition:all .2s;}
.cgp-btn-secundario:hover{background:#1a3a4a;color:#fff;}
.cgp-estado-box{padding:14px 18px;border-radius:10px;font-weight:600;text-align:center;}
.cgp-ok{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;}
.cgp-lleno{background:#fef2f2;color:#dc2626;border:1px solid #fecaca;}
.cgp-bloqueado{background:#fffbeb;color:#92400e;border:1px solid #fcd34d;}
/* Popup */
.cgp-overlay{position:fixed;inset:0;z-index:99999;background:rgba(13,37,53,.78);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:20px;animation:cgpFade .22s ease;}
@keyframes cgpFade{from{opacity:0}to{opacity:1}}
.cgp-popup{background:#fff;border-radius:20px;max-width:480px;width:100%;padding:36px;position:relative;max-height:90vh;overflow-y:auto;box-shadow:0 28px 70px rgba(13,37,53,.38);animation:cgpUp .26s ease;}
@keyframes cgpUp{from{transform:translateY(28px);opacity:0}to{transform:translateY(0);opacity:1}}
.cgp-popup-x{position:absolute;top:14px;right:14px;background:none;border:none;font-size:1.1em;cursor:pointer;color:#6b7280;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .15s;}
.cgp-popup-x:hover{background:#f7f5f0;}
.cgp-popup-icon{font-size:2.8em;text-align:center;margin-bottom:10px;}
.cgp-popup h3{font-size:1.3em;color:#1a3a4a;text-align:center;margin:0 0 10px;}
.cgp-popup>p{color:#6b7280;font-size:.9em;text-align:center;line-height:1.55;margin:0 0 18px;}
.cgp-datos-box{background:#f7f5f0;border-radius:12px;padding:16px 18px;margin-bottom:14px;}
.cgp-datos-titulo{font-size:.82em;font-weight:700;color:#1a3a4a;text-transform:uppercase;letter-spacing:.05em;margin:0 0 10px;}
.cgp-datos-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;}
.cgp-dato{font-size:.82em;color:#1a3a4a;padding:2px 0;}
.cgp-dato-no{color:#6b7280;}
.cgp-legal{background:#fff8e6;border-radius:8px;padding:11px 13px;margin-bottom:18px;font-size:.77em;color:#92400e;line-height:1.55;}
.cgp-popup-btns{display:flex;flex-direction:column;gap:8px;}
.cgp-btn-ok{display:block;width:100%;padding:14px;border:none;border-radius:10px;background:#e8a020;color:#1a3a4a;font-family:inherit;font-size:1em;font-weight:700;cursor:pointer;text-align:center;text-decoration:none;transition:all .2s;box-sizing:border-box;}
.cgp-btn-ok:hover{background:#d4911a;transform:translateY(-1px);}
.cgp-btn-ok:disabled{opacity:.65;cursor:wait;transform:none;}
.cgp-btn-cancel{display:block;width:100%;padding:11px;background:transparent;border:1.5px solid #e5e0d8!important;border-radius:10px;font-family:inherit;font-size:.9em;color:#6b7280;cursor:pointer;text-align:center;text-decoration:none;transition:all .2s;box-sizing:border-box;}
.cgp-btn-cancel:hover{border-color:#1a3a4a!important;color:#1a3a4a;}
.cgp-popup-msg{border-radius:8px;padding:11px 13px;font-size:.88em;margin-top:10px;}
@media(max-width:500px){.cgp-datos-grid{grid-template-columns:1fr;}.cgp-popup{padding:24px;}.cgp-head{padding:22px;}.cgp-titulo{font-size:1.3em;}}

/* ══════════════════════════════════════════════
   FOTO DE PERFIL — zona privada
   ══════════════════════════════════════════════ */
.club-zona-avatar-wrap{position:relative;flex-shrink:0;}
.club-zona-avatar-foto{width:72px;height:72px;border-radius:50%;object-fit:cover;border:3px solid #e8a020;display:block;}
.club-zona-avatar-edit{position:absolute;bottom:0;right:0;background:#e8a020;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.75em;cursor:pointer;line-height:1;transition:background .2s;}
.club-zona-avatar-edit:hover{background:#d4911a;}

/* ══════════════════════════════════════════════
   ENCUESTA [club_encuesta]
   ══════════════════════════════════════════════ */
.cenc{width:100%;margin:0;font-family:inherit;box-sizing:border-box;}
.cenc-desc{color:#6b7280;font-size:.95em;margin:0 0 22px;text-align:center;}
.cenc-opciones{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin-bottom:20px;}
.cenc-opcion{border-radius:14px;border:2px solid #e5e0d8;background:#fff;overflow:hidden;transition:all .22s;display:flex;flex-direction:column;}
.cenc-opcion:hover{border-color:#1a3a4a;box-shadow:0 6px 20px rgba(26,58,74,.12);}
.cenc-opcion-activa{border-color:#e8a020!important;box-shadow:0 6px 20px rgba(232,160,32,.2);}
.cenc-op-img{height:160px;background-size:cover;background-position:center;}
.cenc-op-body{padding:16px 18px;display:flex;flex-direction:column;gap:10px;flex:1;}
.cenc-op-info h3{font-size:1.05em;color:#1a3a4a;margin:0 0 4px;line-height:1.3;}
.cenc-op-info p{font-size:.85em;color:#6b7280;margin:0;}
.cenc-op-destino{font-size:.82em;color:#888;display:block;margin-top:4px;}
.cenc-op-barra-wrap{display:flex;flex-direction:column;gap:5px;}
.cenc-op-barra{background:#f0ede8;border-radius:20px;height:7px;overflow:hidden;}
.cenc-op-barra-fill{height:100%;background:linear-gradient(90deg,#1a3a4a,#e8a020);border-radius:20px;transition:width .5s ease;}
.cenc-op-votos{font-size:.8em;color:#888;}
.cenc-op-votos strong{color:#1a3a4a;font-size:1.05em;}
.cenc-btn-votar{width:100%;border:none;border-radius:8px;background:#1a3a4a;color:#fff;padding:10px 16px;font-family:inherit;font-size:.9em;font-weight:600;cursor:pointer;transition:all .2s;margin-top:auto;}
.cenc-btn-votar:hover{background:#0d2535;transform:translateY(-1px);}
.cenc-btn-votar:disabled{opacity:.6;cursor:wait;}
.cenc-voted-badge{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;border-radius:8px;padding:8px 12px;font-size:.85em;font-weight:700;text-align:center;}
.cenc-ya-votaste{background:#f7f5f0;color:#9ca3af;border-radius:8px;padding:8px 12px;font-size:.82em;text-align:center;}
.cenc-btn-grupo{width:100%;border:2px solid #e8a020!important;border-radius:8px;background:#fffbf0;color:#92400e;padding:10px 14px;font-family:inherit;font-size:.85em;font-weight:700;cursor:pointer;transition:all .2s;line-height:1.35;margin-top:4px;}
.cenc-btn-grupo:hover{background:#e8a020;color:#1a3a4a;}
.cenc-aviso-login{text-align:center;color:#6b7280;font-size:.88em;padding:14px;background:#f7f5f0;border-radius:10px;}
.cenc-aviso-login a{color:#1a3a4a;font-weight:600;}

/* ══════════════════════════════════════════════
   POPUP GRUPO desde encuesta — grid fotos
   ══════════════════════════════════════════════ */
.cgpp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin-bottom:14px;max-height:280px;overflow-y:auto;padding-right:4px;}
.cgpp-card{background:#f7f5f0;border:1px solid #e5e0d8;border-radius:12px;padding:12px 10px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;transition:transform .18s;}
.cgpp-card:hover{transform:translateY(-2px);}
.cgpp-avatar-wrap{width:56px;height:56px;border-radius:50%;overflow:hidden;flex-shrink:0;}
.cgpp-avatar-img{width:100%;height:100%;object-fit:cover;display:block;}
.cgpp-avatar-ini{width:56px!important;height:56px!important;font-size:1.2em;}
.cgpp-card .cgp-info{align-items:center;}
.cgpp-card .cgp-info strong{font-size:.88em;}
.cgpp-card .cgp-info span{font-size:.78em;}

@media(max-width:600px){
  .cenc-opciones{grid-template-columns:1fr;}
  .cgpp-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));}
}

/* ══════════════════════════════════════════════
   PERFIL AMPLIADO
   ══════════════════════════════════════════════ */
.club-perfil-form{margin-top:8px;}
.club-perfil-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;}
.club-campo-perfil{display:flex;flex-direction:column;gap:5px;}
.club-campo-perfil label{font-size:.82em;font-weight:700;color:#1a3a4a;text-transform:uppercase;letter-spacing:.04em;}
.club-campo-perfil label small{font-weight:400;text-transform:none;letter-spacing:0;color:#888;}
.club-campo-perfil input,.club-campo-perfil select,.club-campo-perfil textarea{border:1.5px solid #e5e0d8;border-radius:8px;padding:9px 12px;font-family:inherit;font-size:.9em;color:#1a3a4a;background:#fff;transition:border-color .2s;width:100%;box-sizing:border-box;}
.club-campo-perfil input:focus,.club-campo-perfil select:focus,.club-campo-perfil textarea:focus{outline:none;border-color:#1a3a4a;}
.club-campo-perfil textarea{resize:vertical;min-height:80px;}
.club-perfil-redes{margin-top:18px;padding-top:16px;border-top:1px solid #e5e0d8;}
.club-perfil-redes h4{font-size:.92em;color:#1a3a4a;margin:0 0 12px;font-weight:700;}
.club-perfil-redes small{font-weight:400;color:#888;}
.club-btn-perfil-guardar{margin-top:18px;background:#1a3a4a;color:#fff;border:none;border-radius:10px;padding:12px 28px;font-family:inherit;font-size:.95em;font-weight:700;cursor:pointer;transition:all .2s;}
.club-btn-perfil-guardar:hover{background:#0d2535;transform:translateY(-1px);}

/* Grupo card con link */
.club-mi-viaje-link{text-decoration:none;color:inherit;display:block;transition:all .2s;}
.club-mi-viaje-link:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(26,58,74,.15);border-color:#1a3a4a!important;}
.club-viaje-ver-mas{display:inline-block;margin-top:6px;font-size:.8em;color:#1a3a4a;font-weight:700;}

/* Botón ver página grupo en encuesta finalizada */
.cenc-btn-ver-grupo{display:inline-block;padding:9px 16px;background:#f0f7ff;border:1.5px solid #1a3a4a;border-radius:8px;color:#1a3a4a;font-size:.85em;font-weight:600;text-decoration:none;transition:all .2s;}
.cenc-btn-ver-grupo:hover{background:#1a3a4a;color:#fff;}

/* ══ NIVELES Silver / Gold / Platinum ══ */
.insignia-silver  { background:linear-gradient(135deg,#94a3b8,#cbd5e1); color:#fff; }
.insignia-gold    { background:linear-gradient(135deg,#d97706,#f59e0b); color:#fff; }
.insignia-platinum{ background:linear-gradient(135deg,#6366f1,#a5b4fc); color:#fff; }

/* Etiqueta separadora dentro del formulario de perfil */
.club-perfil-section-label{
    font-size:.78em; font-weight:800; text-transform:uppercase; letter-spacing:.08em;
    color:#1a3a4a; border-bottom:2px solid #e5e0d8; padding-bottom:6px; margin-bottom:12px;
}

/* Sección formulario de registro */
.club-form-section-title{
    font-size:.78em; font-weight:800; text-transform:uppercase; letter-spacing:.08em;
    color:#1a3a4a; border-bottom:2px solid #e8e0d0; padding-bottom:6px;
    margin:18px 0 12px;
}

/* ══════════════════════════════════════════════
   POPUP GRUPO — tarjetas de miembro con perfil
   ══════════════════════════════════════════════ */
.cgpp-lista {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-height: 360px;
    overflow-y: auto;
    margin-bottom: 14px;
    padding-right: 4px;
}
.cgpp-card {
    display: flex;
    gap: 12px;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 10px 12px;
    align-items: flex-start;
    transition: border-color .15s;
}
.cgpp-card:hover { border-color: #1a3a4a; }
.cgpp-card-blur { opacity: .55; filter: blur(1px); pointer-events: none; }
.cgpp-avatar-area { flex-shrink: 0; }
.cgpp-foto {
    width: 48px; height: 48px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #e5e7eb;
}
.cgpp-ini {
    width: 48px; height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #1a3a4a, #2d6a8a);
    color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.2em; font-weight: 700;
}
.cgpp-body { flex: 1; min-width: 0; }
.cgpp-nombre { font-weight: 700; font-size: .95em; color: #1a3a4a; margin-bottom: 3px; }
.cgpp-nivel  { font-size: .75em; color: #888; margin-bottom: 5px; }
.cgpp-tag {
    display: inline-block;
    font-size: .76em;
    background: #f0f4f8;
    color: #374151;
    border-radius: 20px;
    padding: 2px 8px;
    margin: 2px 3px 2px 0;
}
.cgpp-intereses {
    font-size: .78em;
    color: #6b7280;
    margin-top: 4px;
    font-style: italic;
}
.cgpp-redes {
    display: flex; flex-wrap: wrap; gap: 5px;
    margin-top: 6px;
}
.cgpp-red {
    font-size: .75em;
    padding: 3px 9px;
    border-radius: 20px;
    text-decoration: none;
    font-weight: 600;
    transition: opacity .15s;
}
.cgpp-red:hover { opacity: .8; }
.cgpp-ig  { background: #f3d4e8; color: #c2185b; }
.cgpp-fb  { background: #dce8fb; color: #1877f2; }
.cgpp-tk  { background: #e0f7f5; color: #010101; }
.cgpp-web { background: #e8f0fe; color: #1a3a4a; }
.cgpp-privado { font-size: .75em; color: #9ca3af; font-style: italic; margin-top: 4px; }

/* ══ POPUP PERFIL MIEMBRO EN GRUPO ══ */
.cgp-avatar-foto{width:52px;height:52px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.cgp-ver-perfil{display:block;font-size:.72em;color:#0073aa;font-weight:600;margin-top:4px;}
.cgp-card[onclick]:hover{box-shadow:0 4px 16px rgba(0,115,170,.18);transform:translateY(-2px);}

.cgp-member-overlay{
    position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:99999;
    display:none;align-items:center;justify-content:center;padding:16px;
}
.cgp-member-popup{
    background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:90vh;
    overflow-y:auto;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.3);
}
.cgp-member-header{
    display:flex;gap:16px;align-items:center;padding:22px 22px 16px;
    border-bottom:1px solid #e5e0d8;
}
.cgp-member-foto{width:72px;height:72px;border-radius:50%;object-fit:cover;flex-shrink:0;border:3px solid #e5e0d8;}
.cgp-member-avatar{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#1a3a4a,#2d6a8a);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.8em;font-weight:700;flex-shrink:0;}
.cgp-member-header h3{margin:0 0 4px;font-size:1.1em;color:#1a3a4a;}
.cgp-member-header p{margin:0 0 8px;font-size:.85em;color:#666;}
.cgp-ins-badge{background:#f0f7ff;border:1px solid #bcd4f0;border-radius:20px;padding:3px 10px;font-size:.78em;font-weight:700;color:#1a3a4a;}

.cgp-member-body{padding:16px 22px 22px;}
.cgp-member-fila{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f0ece6;font-size:.87em;}
.cgp-member-fila span{color:#888;}
.cgp-member-fila strong{color:#1a3a4a;text-align:right;max-width:60%;}
.cgp-member-bloque{padding:12px 0;border-bottom:1px solid #f0ece6;}
.cgp-member-bloque span{font-size:.78em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#888;display:block;margin-bottom:4px;}
.cgp-member-bloque p{margin:0;font-size:.87em;color:#1a3a4a;line-height:1.5;}
.cgp-member-redes{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.cgp-red-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:8px;background:#f0f7ff;border:1.5px solid #bcd4f0;color:#1a3a4a;font-size:.82em;font-weight:600;text-decoration:none;transition:all .15s;}
.cgp-red-btn:hover{background:#1a3a4a;color:#fff;border-color:#1a3a4a;}

/* ===============================
   FIX CONTRASTE (fondos oscuros)
   Evita que Astra/herencias pongan texto negro sobre cabeceras oscuras
================================ */

/* Cabecera de la zona privada ("¡Hola, ...!") */
.club-zona-header,
.club-zona-header *,
.club-zona-welcome,
.club-zona-welcome h1,
.club-zona-welcome h2,
.club-zona-welcome h3,
.club-zona-welcome p {
  color: #ffffff !important;
}

/* Cabecera/título de las páginas de grupo (bloque superior con degradado) */
.club-grupo-card-top,
.club-grupo-card-top *,
.club-grupo-card-top h1,
.club-grupo-card-top h2,
.club-grupo-card-top h3,
.club-grupo-card-top p {
  color: #ffffff !important;
}

/* ================================
   FIX CONTRASTE TITULO GRUPO (FRONT)
   Fuerza texto blanco en cabeceras oscuras de grupos públicos
================================ */
.cgp-header,
.cgp-header *,
.cgp-header h1,
.cgp-header h2,
.cgp-header h3,
.cgp-header p,
.cgp-header a {
  color: #ffffff !important;
}

/* FIX: la cabecera real del shortcode público usa .cgp-head (no .cgp-header) */
.cgp-head,
.cgp-head *,
.cgp-head h1,
.cgp-head h2,
.cgp-head h3,
.cgp-head p,
.cgp-head a,
.cgp-titulo {
    color:#ffffff !important;
}


/* --- Puntos / Código invitación (zona privada) --- */
.club-puntos-mini,.club-invite-mini{color:#fff;opacity:.95;font-size:14px;margin-top:6px}
.club-invite-mini strong{letter-spacing:.5px}
