/* =======================================================================
   ParaMiWeb BuddyPress — CSS principal v2.0
   Diseño coherente con paramiweb.com
   Colores: azul marino #1a2c5b, naranja #f07c00, blanco, gris claro
   Tipografía: Odor Mean Chey (títulos), Cutive (cuerpo)
   ======================================================================= */

/* -----------------------------------------------------------------------
   0. TOKENS — extraídos del estilo real de paramiweb.com
   ----------------------------------------------------------------------- */
:root {
  /* Colores principales de paramiweb.com */
  --pmw-navy:          #1a2c5b;   /* Azul marino oscuro — títulos, nav */
  --pmw-navy-mid:      #2a4080;   /* Azul medio */
  --pmw-orange:        #f07c00;   /* Naranja — acento, CTAs */
  --pmw-orange-dark:   #d06a00;   /* Naranja oscuro — hover */
  --pmw-orange-light:  #fff3e0;   /* Naranja muy claro — fondos */

  --pmw-white:         #ffffff;
  --pmw-bg:            #f8f9fc;
  --pmw-surface:       #ffffff;
  --pmw-border:        #dde3ee;
  --pmw-border-light:  #eef1f7;

  --pmw-text:          #1a2c5b;
  --pmw-text-body:     #3a4a6b;
  --pmw-text-muted:    #6b7a9b;
  --pmw-text-light:    #9aa5be;

  /* Fuentes del sitio */
  --pmw-font-title:    'Odor Mean Chey', serif;
  --pmw-font-body:     'Cutive', serif;
  --pmw-font-ui:       system-ui, -apple-system, sans-serif;

  /* Radios — más discretos, acordes al estilo */
  --pmw-radius-sm:   4px;
  --pmw-radius-md:   6px;
  --pmw-radius-lg:   10px;
  --pmw-radius-xl:   14px;
  --pmw-radius-full: 9999px;

  /* Sombras suaves */
  --pmw-shadow-xs: 0 1px 3px rgba(26,44,91,.07);
  --pmw-shadow-sm: 0 2px 8px rgba(26,44,91,.09);
  --pmw-shadow-md: 0 4px 20px rgba(26,44,91,.12);

  --pmw-ease:     cubic-bezier(.4,0,.2,1);
  --pmw-dur:      160ms;
}

/* -----------------------------------------------------------------------
   1. BASE Y CONTENEDOR
   ----------------------------------------------------------------------- */
.pmw-bp-page { background: var(--pmw-bg); }

/* Forzar ancho completo — GP limita el contenedor */
.pmw-bp-page .site-content,
.pmw-bp-page .inside-article,
.pmw-bp-page #primary,
.pmw-bp-page #content {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
}

#buddypress {
  font-family: var(--pmw-font-ui);
  color: var(--pmw-text-body);
  width: 100%;
  max-width: 100%;
  padding: 2rem 2.5rem;
  box-sizing: border-box;
}

#buddypress * { box-sizing: border-box; }

#buddypress a {
  color: var(--pmw-navy);
  text-decoration: none;
  transition: color var(--pmw-dur) var(--pmw-ease);
}
#buddypress a:hover { color: var(--pmw-orange); }

/* -----------------------------------------------------------------------
   2. OCULTAR: avatar flotante en actividad + caja de estado
   ----------------------------------------------------------------------- */
/* Avatar del usuario publicador en stream de actividad */
#buddypress .activity-list .activity-item .activity-header .activity-avatar,
#buddypress #activity-stream .activity-avatar,
#buddypress li.activity-item > div.activity-avatar,
#buddypress .activity-item .activity-header > .activity-avatar {
  display: none !important;
}

/* Caja de texto de estado que aparece sin contexto */
#buddypress .activity-item .activity-content .activity-inner blockquote,
#buddypress .activity-item .activity-content .activity-inner > p:empty {
  display: none !important;
}

/* -----------------------------------------------------------------------
   3. NAVEGACIÓN — TABS
   ----------------------------------------------------------------------- */
#buddypress #subnav,
#buddypress .bp-navs,
#buddypress .item-list-tabs {
  margin-bottom: 1.5rem;
}

#buddypress #subnav ul,
#buddypress .bp-navs ul,
#buddypress .item-list-tabs ul {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 4px !important;
  border-bottom: 2px solid var(--pmw-border) !important;
}

#buddypress #subnav ul li a,
#buddypress .bp-navs ul li a,
#buddypress .item-list-tabs ul li a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 10px 18px !important;
  font-family: var(--pmw-font-ui) !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: var(--pmw-text-muted) !important;
  border-bottom: 3px solid transparent !important;
  margin-bottom: -2px !important;
  transition: all var(--pmw-dur) var(--pmw-ease) !important;
  white-space: nowrap !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

#buddypress #subnav ul li a:hover,
#buddypress .bp-navs ul li a:hover {
  color: var(--pmw-navy) !important;
  border-bottom-color: var(--pmw-navy) !important;
}

#buddypress #subnav ul li.current a,
#buddypress #subnav ul li.selected a,
#buddypress .bp-navs ul li.current a,
#buddypress .bp-navs ul li.selected a,
#buddypress .item-list-tabs ul li.current a {
  color: var(--pmw-orange) !important;
  border-bottom-color: var(--pmw-orange) !important;
}

/* Contador numérico en tabs */
#buddypress #subnav ul li a span,
#buddypress .bp-navs ul li a span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 20px !important;
  height: 20px !important;
  padding: 0 5px !important;
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  background: var(--pmw-navy) !important;
  color: #fff !important;
  border-radius: var(--pmw-radius-full) !important;
}

#buddypress #subnav ul li.current a span,
#buddypress .bp-navs ul li.current a span {
  background: var(--pmw-orange) !important;
}

/* -----------------------------------------------------------------------
   4. BARRA BÚSQUEDA Y FILTROS
   ----------------------------------------------------------------------- */
#buddypress #groups-dir-search,
#buddypress #members-dir-search,
#buddypress .dir-search {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 1.25rem !important;
}

#buddypress .dir-search input[type="text"],
#buddypress .dir-search input[type="search"],
#buddypress #groups-dir-search input {
  flex: 1 !important;
  height: 42px !important;
  padding: 0 16px !important;
  border: 1.5px solid var(--pmw-border) !important;
  border-radius: var(--pmw-radius-md) !important;
  font-family: var(--pmw-font-ui) !important;
  font-size: 0.875rem !important;
  color: var(--pmw-text) !important;
  background: var(--pmw-white) !important;
  outline: none !important;
  transition: border-color var(--pmw-dur) !important;
}

#buddypress .dir-search input:focus,
#buddypress #groups-dir-search input:focus {
  border-color: var(--pmw-navy) !important;
  box-shadow: 0 0 0 3px rgba(26,44,91,.12) !important;
}

#buddypress .dir-search button,
#buddypress #groups-dir-search button {
  height: 42px !important;
  padding: 0 18px !important;
  background: var(--pmw-navy) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--pmw-radius-md) !important;
  font-family: var(--pmw-font-ui) !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background var(--pmw-dur) !important;
}

#buddypress .dir-search button:hover,
#buddypress #groups-dir-search button:hover {
  background: var(--pmw-orange) !important;
}

/* Ordenar */
#buddypress #groups-order-select,
#buddypress #members-order-select,
#buddypress .last.filter {
  display: flex !important;
  justify-content: flex-end !important;
  margin-bottom: 1rem !important;
}

#buddypress .last.filter select,
#buddypress #groups-order-select select {
  padding: 8px 14px !important;
  border: 1.5px solid var(--pmw-border) !important;
  border-radius: var(--pmw-radius-md) !important;
  font-family: var(--pmw-font-ui) !important;
  font-size: 0.875rem !important;
  color: var(--pmw-text) !important;
  background: var(--pmw-white) !important;
  outline: none !important;
  cursor: pointer !important;
}

/* -----------------------------------------------------------------------
   5. GRID DE CARDS — RESET TOTAL DE FLOATS BP
   ----------------------------------------------------------------------- */
#buddypress ul.item-list,
#buddypress ul.item-list li,
#buddypress ul.item-list li *,
#buddypress ul.item-list li .item-avatar,
#buddypress ul.item-list li .item,
#buddypress ul.item-list li .action {
  float: none !important;
  width: auto !important;
  clear: none !important;
}

#buddypress ul.item-list {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.5rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  align-items: start !important;
}

/* Vista lista */
#buddypress ul.item-list.pmw-view-list {
  grid-template-columns: 1fr !important;
  gap: 0.5rem !important;
}

/* -----------------------------------------------------------------------
   6. CARD — diseño limpio estilo paramiweb
   ----------------------------------------------------------------------- */
#buddypress ul.item-list li {
  background: var(--pmw-white) !important;
  border: 1px solid var(--pmw-border) !important;
  border-radius: var(--pmw-radius-lg) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  padding: 0 !important;
  margin: 0 !important;
  transition: box-shadow var(--pmw-dur) var(--pmw-ease),
              border-color var(--pmw-dur) var(--pmw-ease),
              transform var(--pmw-dur) var(--pmw-ease) !important;
  position: relative !important;
}

#buddypress ul.item-list li:hover {
  box-shadow: var(--pmw-shadow-md) !important;
  border-color: var(--pmw-navy) !important;
  transform: translateY(-3px) !important;
}

/* Línea de acento naranja en la parte superior */
#buddypress ul.item-list li::before {
  content: '' !important;
  display: block !important;
  height: 3px !important;
  background: var(--pmw-orange) !important;
  width: 0 !important;
  transition: width var(--pmw-dur) var(--pmw-ease) !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
}

#buddypress ul.item-list li:hover::before {
  width: 100% !important;
}

/* Avatar */
#buddypress ul.item-list li .item-avatar {
  padding: 1.5rem 1.5rem 0 !important;
  text-align: center !important;
}

#buddypress ul.item-list li .item-avatar img {
  width: 70px !important;
  height: 70px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 auto !important;
  border: 3px solid var(--pmw-orange-light) !important;
  box-shadow: 0 0 0 2px var(--pmw-orange) !important;
}

/* Cuerpo */
#buddypress ul.item-list li .item {
  flex: 1 !important;
  padding: 1rem 1.5rem 1.25rem !important;
  text-align: center !important;
}

/* Título */
#buddypress ul.item-list li .item-title,
#buddypress ul.item-list li h3.item-title {
  font-family: var(--pmw-font-ui) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--pmw-navy) !important;
  margin: 0 0 0.5rem !important;
  line-height: 1.3 !important;
  word-break: break-word !important;
}

#buddypress ul.item-list li .item-title a {
  color: var(--pmw-navy) !important;
}
#buddypress ul.item-list li .item-title a:hover {
  color: var(--pmw-orange) !important;
}

/* Info: público, miembros, activo */
#buddypress ul.item-list li .item p {
  font-family: var(--pmw-font-ui) !important;
  font-size: 0.8rem !important;
  color: var(--pmw-text-muted) !important;
  margin: 0 0 0.2rem !important;
  line-height: 1.5 !important;
}

/* Descripción */
#buddypress ul.item-list li .item-desc p {
  font-style: italic !important;
  font-size: 0.8rem !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  margin-top: 0.5rem !important;
}

/* Acciones */
#buddypress ul.item-list li .action {
  padding: 0.75rem 1.25rem !important;
  border-top: 1px solid var(--pmw-border-light) !important;
  background: var(--pmw-bg) !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

/* -----------------------------------------------------------------------
   7. CARD — VISTA LISTA
   ----------------------------------------------------------------------- */
#buddypress ul.item-list.pmw-view-list li {
  flex-direction: row !important;
  align-items: center !important;
  border-radius: var(--pmw-radius-md) !important;
  transform: none !important;
}

#buddypress ul.item-list.pmw-view-list li::before {
  width: 3px !important;
  height: 0 !important;
  top: 0 !important;
  left: 0 !important;
  bottom: auto !important;
}

#buddypress ul.item-list.pmw-view-list li:hover {
  transform: none !important;
}

#buddypress ul.item-list.pmw-view-list li:hover::before {
  height: 100% !important;
  width: 3px !important;
}

#buddypress ul.item-list.pmw-view-list li .item-avatar {
  padding: 1rem 1rem 1rem 1.25rem !important;
  flex-shrink: 0 !important;
}

#buddypress ul.item-list.pmw-view-list li .item-avatar img {
  width: 52px !important;
  height: 52px !important;
}

#buddypress ul.item-list.pmw-view-list li .item {
  text-align: left !important;
  padding: 1rem 1rem 1rem 0 !important;
}

#buddypress ul.item-list.pmw-view-list li .action {
  border-top: none !important;
  border-left: 1px solid var(--pmw-border-light) !important;
  background: transparent !important;
  padding: 1rem 1.25rem !important;
  flex-direction: column !important;
  min-width: 130px !important;
  align-self: stretch !important;
}

/* -----------------------------------------------------------------------
   8. BOTONES — estilo paramiweb
   ----------------------------------------------------------------------- */
#buddypress a.button,
#buddypress button.button,
#buddypress input[type="submit"],
#buddypress input[type="button"],
#buddypress a.bp-primary-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 9px 20px !important;
  border-radius: var(--pmw-radius-md) !important;
  font-family: var(--pmw-font-ui) !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  border: 2px solid var(--pmw-navy) !important;
  cursor: pointer !important;
  transition: all var(--pmw-dur) var(--pmw-ease) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  background: var(--pmw-navy) !important;
  color: #fff !important;
  box-shadow: none !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

#buddypress a.button:hover,
#buddypress button.button:hover,
#buddypress input[type="submit"]:hover {
  background: var(--pmw-orange) !important;
  border-color: var(--pmw-orange) !important;
  color: #fff !important;
}

/* Botón secundario/outline */
#buddypress a.button.secondary,
#buddypress a.button.outline,
#buddypress a.bp-secondary-action {
  background: transparent !important;
  color: var(--pmw-navy) !important;
  border-color: var(--pmw-navy) !important;
}

#buddypress a.button.secondary:hover,
#buddypress a.bp-secondary-action:hover {
  background: var(--pmw-navy) !important;
  color: #fff !important;
}

/* -----------------------------------------------------------------------
   9. PAGINACIÓN
   ----------------------------------------------------------------------- */
#buddypress #pag-top,
#buddypress #pag-bottom,
#buddypress .bp-pagination {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
  padding: 1rem 0 !important;
  font-family: var(--pmw-font-ui) !important;
  font-size: 0.875rem !important;
  color: var(--pmw-text-muted) !important;
}

#buddypress .pagination-links {
  display: flex !important;
  gap: 4px !important;
}

#buddypress .pagination-links a,
#buddypress .pagination-links span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 36px !important;
  height: 36px !important;
  border-radius: var(--pmw-radius-md) !important;
  font-family: var(--pmw-font-ui) !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  border: 2px solid var(--pmw-border) !important;
  color: var(--pmw-text-muted) !important;
  text-decoration: none !important;
  transition: all var(--pmw-dur) !important;
}

#buddypress .pagination-links a:hover {
  border-color: var(--pmw-navy) !important;
  color: var(--pmw-navy) !important;
  background: var(--pmw-white) !important;
}

#buddypress .pagination-links span.current {
  background: var(--pmw-orange) !important;
  border-color: var(--pmw-orange) !important;
  color: #fff !important;
}

/* -----------------------------------------------------------------------
   10. STREAM DE ACTIVIDAD
   ----------------------------------------------------------------------- */
#buddypress #activity-stream,
#buddypress ul.activity-list {
  width: 100% !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

#buddypress #activity-stream li.activity-item,
#buddypress ul.activity-list li.activity-item {
  background: var(--pmw-white) !important;
  border: 1px solid var(--pmw-border) !important;
  border-radius: var(--pmw-radius-lg) !important;
  overflow: hidden !important;
  margin-bottom: 1.25rem !important;
  list-style: none !important;
  width: 100% !important;
  float: none !important;
  transition: box-shadow var(--pmw-dur), border-color var(--pmw-dur) !important;
}

#buddypress #activity-stream li.activity-item:hover {
  box-shadow: var(--pmw-shadow-sm) !important;
  border-color: var(--pmw-navy) !important;
}

/* Cabecera del item — sin avatar */
#buddypress .activity-item .activity-header {
  padding: 1rem 1.5rem !important;
  background: var(--pmw-bg) !important;
  border-bottom: 1px solid var(--pmw-border-light) !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
}

#buddypress .activity-item .activity-header p {
  font-family: var(--pmw-font-ui) !important;
  font-size: 0.875rem !important;
  margin: 0 !important;
  color: var(--pmw-text-muted) !important;
  line-height: 1.5 !important;
}

#buddypress .activity-item .activity-header p a {
  font-weight: 700 !important;
  color: var(--pmw-navy) !important;
}

#buddypress .activity-item .activity-header p a:hover {
  color: var(--pmw-orange) !important;
}

/* Cuerpo */
#buddypress .activity-item .activity-content {
  padding: 1.25rem 1.5rem !important;
  width: 100% !important;
}

#buddypress .activity-item .activity-inner {
  width: 100% !important;
  font-family: var(--pmw-font-ui) !important;
  font-size: 0.9375rem !important;
  line-height: 1.7 !important;
  color: var(--pmw-text-body) !important;
}

#buddypress .activity-item .activity-inner img {
  max-width: 100% !important;
  height: auto !important;
  border-radius: var(--pmw-radius-md) !important;
  margin: 0.75rem 0 !important;
}

/* Título dentro del post de actividad */
#buddypress .activity-item .activity-inner h2,
#buddypress .activity-item .activity-inner h3 {
  font-family: var(--pmw-font-ui) !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: var(--pmw-navy) !important;
  margin: 0 0 0.5rem !important;
}

/* Meta — acciones */
#buddypress .activity-item .activity-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 0.75rem 1.5rem !important;
  border-top: 1px solid var(--pmw-border-light) !important;
  background: var(--pmw-bg) !important;
}

#buddypress .activity-item .activity-meta a {
  font-family: var(--pmw-font-ui) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  color: var(--pmw-text-muted) !important;
  padding: 5px 12px !important;
  border-radius: var(--pmw-radius-sm) !important;
  border: 1.5px solid var(--pmw-border) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  transition: all var(--pmw-dur) !important;
}

#buddypress .activity-item .activity-meta a:hover {
  background: var(--pmw-navy) !important;
  color: #fff !important;
  border-color: var(--pmw-navy) !important;
}

/* -----------------------------------------------------------------------
   11. CABECERA DE PERFIL / GRUPO
   ----------------------------------------------------------------------- */
#buddypress #item-header {
  background: var(--pmw-white);
  border: 1px solid var(--pmw-border);
  border-radius: var(--pmw-radius-lg);
  overflow: hidden;
  margin-bottom: 1.5rem;
  box-shadow: var(--pmw-shadow-xs);
}

#buddypress #item-header #item-header-cover-image {
  height: 180px;
  background: linear-gradient(135deg, var(--pmw-navy) 0%, var(--pmw-navy-mid) 100%);
  background-size: cover;
  background-position: center;
}

#buddypress #item-header #item-header-avatar {
  padding: 0 2rem;
  margin-top: -44px;
  position: relative;
  z-index: 1;
  float: none !important;
  width: auto !important;
}

#buddypress #item-header #item-header-avatar img {
  width: 88px !important;
  height: 88px !important;
  border-radius: var(--pmw-radius-md) !important;
  border: 4px solid var(--pmw-white) !important;
  box-shadow: var(--pmw-shadow-sm) !important;
  object-fit: cover !important;
}

#buddypress #item-header #item-header-content {
  padding: 0.75rem 2rem 1.5rem;
  float: none !important;
  width: auto !important;
}

#buddypress #item-header #item-header-content h2 {
  font-family: var(--pmw-font-ui) !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--pmw-navy) !important;
  margin: 0 0 0.25rem !important;
}

#buddypress #item-header #item-header-content .activity {
  font-family: var(--pmw-font-ui) !important;
  font-size: 0.8125rem !important;
  color: var(--pmw-text-muted) !important;
}

/* -----------------------------------------------------------------------
   12. NAV PERFIL / GRUPO
   ----------------------------------------------------------------------- */
#buddypress #object-nav {
  background: var(--pmw-white);
  border: 1px solid var(--pmw-border);
  border-radius: var(--pmw-radius-md);
  margin-bottom: 1.5rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

#buddypress #object-nav ul {
  display: flex !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: max-content;
}

#buddypress #object-nav ul li a {
  display: block !important;
  padding: 14px 20px !important;
  font-family: var(--pmw-font-ui) !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  color: var(--pmw-text-muted) !important;
  border-bottom: 3px solid transparent !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  white-space: nowrap !important;
  transition: all var(--pmw-dur) !important;
}

#buddypress #object-nav ul li a:hover {
  color: var(--pmw-navy) !important;
  border-bottom-color: var(--pmw-navy) !important;
}

#buddypress #object-nav ul li.current a,
#buddypress #object-nav ul li.selected a {
  color: var(--pmw-orange) !important;
  border-bottom-color: var(--pmw-orange) !important;
}

#buddypress #object-nav ul li a span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 20px !important;
  height: 20px !important;
  padding: 0 5px !important;
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  background: var(--pmw-border) !important;
  color: var(--pmw-text-muted) !important;
  border-radius: var(--pmw-radius-full) !important;
  margin-left: 6px !important;
}

#buddypress #object-nav ul li.current a span {
  background: var(--pmw-orange) !important;
  color: #fff !important;
}

/* -----------------------------------------------------------------------
   13. FORMULARIOS
   ----------------------------------------------------------------------- */
#buddypress input[type="text"],
#buddypress input[type="email"],
#buddypress input[type="url"],
#buddypress input[type="password"],
#buddypress input[type="search"],
#buddypress select,
#buddypress textarea {
  font-family: var(--pmw-font-ui) !important;
  font-size: 0.875rem !important;
  color: var(--pmw-text) !important;
  background: var(--pmw-white) !important;
  border: 1.5px solid var(--pmw-border) !important;
  border-radius: var(--pmw-radius-md) !important;
  padding: 9px 14px !important;
  outline: none !important;
  transition: border-color var(--pmw-dur) !important;
  width: 100%;
}

#buddypress input:focus,
#buddypress select:focus,
#buddypress textarea:focus {
  border-color: var(--pmw-navy) !important;
  box-shadow: 0 0 0 3px rgba(26,44,91,.1) !important;
}

/* -----------------------------------------------------------------------
   14. MENSAJES FEEDBACK
   ----------------------------------------------------------------------- */
#buddypress div.bp-feedback {
  padding: 12px 18px;
  border-radius: var(--pmw-radius-md);
  font-family: var(--pmw-font-ui);
  font-size: 0.875rem;
  font-weight: 500;
  margin-bottom: 1.25rem;
  border-left: 4px solid var(--pmw-navy);
  background: var(--pmw-bg);
  color: var(--pmw-navy);
}

#buddypress div.bp-feedback.error   { border-left-color: #ef4444; background: #fff5f5; color: #991b1b; }
#buddypress div.bp-feedback.success { border-left-color: #22c55e; background: #f0fdf4; color: #15803d; }
#buddypress div.bp-feedback.warning { border-left-color: #f59e0b; background: #fffbeb; color: #92400e; }

/* -----------------------------------------------------------------------
   15. TOGGLE GRID / LISTA
   ----------------------------------------------------------------------- */
.pmw-view-toggle {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  background: var(--pmw-bg);
  border: 1.5px solid var(--pmw-border);
  border-radius: var(--pmw-radius-md);
  padding: 3px;
}

.pmw-view-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: none;
  background: transparent;
  color: var(--pmw-text-muted);
  border-radius: var(--pmw-radius-sm);
  cursor: pointer;
  transition: all var(--pmw-dur);
}

.pmw-view-btn:hover { color: var(--pmw-navy); background: var(--pmw-white); }
.pmw-view-btn.is-active { background: var(--pmw-white); color: var(--pmw-orange); box-shadow: var(--pmw-shadow-xs); }

/* -----------------------------------------------------------------------
   16. RESPONSIVE
   ----------------------------------------------------------------------- */
@media (max-width: 1100px) {
  #buddypress ul.item-list {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 700px) {
  #buddypress { padding: 1.25rem 1rem; }

  #buddypress ul.item-list {
    grid-template-columns: 1fr !important;
  }

  #buddypress ul.item-list.pmw-view-list li {
    flex-direction: column !important;
  }

  #buddypress ul.item-list.pmw-view-list li .action {
    border-left: none !important;
    border-top: 1px solid var(--pmw-border-light) !important;
    width: 100% !important;
    flex-direction: row !important;
  }

  #buddypress #object-nav ul li a {
    padding: 12px 14px !important;
    font-size: 0.75rem !important;
  }
}

/* -----------------------------------------------------------------------
   17. ANIMACIONES
   ----------------------------------------------------------------------- */
@keyframes pmw-in {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

#buddypress ul.item-list li {
  animation: pmw-in 220ms var(--pmw-ease) both;
}
#buddypress ul.item-list li:nth-child(1) { animation-delay:   0ms; }
#buddypress ul.item-list li:nth-child(2) { animation-delay:  40ms; }
#buddypress ul.item-list li:nth-child(3) { animation-delay:  80ms; }
#buddypress ul.item-list li:nth-child(4) { animation-delay: 120ms; }
#buddypress ul.item-list li:nth-child(5) { animation-delay: 160ms; }
#buddypress ul.item-list li:nth-child(n+6) { animation-delay: 200ms; }

/* -----------------------------------------------------------------------
   FIX CRÍTICO: Floats de BP en actividad que crean el hueco vacío
   ----------------------------------------------------------------------- */

/* Reset TOTAL de floats en items de actividad */
#buddypress .activity-item,
#buddypress .activity-item *,
#buddypress .activity-item > div,
#buddypress .activity-item .activity-avatar,
#buddypress .activity-item .activity-content,
#buddypress .activity-item .activity-header,
#buddypress li.activity-item > .activity-avatar,
#buddypress li.activity-item > .activity-content {
  float: none !important;
  clear: none !important;
  width: auto !important;
  margin-left: 0 !important;
}

/* Ocultar avatar con TODOS los métodos posibles */
#buddypress .activity-avatar,
#buddypress li.activity-item > .activity-avatar,
#buddypress .activity-item > div.activity-avatar,
#buddypress div.activity-avatar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  visibility: hidden !important;
}

/* El contenido de actividad ocupa el 100% */
#buddypress .activity-content,
#buddypress li.activity-item > .activity-content {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Eliminar la caja de "Lorenzo ha actualizado..." que aparece
   como bloque separado antes del contenido real */
#buddypress .activity-item .activity-header {
  display: block !important;
  width: 100% !important;
  float: none !important;
}

/* Ocultar el bloque de activity-inner que solo contiene
   el texto de acción (sin contenido real del post) cuando
   va seguido de otro activity-inner con contenido */
#buddypress .activity-item .activity-content > .activity-header + .activity-inner:empty {
  display: none !important;
}

/* Clearfix en el item completo */
#buddypress li.activity-item::before,
#buddypress li.activity-item::after {
  content: '' !important;
  display: table !important;
  clear: both !important;
}

/* -----------------------------------------------------------------------
   TIPOGRAFÍA — más grande, más oscura, más legible
   ----------------------------------------------------------------------- */

/* Texto general dentro de BP */
#buddypress {
  font-size: 1rem !important;
  line-height: 1.75 !important;
  color: #111827 !important;
}

/* Párrafos e info de cards */
#buddypress ul.item-list li .item p,
#buddypress ul.item-list li .item-meta,
#buddypress ul.item-list li .item-desc p {
  font-size: 0.9rem !important;
  color: #374151 !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
}

/* Títulos de cards */
#buddypress ul.item-list li .item-title,
#buddypress ul.item-list li h3.item-title {
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  color: #111827 !important;
  letter-spacing: -0.01em !important;
}

/* Links de títulos */
#buddypress ul.item-list li .item-title a {
  color: #111827 !important;
  font-weight: 800 !important;
}

/* Tabs de navegación */
#buddypress #subnav ul li a,
#buddypress .bp-navs ul li a,
#buddypress .item-list-tabs ul li a {
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  color: #374151 !important;
}

/* Nav de perfil/grupo */
#buddypress #object-nav ul li a {
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  color: #374151 !important;
}

/* Cabecera de actividad */
#buddypress .activity-item .activity-header p {
  font-size: 0.9375rem !important;
  color: #374151 !important;
  font-weight: 500 !important;
}

#buddypress .activity-item .activity-header p a {
  font-weight: 800 !important;
  color: #111827 !important;
}

/* Contenido del post de actividad */
#buddypress .activity-item .activity-inner {
  font-size: 1rem !important;
  color: #111827 !important;
  font-weight: 400 !important;
  line-height: 1.8 !important;
}

#buddypress .activity-item .activity-inner h2,
#buddypress .activity-item .activity-inner h3 {
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  color: #111827 !important;
}

/* Paginación */
#buddypress #pag-top,
#buddypress #pag-bottom,
#buddypress .bp-pagination {
  font-size: 0.9rem !important;
  color: #374151 !important;
  font-weight: 600 !important;
}

#buddypress .pagination-links a,
#buddypress .pagination-links span {
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  color: #374151 !important;
}

/* Cabecera de perfil/grupo */
#buddypress #item-header #item-header-content h2 {
  font-size: 1.75rem !important;
  font-weight: 800 !important;
  color: #111827 !important;
}

#buddypress #item-header #item-header-content .activity {
  font-size: 0.9rem !important;
  color: #374151 !important;
  font-weight: 500 !important;
}

/* Botones — texto más legible */
#buddypress a.button,
#buddypress button.button,
#buddypress input[type="submit"] {
  font-size: 0.9rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.03em !important;
}

/* Meta acciones de actividad */
#buddypress .activity-item .activity-meta a {
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  color: #374151 !important;
}

/* Buscador */
#buddypress .dir-search input,
#buddypress #groups-dir-search input {
  font-size: 0.9375rem !important;
  color: #111827 !important;
}
