/**
 * Comunidad Consumo CLM — estilo foro (rediseño "Foro Comunidad").
 *
 * Sistema visual portado desde el diseño de Claude Design:
 * acento verde #0f7a63, tipografías IBM Plex Sans (títulos) + Source Sans 3.
 * Variables y fuentes se limitan a los contenedores de comunidad para no
 * alterar el resto del tema gavias_edmix.
 */

.community-app,
.community-post-card,
.community-post-detail,
.community-create-form,
.community-user-area {
  /* Alias locales que consumen los tokens del Consumo Design System. */
  --c-accent: var(--cds-brand, #0f7a63);
  --c-accent-strong: var(--cds-brand-strong, #0f5f4d);
  --c-accent-soft: var(--cds-brand-soft, #e8f2ef);
  --c-bg: var(--cds-bg, #f4f5f5);
  --c-surface: var(--cds-surface, #ffffff);
  --c-border: var(--cds-border, #e6e8ea);
  --c-border-soft: var(--cds-border-soft, #f0f1f2);
  --c-text: var(--cds-text, #1a1a1b);
  --c-text-2: var(--cds-text-2, #4a4d50);
  --c-muted: var(--cds-muted, #7c8083);
  --c-muted-2: var(--cds-muted-2, #9a9ea1);
  --c-radius: var(--cds-radius-md, 10px);
  font-family: var(--cds-font-body, 'Source Sans 3', system-ui, -apple-system, sans-serif);
  color: var(--c-text);
}

/* ===== Layout de la portada (feed) ===== */
.community-app {
  display: flex;
  gap: 24px;
  align-items: flex-start;
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
  padding: 20px 16px;
}

.community-app__nav {
  width: 230px;
  flex-shrink: 0;
  position: sticky;
  top: 76px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.community-app__main {
  flex: 1;
  min-width: 0;
  max-width: 640px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.community-app__aside {
  width: 300px;
  flex-shrink: 0;
  position: sticky;
  top: 76px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* ===== Navegación izquierda ===== */
.community-nav__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 12px;
  border-radius: 8px;
  color: #3a3d40;
  font-weight: 500;
  font-size: 14px;
  text-decoration: none;
  transition: background-color .12s ease;
}

.community-nav__item:hover {
  background: #eef0f1;
  text-decoration: none;
}

.community-nav__item.is-active {
  background: var(--c-accent-soft);
  color: var(--c-accent-strong);
  font-weight: 600;
}

.community-nav__item svg {
  flex-shrink: 0;
}

.community-nav__sep {
  height: 1px;
  background: var(--c-border);
  margin: 12px 4px;
}

.community-nav__label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .6px;
  color: #8a8e91;
  padding: 4px 12px 8px;
}

.community-dot {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 11px;
  font-family: 'IBM Plex Sans', sans-serif;
}

/* ===== Barra de búsqueda y filtros ===== */
.community-filterbar {
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--c-radius);
  padding: 10px 12px;
}

.community-filterbar .views-exposed-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

/* Especificidad: el tema estila los exposed forms con
   ".views-exposed-form .form-item input" (placeholder blanco incluido),
   asi que estas reglas anteponen .community-filterbar a ese mismo patron. */
.community-filterbar .views-exposed-form .form-item,
.community-filterbar .views-exposed-form .form-actions {
  margin: 0;
  padding: 0;
}

/* Etiquetas solo para lectores de pantalla: la barra se explica sola. */
.community-filterbar .form-item label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.community-filterbar .views-exposed-form .form-item-buscar {
  flex: 1 1 220px;
}

.community-filterbar .views-exposed-form .form-item input,
.community-filterbar .views-exposed-form .form-item select {
  width: 100%;
  height: 38px;
  border: 1px solid var(--c-border, #e6e8ea);
  border-radius: 999px;
  background: var(--c-bg, #f4f5f5);
  padding: 0 14px;
  font-size: 14px;
  font-family: var(--cds-font-body, 'Source Sans 3', system-ui, sans-serif);
  color: var(--c-text, #1a1a1b);
  outline: none;
}

.community-filterbar .views-exposed-form .form-item input::placeholder {
  color: var(--c-muted, #7c8083);
  opacity: 1;
}

.community-filterbar .views-exposed-form .form-item select {
  width: auto;
  cursor: pointer;
  padding-right: 28px;
}

.community-filterbar .views-exposed-form .form-item input:focus,
.community-filterbar .views-exposed-form .form-item select:focus {
  border-color: var(--c-accent, #0f7a63);
  background: #fff;
}

.community-filterbar .views-exposed-form .form-actions {
  display: flex;
  gap: 6px;
}

.community-filterbar .views-exposed-form .form-actions input {
  border: none;
  cursor: pointer;
  height: 38px;
  padding: 0 18px;
  line-height: 38px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  font-family: 'IBM Plex Sans', sans-serif;
  text-transform: none;
  background: var(--c-accent, #0f7a63);
  color: #fff;
  width: auto;
}

.community-filterbar .views-exposed-form .form-actions input:hover {
  background: var(--c-accent-strong, #0f5f4d);
  color: #fff;
}

.community-filterbar .views-exposed-form .form-actions input[data-drupal-selector='edit-reset'] {
  background: transparent;
  color: var(--c-muted, #7c8083);
  font-weight: 600;
}

.community-filterbar .views-exposed-form .form-actions input[data-drupal-selector='edit-reset']:hover {
  background: var(--c-border-soft, #f0f1f2);
  color: var(--c-text, #1a1a1b);
}

/* ===== Tarjeta de publicación (teaser) y detalle ===== */
.community-post-card,
.community-post-detail {
  position: relative;
  z-index: 1;
  display: flex;
  /* Al ancho completo de la columna: sin esto algunas tarjetas se quedaban
     cortas según su contenido. */
  width: 100%;
  background: #fff;
  border: 1px solid var(--c-border, #e6e8ea);
  border-radius: var(--c-radius, 10px);
  overflow: hidden;
  margin: 0;
  box-shadow: none;
}

/* Neutralize gavias teaser decorations (overlays/shapes) bleeding through. */
.community-post-card::before,
.community-post-card::after,
.community-post-detail::before,
.community-post-detail::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

.community-post-card {
  transition: border-color .15s ease, box-shadow .15s ease;
}

.community-post-card:hover {
  border-color: #cdd2d6;
  box-shadow: 0 2px 10px rgba(15, 23, 42, .06);
}

/* La columna .community-post-vote (44px, flechas arriba/abajo inertes y
 * marcador a cero) se retiró: el "me gusta" vive ahora en la barra de acciones,
 * junto a Comentarios, Compartir, Guardar y Reportar. Con ella se recuperan
 * esos 44px de ancho para el contenido de cada tarjeta, y el botón queda igual
 * en publicaciones y en comentarios, que no tienen columna lateral. */

/* Cuerpo */
.community-post-body {
  flex: 1;
  min-width: 0;
  padding: 11px 14px;
}

.community-post-detail .community-post-body {
  padding: 16px 20px;
}

.community-post-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  font-size: 12.5px;
  color: var(--c-muted);
  margin-bottom: 6px;
}

.community-post-meta .community-dot {
  width: 20px;
  height: 20px;
  font-size: 9px;
}

.community-post-meta a,
.community-post-meta__community {
  font-weight: 700;
  color: var(--c-text);
  text-decoration: none;
}

.community-post-meta a:hover {
  text-decoration: underline;
}

.community-post-head {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.community-post-title {
  margin: 0 0 6px;
  font-family: 'IBM Plex Sans', sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--c-text);
}

.community-post-detail .community-post-title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 12px;
}

.community-post-title a {
  color: inherit;
  text-decoration: none;
}

.community-post-title a:hover {
  text-decoration: underline;
}

.community-post-snippet {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--c-text-2);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.community-post-detail .community-post-body-text {
  font-size: 16px;
  line-height: 1.65;
  color: #2a2d30;
}

.community-post-link {
  display: inline-flex;
  max-width: 100%;
  margin: 2px 0 6px;
  color: var(--c-accent);
  overflow-wrap: anywhere;
}

/* Miniatura */
.community-post-thumb {
  width: 92px;
  height: 72px;
  flex-shrink: 0;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--c-border);
}

.community-post-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Barra de acciones */
.community-post-actions {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
  margin-top: 10px;
}

.community-post-detail .community-post-actions {
  margin-top: 16px;
}

.community-post-action,
.community-post-action-placeholder {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 10px;
  border-radius: 6px;
  border: none;
  background: transparent;
  color: #6b6f72;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}

.community-post-action:hover {
  background: var(--c-border-soft);
  text-decoration: none;
}

.community-post-action-placeholder {
  cursor: default;
}

/* ===== Menú de compartir ===== */
.community-share {
  position: relative;
  display: inline-flex;
}

/* La tarjeta recorta con overflow:hidden y forma su propio stacking
   context (z-index: 1): mientras el menú está abierto hay que liberar el
   corte y elevar la tarjeta sobre sus hermanas. */
.community-post-card:has(.community-share.is-open),
.community-post-detail:has(.community-share.is-open) {
  overflow: visible;
  z-index: 5;
}

.community-share__trigger[aria-expanded='true'] {
  background: var(--c-border-soft);
}

.community-share__menu {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 40;
  min-width: 220px;
  padding: 6px;
  background: var(--c-surface, #ffffff);
  border: 1px solid var(--c-border, #e6e8ea);
  border-radius: var(--c-radius, 10px);
  box-shadow: 0 10px 28px rgba(15, 23, 42, .14);
}

.community-share.is-open .community-share__menu {
  display: block;
}

.community-share__item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 8px 10px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: var(--c-text, #1a1a1b);
  font-size: 13px;
  font-weight: 600;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.community-share__item:hover {
  background: var(--c-border-soft, #f0f1f2);
  color: var(--c-text, #1a1a1b);
  text-decoration: none;
}

.community-share__item svg {
  flex-shrink: 0;
  color: var(--c-muted, #7c8083);
}

.community-share__item.is-done,
.community-share__item.is-done svg {
  color: var(--c-accent, #0f7a63);
}

/* ===== Botón guardar ===== */
.community-save__trigger.is-saved {
  color: var(--c-accent, #0f7a63);
}

.community-save__trigger:disabled {
  opacity: .6;
  cursor: progress;
}

/* ===== Área de usuario ===== */
.community-user-area {
  max-width: 760px;
  margin: 16px auto 40px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-family: var(--cds-font-body, 'Source Sans 3', system-ui, -apple-system, sans-serif);
  color: var(--c-text, #1a1a1b);
}

.community-user-head {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  background: var(--c-surface, #ffffff);
  border: 1px solid var(--c-border, #e6e8ea);
  border-radius: var(--c-radius, 10px);
  padding: 20px 22px;
}

.community-user-head__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  color: #fff;
  font-family: 'IBM Plex Sans', sans-serif;
  font-weight: 700;
  font-size: 24px;
  flex-shrink: 0;
}

.community-user-head__info {
  flex: 1;
  min-width: 160px;
}

.community-user-head__name {
  margin: 0;
  font-family: 'IBM Plex Sans', sans-serif;
  font-weight: 700;
  font-size: 22px;
  color: var(--c-text, #1a1a1b);
}

.community-user-head__since {
  margin: 2px 0 0;
  font-size: 13px;
  color: var(--c-muted, #7c8083);
}

.community-user-head__stats {
  display: flex;
  gap: 22px;
  text-align: center;
}

.community-user-head__num {
  display: block;
  font-family: 'IBM Plex Sans', sans-serif;
  font-weight: 700;
  font-size: 18px;
  color: var(--c-accent, #0f7a63);
}

.community-user-head__label {
  display: block;
  font-size: 12px;
  color: var(--c-muted, #7c8083);
}

.community-user-tabs {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
  background: var(--c-surface, #ffffff);
  border: 1px solid var(--c-border, #e6e8ea);
  border-radius: var(--c-radius, 10px);
  padding: 6px;
}

.community-user-tabs__tab {
  padding: 8px 14px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--c-text-2, #4a4d50);
  text-decoration: none;
}

.community-user-tabs__tab:hover {
  background: var(--c-border-soft, #f0f1f2);
  text-decoration: none;
  color: var(--c-text, #1a1a1b);
}

.community-user-tabs__tab.is-active {
  background: var(--c-accent-soft, #e8f2ef);
  color: var(--c-accent, #0f7a63);
}

.community-user-tabs__tab--logout {
  margin-left: auto;
  color: var(--c-muted, #7c8083);
}

.community-user-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.community-user-empty {
  background: var(--c-surface, #ffffff);
  border: 1px dashed var(--c-border, #e6e8ea);
  border-radius: var(--c-radius, 10px);
  padding: 36px 24px;
  text-align: center;
  color: var(--c-muted, #7c8083);
}

.community-user-empty p {
  margin: 0 0 14px;
}

.community-user-comment {
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: var(--c-surface, #ffffff);
  border: 1px solid var(--c-border, #e6e8ea);
  border-radius: var(--c-radius, 10px);
  padding: 14px 16px;
  text-decoration: none;
  color: var(--c-text, #1a1a1b);
}

.community-user-comment:hover {
  border-color: var(--c-accent, #0f7a63);
  text-decoration: none;
  color: var(--c-text, #1a1a1b);
}

.community-user-comment__snippet {
  font-size: 14px;
  line-height: 1.45;
}

.community-user-comment__meta {
  font-size: 12px;
  color: var(--c-muted, #7c8083);
}

/* ===== Tarjetas de la barra lateral ===== */
.community-card {
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--c-radius);
  overflow: hidden;
}

.community-card__banner {
  height: 56px;
  background: linear-gradient(120deg, #0f7a63, #12a07f);
}

.community-card__body {
  padding: 14px 16px 16px;
}

.community-card__title {
  font-family: 'IBM Plex Sans', sans-serif;
  font-weight: 700;
  font-size: 16px;
  color: var(--c-text);
  margin: 0;
}

.community-card__desc {
  margin: 8px 0 14px;
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--c-text-2);
}

.community-card__stats {
  display: flex;
  gap: 20px;
  padding: 12px 0;
  border-top: 1px solid var(--c-border-soft);
  border-bottom: 1px solid var(--c-border-soft);
  margin-bottom: 14px;
}

.community-card__stat-num {
  font-weight: 700;
  font-size: 16px;
  font-family: 'IBM Plex Sans', sans-serif;
}

.community-card__stat-label {
  font-size: 12px;
  color: var(--c-muted);
}

.community-rules {
  padding: 14px 16px;
}

.community-rules__title {
  font-family: 'IBM Plex Sans', sans-serif;
  font-weight: 700;
  font-size: 13px;
  color: var(--c-text);
  margin: 0 0 10px;
}

.community-rules ol {
  margin: 0;
  padding-left: 18px;
  color: var(--c-text-2);
  font-size: 13.5px;
  line-height: 1.7;
}

.community-aside__note {
  font-size: 12px;
  color: var(--c-muted-2);
  padding: 0 4px;
  line-height: 1.6;
}

/* ===== Botón CTA ===== */
.community-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 38px;
  padding: 0 16px;
  border-radius: 999px;
  border: none;
  background: var(--c-accent);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  font-family: 'IBM Plex Sans', sans-serif;
  cursor: pointer;
  text-decoration: none;
  transition: filter .12s ease;
}

.community-cta:hover {
  filter: brightness(0.92);
  color: #fff;
  text-decoration: none;
}

.community-cta--wide {
  width: 100%;
}

/* ===== Volver al feed (detalle) ===== */
.community-back {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: none;
  color: var(--c-accent);
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  padding: 4px 0;
  margin-bottom: 6px;
}

.community-back:hover {
  text-decoration: underline;
  color: var(--c-accent);
}

/* ===== Hilo de comentarios ===== */
.community-thread {
  margin-top: 16px;
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--c-radius);
  padding: 8px 20px 16px;
}

.community-thread__composer {
  margin-top: 16px;
}

.community-thread .indented {
  margin-left: 24px;
  padding-left: 16px;
  border-left: 2px solid #ececee;
}

/* Comentario aislado (comment--community.html.twig). Clases propias para no
 * heredar el "bocadillo" del tema. */
.community-comment {
  padding: 14px 0;
  border-bottom: 1px solid var(--c-border-soft);
  float: none;
  position: static;
}

.community-comment::before,
.community-comment::after,
.community-comment__body::before,
.community-comment__body::after {
  content: none !important;
  display: none !important;
}

.community-thread > .community-comment:last-child,
.community-thread .indented .community-comment:last-child {
  border-bottom: none;
}

.community-comment__head {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 4px;
  color: var(--c-muted-2);
  font-size: var(--cds-fs-sm, 13px);
}

.community-comment__avatar {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #8a8e91;
  color: #fff;
  font-weight: 700;
  font-size: 11px;
  font-family: var(--cds-font-head, 'IBM Plex Sans', sans-serif);
}

.community-comment__avatar.is-op {
  background: var(--c-accent);
}

.community-comment__author {
  font-weight: 700;
  font-size: 13.5px;
  color: var(--c-text);
}

.community-comment__author a {
  color: inherit;
  text-decoration: none;
}

.community-comment__author a:hover {
  text-decoration: underline;
}

.community-comment__op {
  font-size: 11px;
  font-weight: 700;
  color: var(--c-accent);
  background: var(--c-accent-soft);
  padding: 1px 6px;
  border-radius: 4px;
}

.community-comment__time {
  color: var(--c-muted-2);
}

.community-comment__title {
  margin: 0 0 4px;
  font-family: var(--cds-font-head, 'IBM Plex Sans', sans-serif);
  font-size: 15px;
  font-weight: 600;
  color: var(--c-text);
}

.community-comment__body {
  font-size: 15px;
  line-height: 1.55;
  color: #2a2d30;
  padding-left: 34px;
}

.community-comment__body p:first-child {
  margin-top: 0;
}

.community-comment__body p:last-child {
  margin-bottom: 0;
}

.community-comment__actions {
  padding-left: 34px;
  margin-top: 6px;
}

.community-comment__actions ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}

.community-comment__actions li {
  margin: 0;
  padding: 0;
}

.community-comment__actions a,
.community-comment__action {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border-radius: 6px;
  color: #6b6f72;
  font-size: 12.5px;
  font-weight: 600;
  text-decoration: none;
}

.community-comment__actions a:hover,
.community-comment__action:hover {
  background: var(--c-border-soft);
  text-decoration: none;
}

/* Es un <button>, así que hay que neutralizar lo que el navegador le pone. */
.community-comment__action {
  border: none;
  background: transparent;
  font-family: inherit;
  cursor: pointer;
}

/* ===== Formulario "Crear/editar publicación" =====
 * Los controles los estiliza el Consumo Design System (.cds-form); aquí solo
 * el envoltorio de panel y la anchura de lectura del formulario público. */
.community-create-form {
  max-width: 800px;
  margin: 0 auto;
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--c-radius);
  padding: 24px;
}

/* En el tema de administración el formulario ya vive dentro de su panel:
 * evitamos el doble borde. */
.gin--edit-form .community-create-form,
.toolbar-tray-open .community-create-form {
  border: 0;
  padding: 0;
  background: transparent;
}

/* Composer de comentarios del hilo. */
.community-comment-form {
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--c-radius);
  padding: 16px 20px;
  margin-top: 16px;
}

.community-comment-form .form-actions {
  border-top: 0;
  padding-top: 0;
  margin-top: 12px;
}

/* ===== Formulario de contacto ===== */
.community-contact-form {
  max-width: 720px;
  margin: 0 auto;
}

.community-contact-form .form-actions {
  justify-content: flex-start;
}

.community-contact-form .form-actions .button--primary {
  min-width: 200px;
}

/* Los checkboxes de consentimiento con algo más de aire. */
.community-contact-form [class*="form-type-checkbox"],
.community-contact-form [class*="form-type--checkbox"] {
  margin-bottom: var(--cds-space-3, 12px);
}

/* ===== Confirmación de cierre de sesión =====
 * Usa tokens cds directamente (:root) para no depender de contenedores. */
.community-logout {
  max-width: 520px;
  margin: 8px auto 32px;
  text-align: center;
  background: var(--cds-surface, #ffffff);
  border: 1px solid var(--cds-border, #e6e8ea);
  border-radius: var(--cds-radius-md, 10px);
  box-shadow: var(--cds-shadow-sm, 0 2px 10px rgba(15, 23, 42, .06));
  padding: 36px 28px;
  font-family: var(--cds-font-body, 'Source Sans 3', system-ui, -apple-system, sans-serif);
}

.community-logout__head {
  margin-bottom: 24px;
}

.community-logout__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--cds-brand-soft, #e8f2ef);
  color: var(--cds-brand-strong, #0f5f4d);
  margin-bottom: 16px;
}

.community-logout__title {
  margin: 0 0 10px;
  font-family: var(--cds-font-head, 'IBM Plex Sans', sans-serif);
  font-size: var(--cds-fs-3xl, 24px);
  font-weight: 700;
  color: var(--cds-text, #1a1a1b);
}

.community-logout__text {
  margin: 0 auto;
  max-width: 400px;
  font-size: var(--cds-fs-md, 15px);
  line-height: 1.6;
  color: var(--cds-text-2, #4a4d50);
}

.community-logout .form-actions {
  justify-content: center;
  gap: 12px;
  border-top: 0;
  padding-top: 0;
  margin-top: 0;
}

/* ===== Responsive ===== */
@media (max-width: 980px) {
  .community-app__aside {
    display: none;
  }
}

@media (max-width: 760px) {
  .community-app {
    flex-direction: column;
  }

  .community-app__nav {
    position: static;
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
  }

  .community-app__main {
    max-width: none;
  }
}

@media (max-width: 640px) {
  .community-post-detail .community-post-title {
    font-size: 20px;
  }

  .community-post-thumb {
    width: 72px;
    height: 60px;
  }
}

/* Cabecera compartida de los formularios de la comunidad (crear/editar y
 * borrar publicación). Sustituye al bloque de ayuda del tema, que salía como
 * texto suelto sin formato por encima del formulario. */
.community-form__head {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 0 0 24px;
  padding: 0 0 20px;
  border-bottom: 1px solid var(--cds-border-soft, #e6e8ea);
}

.community-form__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--cds-brand-soft, #e8f2ef);
  color: var(--cds-brand-strong, #0f5f4d);
}

.community-form__copy {
  min-width: 0;
}

.community-form__title {
  margin: 0 0 6px;
  font-family: var(--cds-font-head, 'IBM Plex Sans', sans-serif);
  font-size: var(--cds-fs-xl, 20px);
  font-weight: 700;
  line-height: 1.25;
  color: var(--cds-text, #1a1a1b);
}

.community-form__text {
  margin: 0;
  font-size: var(--cds-fs-md, 15px);
  line-height: 1.55;
  color: var(--cds-text-2, #4a4d50);
}

/* En pantallas estrechas el icono deja de aportar y roba ancho al texto. */
@media (max-width: 480px) {
  .community-form__head {
    gap: 12px;
  }

  .community-form__icon {
    width: 36px;
    height: 36px;
  }

  .community-form__title {
    font-size: var(--cds-fs-lg, 17px);
  }
}

/* Variante "franja" de las normas, para el formulario de publicación.
 * Mismo contenido que la tarjeta de la barra lateral del timeline, pero a lo
 * ancho y con la banda de color a la izquierda propia de un aviso. */
.community-rules--bar {
  margin: 4px 0 20px;
  padding: 14px 16px 14px 18px;
  border: 1px solid var(--cds-border-soft, #e6e8ea);
  border-left: 4px solid var(--cds-brand, #157a63);
  border-radius: var(--c-radius, 8px);
  background: var(--cds-brand-soft, #e8f2ef);
}

.community-rules--bar .community-rules__title {
  color: var(--cds-brand-strong, #0f5f4d);
  letter-spacing: .02em;
}

.community-rules--bar ol {
  columns: 2;
  column-gap: 28px;
}

/* A dos columnas las normas se parten mal en pantallas estrechas. */
@media (max-width: 640px) {
  .community-rules--bar ol {
    columns: 1;
  }
}

/* Tono destructivo de la cabecera: borrar una publicación no puede parecerse
 * a publicarla. */
.community-form__head--danger .community-form__icon {
  background: var(--cds-danger-soft, #fdecef);
  color: var(--cds-danger, #c8102e);
}

/* ===== Formulario "Eliminar publicación" ===== */
.community-delete-form {
  max-width: 800px;
  margin: 0 auto;
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--c-radius);
  padding: 24px;
}

/* Botón destructivo. Sale de #button_type = 'danger'; el !important es el mismo
 * caso que el resto de botones del design system: gavias fuerza color y ancho
 * completo en los submit del tema. */
.cds-form .form-actions .button--danger,
.cds-form .form-actions input.button--danger,
.cds-form .button--danger {
  background: var(--cds-danger, #c8102e) !important;
  border-color: var(--cds-danger, #c8102e) !important;
  color: #fff !important;
}

.cds-form .form-actions .button--danger:hover,
.cds-form .form-actions input.button--danger:hover,
.cds-form .button--danger:hover {
  filter: brightness(0.92);
}

/* ===== Avisos flotantes (toasts) =====
 * Confirman acciones que no recargan la página, como guardar una publicación.
 * El contenedor lo crea el JS la primera vez que hace falta. */
.community-toasts {
  position: fixed;
  z-index: 1200;
  right: 20px;
  bottom: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: min(380px, calc(100vw - 32px));
  pointer-events: none;
}

.community-toast {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 14px 14px 16px;
  border-radius: var(--cds-radius, 10px);
  border: 1px solid var(--cds-border, #e6e8ea);
  border-left: 4px solid var(--cds-brand, #157a63);
  background: var(--cds-surface, #fff);
  box-shadow: 0 8px 28px rgba(16, 24, 32, .16);
  pointer-events: auto;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .2s ease, transform .2s ease;
}

.community-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.community-toast.is-leaving {
  opacity: 0;
  transform: translateY(10px);
}

.community-toast__icon {
  display: inline-flex;
  flex: 0 0 auto;
  margin-top: 1px;
  color: var(--cds-brand, #157a63);
}

.community-toast__body {
  flex: 1;
  min-width: 0;
}

.community-toast__text {
  margin: 0;
  font-size: var(--cds-fs-md, 15px);
  line-height: 1.45;
  color: var(--cds-text, #1a1a1b);
}

.community-toast__action {
  display: inline-block;
  margin-top: 6px;
  font-size: var(--cds-fs-sm, 13.5px);
  font-weight: 700;
  color: var(--cds-brand-strong, #0f5f4d);
  text-decoration: underline;
}

.community-toast__close {
  flex: 0 0 auto;
  padding: 2px;
  border: 0;
  background: none;
  line-height: 0;
  color: var(--cds-muted, #6b7176);
  cursor: pointer;
  border-radius: 4px;
}

.community-toast__close:hover {
  color: var(--cds-text, #1a1a1b);
}

/* Variantes de tono. */
.community-toast--info {
  border-left-color: var(--cds-muted, #6b7176);
}

.community-toast--info .community-toast__icon {
  color: var(--cds-muted, #6b7176);
}

.community-toast--error {
  border-left-color: var(--cds-danger, #c8102e);
}

.community-toast--error .community-toast__icon {
  color: var(--cds-danger, #c8102e);
}

/* En móvil ocupa el ancho, pegado abajo. */
@media (max-width: 560px) {
  .community-toasts {
    right: 16px;
    left: 16px;
    bottom: 16px;
    width: auto;
  }
}

/* Sin animación si el usuario la ha desactivado: aparece y desaparece sin más. */
@media (prefers-reduced-motion: reduce) {
  .community-toast {
    transition: none;
    transform: none;
    opacity: 1;
  }

  .community-toast.is-leaving {
    transform: none;
  }
}

/* Cita del comentario en la pantalla de borrado: sirve para confirmar que se
 * está borrando el que era. */
.community-delete-quote {
  margin: 0 0 20px;
  padding: 10px 14px;
  border-left: 3px solid var(--cds-border, #e6e8ea);
  background: var(--cds-bg, #f4f5f5);
  border-radius: 0 6px 6px 0;
  font-size: var(--cds-fs-md, 15px);
  line-height: 1.5;
  color: var(--cds-text-2, #4a4d50);
  font-style: italic;
}

/* La barra de acciones del comentario: reportar y los enlaces de core. */
.community-comment__actions {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}

/* ===== Diálogo modal (reportar) ===== */
.community-modal {
  position: fixed;
  inset: 0;
  z-index: 1300;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

.community-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(16, 24, 32, .5);
}

.community-modal__panel {
  position: relative;
  width: min(460px, 100%);
  background: var(--cds-surface, #fff);
  border-radius: var(--cds-radius-md, 10px);
  box-shadow: 0 20px 50px rgba(16, 24, 32, .28);
  padding: 22px;
  max-height: calc(100vh - 32px);
  overflow-y: auto;
}

.community-modal__head {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 18px;
}

.community-modal__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--cds-danger-soft, #fdecef);
  color: var(--cds-danger, #c8102e);
}

.community-modal__title {
  margin: 0 0 6px;
  font-family: var(--cds-font-head, 'IBM Plex Sans', sans-serif);
  font-size: var(--cds-fs-xl, 20px);
  font-weight: 700;
  color: var(--cds-text, #1a1a1b);
}

.community-modal__text {
  margin: 0;
  font-size: var(--cds-fs-md, 15px);
  line-height: 1.5;
  color: var(--cds-text-2, #4a4d50);
}

.community-modal__label {
  display: block;
  margin: 14px 0 6px;
  font-size: var(--cds-fs-sm, 13.5px);
  font-weight: 600;
  color: var(--cds-text, #1a1a1b);
}

.community-modal__select,
.community-modal__textarea {
  width: 100%;
  border: 1px solid var(--cds-border, #e6e8ea);
  border-radius: 8px;
  background: var(--cds-surface, #fff);
  padding: 10px 12px;
  font-size: var(--cds-fs-md, 15px);
  font-family: inherit;
  color: var(--cds-text, #1a1a1b);
}

.community-modal__textarea {
  resize: vertical;
  min-height: 76px;
}

.community-modal__select:focus,
.community-modal__textarea:focus {
  outline: 2px solid var(--cds-focus-ring, #157a63);
  outline-offset: 1px;
  border-color: var(--cds-brand, #157a63);
}

.community-modal__actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 22px;
}

.community-modal__button {
  border: 1px solid var(--cds-border, #e6e8ea);
  background: var(--cds-surface, #fff);
  color: var(--cds-text, #1a1a1b);
  border-radius: 8px;
  padding: 9px 16px;
  font-size: var(--cds-fs-sm, 13.5px);
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
}

.community-modal__button:hover {
  background: var(--cds-bg, #f4f5f5);
}

.community-modal__button--danger {
  background: var(--cds-danger, #c8102e);
  border-color: var(--cds-danger, #c8102e);
  color: #fff;
}

.community-modal__button--danger:hover {
  filter: brightness(.92);
}

.community-modal__button[aria-busy='true'] {
  opacity: .7;
  cursor: progress;
}

/* Ya reportado por mí en esta página. */
.community-report__trigger.is-reported {
  color: var(--cds-danger, #c8102e);
}

/* ===== Formulario de cuenta =====
 * Estaba a 1170 px, sin tarjeta, sin fondo y con los doce campos en una sola
 * columna plana. Se le da el mismo envoltorio que al resto de formularios. */
.community-account-form {
  max-width: 800px;
  margin: 0 auto;
  background: var(--cds-surface, #fff);
  border: 1px solid var(--cds-border, #e6e8ea);
  border-radius: var(--cds-radius-md, 10px);
  padding: 24px;
}

/* Los grupos separan con un título y aire, sin caja: dentro de una tarjeta,
 * meter otra caja recuadra dos veces lo mismo. Además el <fieldset> lleva la
 * clase `form-item`, así que cualquier regla de borde sobre los campos le
 * afectaba y acababa dibujando una caja a medias (tres lados). */
.community-account-form__grupo {
  border: 0;
  padding: 0;
  margin: 0 0 28px;
  background: none;
}

.community-account-form__grupo > legend {
  width: 100%;
  padding: 0 0 8px;
  margin: 0 0 18px;
  border-bottom: 1px solid var(--cds-border-soft, #f0f1f2);
  font-family: var(--cds-font-head, 'IBM Plex Sans', sans-serif);
  font-size: var(--cds-fs-md, 15px);
  font-weight: 700;
  color: var(--cds-brand-strong, #0f5f4d);
  text-transform: none;
  letter-spacing: 0;
}

/* Nombre y apellidos caben en una fila: son cortos y van juntos. */
@media (min-width: 620px) {
  .community-account-form__grupo .field--name-field-nombre,
  .community-account-form__grupo .field--name-field-apellidos {
    display: inline-block;
    width: calc(50% - 8px);
    vertical-align: top;
  }

  .community-account-form__grupo .field--name-field-nombre {
    margin-right: 12px;
  }
}

/* Dar de baja la cuenta no puede parecerse a guardar. */
.community-account-form .form-actions {
  justify-content: space-between;
}

.cds-form .form-actions .community-account-form__baja {
  background: transparent !important;
  border-color: var(--cds-danger, #c8102e) !important;
  color: var(--cds-danger, #c8102e) !important;
  order: 10;
}

.cds-form .form-actions .community-account-form__baja:hover {
  background: var(--cds-danger-soft, #fdecef) !important;
}

/* Neutraliza el estilo que el tema aplica a los formularios de usuario.
 *
 * gavias_edmix trae en template.css (L7113):
 *   .user-form .form-item:not(.js-form-type-checkbox) { border-bottom: 1px ... }
 *   .user-form .form-item:not(...) label { text-transform: uppercase; float: left;
 *                                          font-family: Raleway; font-size: 12px }
 *
 * La línea bajo cada campo hacía que el formulario pareciera una tabla, y las
 * etiquetas en mayúsculas y con otra tipografía no pegan con el resto de
 * formularios de la comunidad.
 *
 * Se encadenan las dos clases del propio <form> (.user-form.community-account-form)
 * para superar en especificidad a la regla del tema sin depender de qué hoja se
 * cargue después. */
.user-form.community-account-form .form-item:not(.js-form-type-checkbox) {
  border-bottom: 0;
  margin-bottom: var(--cds-space-4, 16px);
  padding-bottom: 0;
}

.user-form.community-account-form .form-item:not(.js-form-type-checkbox) label {
  float: none;
  width: auto;
  display: block;
  /* Mismos valores que `.cds-form label` del design system, para que estas
   * etiquetas sean indistinguibles de las del formulario de publicación.
   *
   * El !important no es pereza: el tema inyecta un <style> en la propia página
   * con `font-family: Amaranth !important` sobre una lista de selectores que
   * incluye `.user-form ... label`. A un !important solo se le gana con otro,
   * y esta regla es más específica que la suya. */
  font-family: var(--cds-font-head, 'IBM Plex Sans', system-ui, sans-serif) !important;
  font-size: var(--cds-fs-base, 14px);
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
  color: var(--cds-text, #1a1a1b);
  margin-bottom: 6px;
}

/* El `float` del tema dejaba los contenedores sin altura. */
.user-form.community-account-form .form-item::after {
  content: '';
  display: table;
  clear: both;
}

/* El último campo de cada grupo no necesita separación extra. */
.community-account-form__grupo .form-item:last-child {
  margin-bottom: 0;
}

/* Aceptación de las normas en el alta de publicación. Va pegada a las normas,
 * no suelta entre los campos, para que se lea como parte de ellas. */
.community-create-form .form-item-community-rules-accept {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 4px 0 8px;
}

.community-create-form .form-item-community-rules-accept input[type="checkbox"] {
  margin: 2px 0 0;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  accent-color: var(--cds-brand, #157a63);
}

.community-create-form .form-item-community-rules-accept label {
  margin: 0;
  font-size: var(--cds-fs-md, 15px);
  font-weight: 500;
  line-height: 1.45;
  color: var(--cds-text, #1a1a1b);
  cursor: pointer;
}

/* ===== Pantalla de baja de cuenta =====
 * El enlace "Cancelar" lo pintaba custom.css del tema como una barra negra a
 * todo lo ancho, con más peso visual que la propia acción destructiva. Ese
 * bloque se retiró; aquí se le da el aspecto de boton secundario del resto de
 * formularios. Se conserva el id en el selector porque ese enlace no trae
 * ninguna clase propia. */
#user-cancel-form.cds-form #edit-actions #edit-cancel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  margin: 0;
  padding: 9px 18px;
  border: 1px solid var(--cds-border, #e6e8ea);
  border-radius: 8px;
  background: var(--cds-surface, #fff);
  color: var(--cds-text, #1a1a1b);
  font-size: var(--cds-fs-sm, 13px);
  font-weight: 700;
  text-transform: none;
  text-decoration: none;
}

#user-cancel-form.cds-form #edit-actions #edit-cancel:hover {
  background: var(--cds-bg, #f4f5f5);
  color: var(--cds-text, #1a1a1b);
}

/* Enlace a la cola de reportes en la barra lateral, solo para moderación. */
.community-nav__item--moderar {
  position: relative;
}

.community-nav__badge {
  margin-left: auto;
  min-width: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--cds-danger, #c8102e);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 18px;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

/* ===== Pantallas de gestión de la comunidad =====
 * Cola de reportes y listado de comentarios. El moderador las ve con el tema
 * público, porque su rol no tiene permiso de tema de administración, así que
 * necesitan estilo propio: sin esto salen como tablas en crudo sobre el fondo
 * de la página. */
.community-admin {
  max-width: 1100px;
  margin: 0 auto 32px;
  padding: 24px;
  background: var(--cds-surface, #fff);
  border: 1px solid var(--cds-border, #e6e8ea);
  border-radius: var(--cds-radius-md, 10px);
}

.community-admin__filtros {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 20px;
}

.community-admin__filtro {
  display: inline-flex;
  align-items: center;
  padding: 7px 14px;
  border: 1px solid var(--cds-border, #e6e8ea);
  border-radius: 999px;
  background: var(--cds-surface, #fff);
  color: var(--cds-text-2, #4a4d50);
  font-size: var(--cds-fs-sm, 13px);
  font-weight: 600;
  text-decoration: none;
}

.community-admin__filtro:hover {
  background: var(--cds-bg, #f4f5f5);
  text-decoration: none;
}

.community-admin__filtro.is-active {
  background: var(--cds-brand, #157a63);
  border-color: var(--cds-brand, #157a63);
  color: #fff;
}

.community-admin__tabla {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--cds-fs-sm, 13px);
}

.community-admin__tabla th {
  text-align: left;
  padding: 10px 12px;
  border-bottom: 2px solid var(--cds-border, #e6e8ea);
  font-family: var(--cds-font-head, 'IBM Plex Sans', sans-serif);
  font-size: var(--cds-fs-sm, 13px);
  font-weight: 700;
  color: var(--cds-text, #1a1a1b);
  text-transform: none;
}

.community-admin__tabla td {
  padding: 12px;
  border-bottom: 1px solid var(--cds-border-soft, #f0f1f2);
  vertical-align: top;
  color: var(--cds-text-2, #4a4d50);
  line-height: 1.45;
}

.community-admin__tabla tr:hover td {
  background: var(--cds-bg, #f4f5f5);
}

.community-admin__tabla td a {
  color: var(--cds-brand-strong, #0f5f4d);
  font-weight: 600;
}

/* Acciones: dos pastillas, la destructiva diferenciada. */
.community-admin__accion {
  display: inline-block;
  margin: 0 4px 4px 0;
  padding: 5px 12px;
  border: 1px solid var(--cds-border, #e6e8ea);
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.community-admin__accion.is-atender {
  border-color: var(--cds-brand, #157a63);
  color: var(--cds-brand-strong, #0f5f4d) !important;
}

.community-admin__accion.is-atender:hover {
  background: var(--cds-brand-soft, #e8f2ef);
}

.community-admin__accion.is-descartar {
  color: var(--cds-muted, #6b7176) !important;
}

.community-admin__accion.is-descartar:hover {
  background: var(--cds-bg, #f4f5f5);
}

@media (max-width: 760px) {
  .community-admin {
    padding: 16px;
  }

  /* La tabla no cabe: se desplaza dentro de su caja en vez de romper la página. */
  .community-admin__tabla {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }
}

/* Listado de comentarios: el formulario expuesto de core viene en columna y
 * ocupa media pantalla; aquí se pone en fila como el resto de filtros. */
.community-admin--comments .community-admin__filtros-form .views-exposed-form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
  margin-bottom: 20px;
}

.community-admin--comments .views-exposed-form .form-item {
  margin: 0;
}

.community-admin--comments .views-exposed-form label {
  display: block;
  margin-bottom: 4px;
  font-family: var(--cds-font-head, 'IBM Plex Sans', sans-serif);
  font-size: var(--cds-fs-sm, 13px);
  font-weight: 600;
  color: var(--cds-text, #1a1a1b);
  text-transform: none;
}

.community-admin--comments .views-exposed-form input[type="text"],
.community-admin--comments .views-exposed-form select {
  height: 38px;
  padding: 0 12px;
  border: 1px solid var(--cds-border, #e6e8ea);
  border-radius: 8px;
  background: var(--cds-surface, #fff);
  font-size: var(--cds-fs-sm, 13px);
  font-family: inherit;
}

/* La tabla del listado comparte estilo con la de reportes. */
.community-admin--comments table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--cds-fs-sm, 13px);
}

.community-admin--comments table th {
  text-align: left;
  padding: 10px 12px;
  border-bottom: 2px solid var(--cds-border, #e6e8ea);
  font-family: var(--cds-font-head, 'IBM Plex Sans', sans-serif);
  font-weight: 700;
  color: var(--cds-text, #1a1a1b);
  text-transform: none;
}

.community-admin--comments table td {
  padding: 12px;
  border-bottom: 1px solid var(--cds-border-soft, #f0f1f2);
  vertical-align: top;
  color: var(--cds-text-2, #4a4d50);
  line-height: 1.45;
}

.community-admin--comments table tr:hover td {
  background: var(--cds-bg, #f4f5f5);
}

.community-admin--comments table a {
  color: var(--cds-brand-strong, #0f5f4d);
  font-weight: 600;
}

/* Acciones en lote: van juntas y no a todo lo ancho. */
.community-admin--comments .form-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-top: 16px;
}

/* El botón de aplicar la acción en lote lo pinta el tema como una barra verde a
 * todo lo ancho encima de la tabla, con más peso visual que la propia tabla.
 * Se le devuelve tamaño de botón y se coloca junto al selector. */
.community-admin--comments .form-actions input[type="submit"],
.community-admin--comments input[id*="edit-submit"] {
  width: auto !important;
  display: inline-flex;
  align-items: center;
  height: 38px;
  padding: 0 18px;
  border: 0;
  border-radius: 8px;
  background: var(--cds-brand, #157a63);
  color: #fff;
  font-size: var(--cds-fs-sm, 13px);
  font-weight: 700;
  font-family: inherit;
  text-transform: none;
  cursor: pointer;
}

.community-admin--comments .form-actions input[type="submit"]:hover {
  background: var(--cds-brand-strong, #0f5f4d);
}

/* El selector de acción y su botón, en la misma fila. */
.community-admin--comments .form-item-action {
  display: inline-flex;
  align-items: flex-end;
  gap: 10px;
  margin: 0 0 16px;
}

/* ===== Alta de comunidad desde el formulario de publicación =====
 * Bloque plegado bajo el selector. Va en tono apagado a propósito: elegir una
 * comunidad de la lista es lo normal, crear una es la excepción, y si pesara
 * lo mismo que el selector invitaría a estrenar comunidad en cada publicación.
 */
.community-create-form .community-area-new {
  margin: -8px 0 var(--cds-space-4, 16px);
  padding: 0;
  border: 0;
}

.community-create-form .community-area-new > summary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  list-style: none;
  cursor: pointer;
  padding: 0;
  font-family: var(--cds-font-body, inherit);
  font-size: var(--cds-fs-sm, 13px);
  font-weight: 600;
  color: var(--cds-brand, #0f7a63);
}

.community-create-form .community-area-new > summary::-webkit-details-marker {
  display: none;
}

/* El signo hace de indicador de plegado: no hay flecha propia del navegador
 * porque la marca nativa está oculta arriba. */
.community-create-form .community-area-new > summary::before {
  content: '+';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 13px;
  line-height: 1;
}

.community-create-form .community-area-new[open] > summary::before {
  content: '−';
}

.community-create-form .community-area-new > summary:hover {
  text-decoration: underline;
}

.community-create-form .community-area-new > summary:focus-visible {
  outline: none;
  box-shadow: var(--cds-focus-ring, 0 0 0 3px rgba(15, 122, 99, .28));
  border-radius: 4px;
}

/* Caja interior, para que lo que se despliega se lea como un aparte y no como
 * un campo más de la publicación. */
.community-create-form .community-area-new__box {
  margin-top: var(--cds-space-3, 12px);
  padding: var(--cds-space-4, 16px);
  background: var(--cds-surface-2, #fbfbfc);
  border: 1px solid var(--cds-border, #e6e8ea);
  border-radius: var(--cds-radius-md, 10px);
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--cds-space-3, 12px);
}

.community-create-form .community-area-new__box .form-item {
  flex: 1 1 220px;
  margin: 0 !important;
}

/* El tema estira todos los submit a todo el ancho; este va al lado del campo. */
.community-create-form .community-area-new__add {
  width: auto !important;
  flex: 0 0 auto;
  height: 42px;
  padding: 0 var(--cds-space-5, 20px);
  border: 1px solid var(--cds-brand, #0f7a63);
  border-radius: var(--cds-radius-pill, 999px);
  background: var(--cds-surface, #fff);
  color: var(--cds-brand, #0f7a63);
  font-family: var(--cds-font-head, inherit);
  font-size: var(--cds-fs-base, 14px);
  font-weight: 700;
  text-transform: none;
  cursor: pointer;
}

.community-create-form .community-area-new__add:hover {
  background: var(--cds-brand-soft, #e8f2ef);
}

/* Resultado del alta. Ocupa la fila entera: es una respuesta a lo que se acaba
 * de hacer, no una etiqueta del campo. */
.community-create-form .community-area-new__msg {
  flex: 1 0 100%;
  margin: 0;
  padding: 10px 12px;
  border-radius: var(--cds-radius-sm, 6px);
  font-size: var(--cds-fs-sm, 13px);
  line-height: 1.45;
}

.community-create-form .community-area-new__msg--ok {
  background: var(--cds-brand-soft, #e8f2ef);
  color: var(--cds-brand-strong, #0f5f4d);
}

.community-create-form .community-area-new__msg--info {
  background: var(--cds-border-soft, #f0f1f2);
  color: var(--cds-text-2, #4a4d50);
}

.community-create-form .community-area-new__msg--error {
  background: var(--cds-danger-soft, #fdecef);
  color: var(--cds-danger, #c8102e);
}

@media (max-width: 560px) {
  .community-create-form .community-area-new__add {
    width: 100% !important;
  }
}

/* Buscador de la pantalla de usuarios de la Comunidad. Comparte el resto del
   estilo con las demás pantallas de gestión (.community-admin__*). */
.community-admin__buscador {
  display: flex;
  gap: 8px;
  margin: 0 0 18px;
}

.community-admin__buscador input[type="search"] {
  flex: 1 1 auto;
  max-width: 340px;
  padding: 8px 12px;
  border: 1px solid #d7dee0;
  border-radius: 6px;
  font-size: 14px;
}

.community-admin__buscador button {
  padding: 8px 16px;
  border: 0;
  border-radius: 6px;
  background: #0f7a63;
  color: #fff;
  font-size: 14px;
  cursor: pointer;
}

.community-admin__buscador button:hover {
  background: #0c6350;
}
