/* Pantalla EVENTOS en móvil (maqueta aprobada, 13/08/2026).
   CSS tal cual lo entregó el diseño, con el prefijo pbc-meventos- para que no
   choque con nada de la web. Solo se carga cuando el flag MEVENTOS está ON.
   Lo único que cambia respecto al fichero del diseño: las reglas de <html> y
   <body> pasan al envoltorio .pbc-meventos-page, porque aquí la pantalla vive
   dentro de la web, no en un fichero suelto. */

/* La piel nueva manda en las DOS pantallas (Guille, 25/08/2026): en el ordenador
   se ve la misma tarjeta que en la app (foto del anfitrión, botones grandes,
   caras de quien va), solo que más ancha y centrada. La agenda de siempre queda
   en el fichero pero ya no se pinta con el flag ON. */
.pbc-meventos-page { display: block; }
body.has-pbc-meventos { background: #dfe8ef; }
body.has-pbc-meventos .pbc-meventos-legacy { display: none; }

@media (max-width: 767.98px) {
  /* La barra de arriba y el pie solo se esconden si hay barra INFERIOR: si no,
     dejaríamos a la persona sin manera de salir de esta pantalla. */
  body.has-pbc-meventos.has-pbc-mnav > .navbar,
  body.has-pbc-meventos.has-pbc-mnav > .site-footer { display: none !important; }

  /* La FOTO de arriba a la derecha y su marco de rango son la pieza común
     (includes/mobile_topbar.html + mobile-topbar.css). Aquí se re-afirman sus
     medidas porque el CSS global de la web pisa a los componentes y ya deformó
     iconos otra vez: si algo llega pisado, la foto sigue centrada dentro del
     marco y el marco no se estira. No se inventa ninguna medida: son las mismas
     que en la portada y el perfil. */
  .pbc-meventos-page .pbc-mtop-avatar {
    position: relative !important;
    width: 62px !important;
    height: 62px !important;
    flex: 0 0 62px !important;
  }
  .pbc-meventos-page .pbc-mtop-avatar-photo {
    position: absolute !important;
    top: 7px !important;
    left: 7px !important;
    width: 48px !important;
    height: 48px !important;
    border: 0 !important;
    border-radius: 50% !important;
    object-fit: cover !important;
  }
  .pbc-meventos-page .pbc-mtop-avatar-frame {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    pointer-events: none !important;
  }
}

.pbc-meventos-page {
  min-height: 100%;
  margin: 0;
  color: #15263b;
  background: #dfe8ef;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.pbc-meventos-app,
.pbc-meventos-app *,
.pbc-meventos-app *::before,
.pbc-meventos-app *::after {
  box-sizing: border-box;
}

.pbc-meventos-app button,
.pbc-meventos-app a {
  font: inherit;
  -webkit-tap-highlight-color: transparent;
}

.pbc-meventos-app {
  --pbc-meventos-blue: #086bc9;
  --pbc-meventos-blue-dark: #04549f;
  --pbc-meventos-blue-soft: #e7f3fc;
  --pbc-meventos-ink: #15263b;
  --pbc-meventos-muted: #647589;
  --pbc-meventos-page: #eef4f8;
  --pbc-meventos-line: #e1eaf1;
  --pbc-meventos-yellow: #ffd51f;
  --pbc-meventos-yellow-dark: #d8ad00;
  --pbc-meventos-green: #0f7a5a;
  width: 100%;
  max-width: 390px;
  min-height: 100dvh;
  margin: 0 auto;
  overflow: hidden;
  background: var(--pbc-meventos-page);
  box-shadow: 0 0 44px rgba(21, 38, 59, 0.12);
}

.pbc-meventos-main {
  padding: 30px 16px calc(104px + env(safe-area-inset-bottom));
}

.pbc-meventos-intro {
  padding: 0 4px;
}

.pbc-meventos-title {
  margin: 0;
  color: var(--pbc-meventos-ink);
  font-size: 32px;
  font-weight: 900;
  line-height: 1.02;
  letter-spacing: -0.04em;
}

.pbc-meventos-subtitle {
  margin: 7px 0 0;
  color: var(--pbc-meventos-muted);
  font-size: 16px;
  font-weight: 650;
  line-height: 1.35;
}

.pbc-meventos-group {
  margin-top: 25px;
}

.pbc-meventos-group + .pbc-meventos-group {
  margin-top: 30px;
}

.pbc-meventos-day {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0 4px 11px;
  color: #6e7f91;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.13em;
  line-height: 1;
}

.pbc-meventos-day::after {
  height: 1px;
  flex: 1;
  content: "";
  background: #dbe5ed;
}

/* Separador de la SEMANA QUE VIENE. La agenda enseña dos semanas seguidas
   (Guille, 23/08/2026), así que hace falta una raya que diga dónde empieza la
   siguiente: si no, se ven dos jueves y no se sabe cuál es cuál. */
.pbc-meventos-week-break {
  display: flex;
  align-items: center;
  gap: 9px;
  width: calc(100% - 8px);
  margin: 26px 4px 13px;
  padding: 0;
  color: #94a5b6;
  background: none;
  border: 0;
  font-family: inherit;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.13em;
  line-height: 1;
  text-align: left;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.pbc-meventos-week-break::before,
.pbc-meventos-week-break::after {
  height: 1px;
  flex: 1;
  content: "";
  background: #dbe5ed;
}

/* El ::after es la raya de la derecha: la flecha va ANTES para que quede pegada
   al texto y se lea como "esto se abre", no como un adorno del final. */
.pbc-meventos-week-break-text,
.pbc-meventos-week-break-count,
.pbc-meventos-week-break-arrow {
  flex: 0 0 auto;
}

.pbc-meventos-week-break-count {
  color: #b3c0cd;
  letter-spacing: 0.06em;
}

.pbc-meventos-week-break-arrow {
  transition: transform 0.18s ease;
}

.pbc-meventos-week-break.is-open .pbc-meventos-week-break-arrow {
  transform: rotate(180deg);
}

.pbc-meventos-card {
  position: relative;
  padding: 20px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(214, 226, 235, 0.94);
  border-radius: 24px;
  box-shadow: 0 10px 24px rgba(41, 66, 90, 0.09), 0 2px 5px rgba(41, 66, 90, 0.04);
}

.pbc-meventos-card + .pbc-meventos-card {
  margin-top: 14px;
}

.pbc-meventos-card-live {
  border: 2px solid rgba(15, 122, 90, 0.27);
  box-shadow: 0 13px 28px rgba(15, 122, 90, 0.13), 0 2px 5px rgba(41, 66, 90, 0.04);
}

.pbc-meventos-card-live::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 7px;
  height: 100%;
  content: "";
  background: var(--pbc-meventos-green);
}

.pbc-meventos-card-muted {
  box-shadow: 0 7px 18px rgba(41, 66, 90, 0.06);
}

.pbc-meventos-card-ended {
  opacity: 0.66;
  filter: saturate(0.46);
  box-shadow: none;
}

.pbc-meventos-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.pbc-meventos-language {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  gap: 8px;
  padding: 0 12px 0 8px;
  color: #1c4e76;
  background: var(--pbc-meventos-blue-soft);
  border: 1px solid #d2e8f8;
  border-radius: 17px;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}

.pbc-meventos-flag {
  display: block;
  width: 22px;
  height: 16px;
  flex: 0 0 22px;
  overflow: hidden;
  border: 1px solid rgba(21, 38, 59, 0.12);
  border-radius: 4px;
  box-shadow: 0 1px 2px rgba(21, 38, 59, 0.10);
  background-size: cover;
  background-position: center;
}

.pbc-meventos-mark {
  width: 18px;
  height: 18px;
  flex-basis: 18px;
  border-radius: 50%;
  border-color: rgba(21, 38, 59, 0.12);
  object-fit: cover;
  background: #fff;
}

.pbc-meventos-live-label,
.pbc-meventos-status-label {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  gap: 6px;
  padding: 0 10px;
  border-radius: 14px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}

.pbc-meventos-live-label {
  color: #0a694d;
  background: #e2f4ed;
}

.pbc-meventos-status-label {
  color: #547084;
  background: #eaf0f4;
}

.pbc-meventos-live-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #14a877;
  box-shadow: 0 0 0 4px rgba(20, 168, 119, 0.13);
}

.pbc-meventos-topic {
  margin: 15px 0 0;
  color: var(--pbc-meventos-ink);
  font-size: 24px;
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.pbc-meventos-note {
  margin: 8px 0 0;
  color: var(--pbc-meventos-muted);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
}

/* Descripción larga de un evento propuesto: se recorta a 3 líneas y el botón
   "Leer más" la abre entera (antes se perdía lo que pasaba de 120 letras). */
.pbc-meventos-note-clamp {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.pbc-meventos-note-more {
  margin-top: 6px;
  padding: 0;
  color: var(--pbc-meventos-blue);
  background: none;
  border: 0;
  font-family: inherit;
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
}

.pbc-meventos-when {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  color: #53677c;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.25;
}

/* Botones Google/Apple Calendar en la fila de la hora (Guille 24/08/2026). */
.pbc-meventos-cal {
  display: inline-flex;
  gap: 8px;
  margin-left: auto;
}
.pbc-meventos-cal-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  border: 1px solid #dbe4ee;
  background: #fff;
  color: #53677c;
}
.pbc-meventos-cal-btn svg {
  width: 17px;
  height: 17px;
}

.pbc-meventos-clock {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  color: var(--pbc-meventos-blue);
}

.pbc-meventos-host {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
  padding-top: 15px;
  border-top: 1px solid var(--pbc-meventos-line);
}

.pbc-meventos-host-avatar,
.pbc-meventos-person {
  position: relative;
  display: grid;
  overflow: hidden;
  place-items: center;
  color: #ffffff;
  background: var(--pbc-meventos-blue);
  border-radius: 50%;
  font-weight: 900;
}

.pbc-meventos-host-avatar {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border: 2px solid #ffffff;
  box-shadow: 0 0 0 2px #bddcf2;
  font-size: 13px;
}

.pbc-meventos-host-photo,
.pbc-meventos-person-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

.pbc-meventos-host-copy {
  flex: 1 1 auto;
  min-width: 0;
}

/* Chapa de PROFE: eventos que da el equipo (o un profesor), distintos de los que
   propone cualquier usuario. */
.pbc-meventos-teacher-badge {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 4px;
  padding: 5px 9px;
  color: #0a694d;
  background: #e2f4ed;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: -0.01em;
  line-height: 1;
  white-space: nowrap;
}

.pbc-meventos-host-badged .pbc-meventos-host-avatar {
  box-shadow: 0 0 0 2px #9fe0c7;
}

.pbc-meventos-host-label {
  display: block;
  color: #8290a0;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

.pbc-meventos-host-name {
  display: block;
  margin-top: 4px;
  overflow: hidden;
  color: var(--pbc-meventos-ink);
  font-size: 14px;
  font-weight: 850;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pbc-meventos-attendance {
  margin-top: 17px;
}

/* La fila de caritas + "N apuntados" es un BOTON que abre la lista entera
   (Guille, 21/08/2026). Se mantiene con la pinta de siempre: sin fondo, sin borde
   y con la zona pinchable de toda la linea. */
.pbc-meventos-attendance-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 11px;
  width: 100%;
  margin: 0;
  padding: 4px 0;
  border: 0;
  background: none;
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.pbc-meventos-attendance-row:disabled {
  cursor: default;
}

.pbc-meventos-who-chevron {
  flex: 0 0 auto;
  color: #94a7ba;
}

/* Sin nadie apuntado no hay lista: la flechita desaparece para no prometerla. */
.pbc-meventos-attendance-row:disabled .pbc-meventos-who-chevron {
  visibility: hidden;
}

.pbc-meventos-people {
  display: flex;
  align-items: center;
  padding-left: 2px;
}

.pbc-meventos-person {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border: 2px solid #ffffff;
  font-size: 9px;
  box-shadow: 0 1px 4px rgba(21, 38, 59, 0.12);
}

.pbc-meventos-person + .pbc-meventos-person {
  margin-left: -9px;
}

.pbc-meventos-person-one {
  background: #168fb2;
}

.pbc-meventos-person-two {
  background: #744eaf;
}

.pbc-meventos-person-three {
  background: #d67a32;
}

.pbc-meventos-person-four {
  background: #0f7a5a;
}

/* El anfitrion abre la fila de caritas: mismo circulito, aro azul para
   distinguirlo del resto de apuntados. */
.pbc-meventos-person-host {
  background: var(--pbc-meventos-blue);
  box-shadow: 0 0 0 2px #bddcf2;
}

.pbc-meventos-count {
  flex: 1;
  color: #53677c;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
  text-align: right;
}

.pbc-meventos-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 18px;
}

.pbc-meventos-button {
  display: inline-flex;
  min-height: 50px;
  flex: 1 1 100%;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 18px;
  cursor: pointer;
  color: var(--pbc-meventos-ink);
  border: 0;
  border-radius: 17px;
  text-decoration: none;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.1;
  text-align: center;
  transition: transform 120ms ease, box-shadow 120ms ease;
}

.pbc-meventos-button:focus-visible,
.pbc-meventos-link:focus-visible {
  outline: 4px solid rgba(255, 213, 31, 0.55);
  outline-offset: 3px;
}

.pbc-meventos-button-yellow {
  background: var(--pbc-meventos-yellow);
  box-shadow: 0 5px 0 var(--pbc-meventos-yellow-dark), 0 10px 17px rgba(180, 142, 0, 0.16);
}

.pbc-meventos-button-blue {
  color: #ffffff;
  background: var(--pbc-meventos-blue);
  box-shadow: 0 5px 0 var(--pbc-meventos-blue-dark), 0 10px 17px rgba(8, 107, 201, 0.18);
}

.pbc-meventos-button-confirmed {
  color: #0a694d;
  background: #e2f4ed;
  border: 1px solid #b9e5d7;
  box-shadow: 0 4px 0 #aad8ca;
}

.pbc-meventos-button-muted {
  color: #7a8794;
  background: #e8edf1;
  box-shadow: 0 4px 0 #d2dbe2;
  cursor: default;
}

.pbc-meventos-button:active:not(.pbc-meventos-button-muted) {
  transform: translateY(4px);
  box-shadow: 0 1px 0 rgba(21, 38, 59, 0.18);
}

.pbc-meventos-live-actions .pbc-meventos-button-blue {
  min-width: 104px;
  flex: 0 0 104px;
}

.pbc-meventos-live-actions .pbc-meventos-button-muted {
  min-width: 0;
  flex: 1 1 0;
  padding-right: 11px;
  padding-left: 11px;
  font-size: 12px;
}

.pbc-meventos-check {
  width: 19px;
  height: 19px;
  flex: 0 0 19px;
}

.pbc-meventos-link-row {
  margin-top: 14px;
  text-align: center;
}

.pbc-meventos-link {
  display: inline-block;
  padding: 4px;
  color: var(--pbc-meventos-blue);
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.25;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.pbc-meventos-empty {
  margin-top: 24px;
  padding: 20px;
  color: var(--pbc-meventos-muted);
  background: #ffffff;
  border: 1px solid rgba(214, 226, 235, 0.94);
  border-radius: 24px;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
}

/* Proponer tu evento: ANTES era una tarjeta alta al final del todo (Guille,
   24/08/2026). Ahora va arriba, así que es una tira baja: si ocupara media
   pantalla, la agenda, que es a lo que se viene, quedaría debajo del pliegue. */
.pbc-meventos-propose {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 18px 0 2px;
  padding: 14px 12px 14px 18px;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(214, 226, 235, 0.94);
  border-radius: 22px;
  box-shadow: 0 8px 20px rgba(41, 66, 90, 0.08);
}

.pbc-meventos-propose-text-box {
  flex: 1 1 auto;
  min-width: 0;
}

.pbc-meventos-propose-title {
  margin: 0;
  color: var(--pbc-meventos-ink);
  font-size: 18px;
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -0.025em;
}

.pbc-meventos-propose-text {
  margin: 4px 0 0;
  color: var(--pbc-meventos-muted);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
}

.pbc-meventos-propose-button {
  display: inline-flex;
  min-height: 42px;
  margin-top: 11px;
  padding-right: 14px;
  padding-left: 14px;
  font-size: 13px;
}

.pbc-meventos-mascot {
  flex: 0 0 auto;
  width: 104px;
  height: 104px;
  margin: -10px -6px -10px 0;
  object-fit: contain;
  object-position: center;
  pointer-events: none;
  user-select: none;
}

/* ── Filtro por idioma ───────────────────────────────────────────────────────
   Fila de botones que se arrastra a lo ancho: con dos semanas de agenda, poder
   quedarse solo con TU idioma es la diferencia entre mirarla y no mirarla. */
.pbc-meventos-filters {
  display: flex;
  gap: 8px;
  margin: 16px -16px 2px;
  padding: 2px 16px 6px;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.pbc-meventos-filters::-webkit-scrollbar {
  display: none;
}

.pbc-meventos-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  flex: 0 0 auto;
  min-height: 38px;
  padding: 0 15px;
  color: var(--pbc-meventos-ink);
  background: #ffffff;
  border: 1px solid rgba(214, 226, 235, 0.94);
  border-radius: 999px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.pbc-meventos-chip.is-on {
  color: #ffffff;
  background: var(--pbc-meventos-blue, #1D6FD0);
  border-color: transparent;
}

.pbc-meventos-chip-flag {
  width: 19px;
  height: 14px;
  border-radius: 3px;
}

@media (max-width: 350px) {
  .pbc-meventos-main {
    padding-right: 12px;
    padding-left: 12px;
  }

  .pbc-meventos-card {
    padding: 18px;
  }

  .pbc-meventos-topic {
    font-size: 22px;
  }

  .pbc-meventos-live-actions .pbc-meventos-button-blue {
    flex-basis: 96px;
  }

  .pbc-meventos-propose {
    padding-left: 14px;
  }

  .pbc-meventos-mascot {
    width: 88px;
    height: 88px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pbc-meventos-button {
    transition: none;
  }
}

/* ── Hoja de "quien va" (se abre al tocar "N apuntados") ────────────────────── */
/* Sube desde abajo como cualquier hoja del movil. Es un <dialog> con showModal(),
   igual que la ficha de persona, para que salga por encima de todo. */
.pbc-meventos-sheet {
  position: fixed;
  inset: auto 0 0 0;
  width: 100%;
  max-width: 520px;
  max-height: 78vh;
  margin: 0 auto;
  padding: 10px 18px calc(20px + env(safe-area-inset-bottom));
  border: 0;
  border-radius: 22px 22px 0 0;
  background: #ffffff;
  box-shadow: 0 -10px 40px rgba(21, 38, 59, 0.22);
  color: #15263b;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.pbc-meventos-sheet::backdrop {
  background: rgba(21, 38, 59, 0.45);
}

.pbc-meventos-sheet-grab {
  width: 40px;
  height: 4px;
  margin: 0 auto 12px;
  border-radius: 999px;
  background: #dbe4ed;
}

.pbc-meventos-sheet-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.pbc-meventos-sheet-title {
  margin: 0;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.2;
}

.pbc-meventos-sheet-close {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #f1f5f9;
  color: #53677c;
  cursor: pointer;
}

.pbc-meventos-sheet-event {
  margin: 4px 0 10px;
  color: #53677c;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
}

.pbc-meventos-sheet-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.pbc-meventos-sheet-row + .pbc-meventos-sheet-row {
  border-top: 1px solid #eef2f6;
}

/* Toda la fila abre la ficha de esa persona. Cuando no hay ficha que abrir es un
   <div> y no reacciona, pero se ve exactamente igual. */
.pbc-meventos-sheet-person {
  display: flex;
  align-items: center;
  gap: 11px;
  width: 100%;
  padding: 10px 2px;
  border: 0;
  background: none;
  font: inherit;
  color: inherit;
  text-align: left;
}

button.pbc-meventos-sheet-person {
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

button.pbc-meventos-sheet-person:active {
  background: #f6f9fc;
}

.pbc-meventos-sheet-round {
  flex: 0 0 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--pbc-meventos-blue, #168fb2);
  color: #ffffff;
  font-size: 15px;
  font-weight: 800;
}

/* En movil una <img> no puede llenar el circulito (regla global height:auto), asi
   que se fuerza aqui, igual que en la fila de caritas de la tarjeta. */
.pbc-meventos-sheet-photo {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}

.pbc-meventos-sheet-name {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pbc-meventos-sheet-tag {
  flex: 0 0 auto;
  padding: 3px 9px;
  border-radius: 999px;
  background: #eef4fa;
  color: #3d7fae;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.pbc-meventos-sheet-note {
  margin: 14px 2px 2px;
  color: #7b8ea1;
  font-size: 13px;
  font-weight: 600;
}

/* ESCRITORIO: una sola columna centrada, más ancha (Guille, 25/08/2026).
   VA AL FINAL DEL FICHERO a propósito: la anchura de móvil (.pbc-meventos-app
   { max-width: 390px }) se declara más arriba y, con la misma fuerza, gana la
   última. Puesto antes, el ordenador seguía con el ancho del móvil.
   La cabecera móvil de dentro sobra (arriba ya está la barra de la web) y el
   hueco de la barra inferior tampoco hace falta. Nada de esto toca al móvil. */
@media (min-width: 768px) {
  .pbc-meventos-page .pbc-mtop { display: none; }
  .pbc-meventos-app {
    max-width: 720px;
    min-height: 0;
    /* Hueco para la barra de arriba de la web, que va fija. */
    margin: 5.5rem auto 3rem;
    border-radius: 18px;
  }
  .pbc-meventos-main { padding: 30px 24px 36px; }
  /* "Quién va" sube desde abajo en el móvil; en el ordenador queda centrada,
     como cualquier ventanita de la web. */
  .pbc-meventos-sheet {
    inset: 0;
    margin: auto;
    max-height: 70vh;
    border-radius: 22px;
    box-shadow: 0 18px 50px rgba(21, 38, 59, 0.28);
  }
}
