/* agenda/base/01 */
.agenda-section {
  align-items: flex-start;
}
/* agenda/header/01 */
.agenda-header {
  margin-bottom: 48px;
}
/* agenda/header/02 */
.agenda-title {
  font-size: clamp(36px, 6vw, 56px);
  font-weight: 700;
  letter-spacing: -0.01em;
}
/* agenda/header/03 */
.agenda-sub {
  margin-top: 8px;
  color: var(--text-secondary);
  font-size: 16px;
}
/* agenda/descarga/01 */
.agenda-descargar-btn {
  margin-top: 20px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  border-radius: 8px;
  background: var(--emerald);
  color: #06110c;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: opacity 0.2s ease;
}
/* agenda/descarga/02 */
.agenda-descargar-btn:hover {
  opacity: 0.85;
}
/* agenda/descarga/03 */
.agenda-descargar-btn i {
  font-size: 16px;
}
/* agenda/descarga/04 */
.agenda-descargar-qr {
  margin-top: 20px;
  display: flex;
  align-items: center;
  gap: 14px;
}
/* agenda/descarga/05 */
.agenda-qr-code {
  width: 84px;
  height: 84px;
  background: #fff;
  border-radius: 8px;
  padding: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
/* agenda/descarga/06 */
.agenda-qr-code svg {
  width: 100%;
  height: 100%;
}
/* agenda/descarga/07 */
.agenda-qr-texto {
  font-size: 13px;
  color: var(--text-secondary);
  line-height: 1.4;
}

/* ---------- layout general: días a la izquierda, cards a la derecha ---------- */
/* agenda/layout/01 */
.agenda-layout {
  width: 100%;
  display: flex;
  gap: 48px;
  align-items: flex-start;
}
/* agenda/layout/02 */
.agenda-days {
  display: flex;
  flex-direction: column;
  min-width: 210px;
  flex-shrink: 0;
}

/* ===== MES DE LA SEMANA (automático) ===== */
/* agenda/mes/01 */
.agenda-mes {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.12em;
  color: var(--text-muted);
  padding-bottom: 12px;
  margin-bottom: 14px;
  border-bottom: 1px solid var(--border);
}
/* agenda/dia-btn/01 */
.agenda-day-btn-left {
  display: flex;
  align-items: center;
  gap: 12px;
}
/* agenda/dia-btn/02 */
.agenda-day-btn-fecha {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: normal;
  text-transform: none;
  color: var(--text-secondary);
  border-left: 3px solid var(--border-strong, rgba(255, 255, 255, 0.18));
  padding-left: 10px;
  line-height: 1;
}
/* agenda/dia-btn/03 */
.agenda-day-btn.is-active .agenda-day-btn-fecha {
  border-left-color: var(--emerald);
  color: var(--emerald);
}
/* agenda/dia-btn/04 */
.agenda-day-btn {
  background: none;
  border: none;
  border-bottom: 1px solid var(--border);
  text-align: left;
  padding: 14px 0;
  font-size: 14px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-muted);
  cursor: pointer;
  transition: color 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
}
/* agenda/dia-btn/05 */
.agenda-day-btn-count {
  font-size: 11px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--text-muted);
  white-space: nowrap;
}
/* agenda/dia-btn/06 */
.agenda-day-btn.is-active .agenda-day-btn-count {
  color: var(--emerald);
}
/* agenda/dia-btn/07 */
.agenda-day-btn:first-child {
  border-top: 1px solid var(--border);
}
/* agenda/dia-btn/08 */
.agenda-day-btn:hover {
  color: var(--text-secondary);
}
/* agenda/dia-btn/09 */
.agenda-day-btn.is-active {
  color: var(--emerald);
  font-weight: 700;
}
/* agenda/layout/03 */
.agenda-cards {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
/* Botón/frase para descargar la AgendaPública, debajo de las cards.
   Oculto en PC; se muestra solo en mobile (ver media query al final). */
/* agenda/layout/04 */
.agenda-mobile-cta {
  display: none;
  justify-content: center;
  margin-top: 8px;
}

/* ---------- card ---------- */
/* agenda/card/01 */
.agenda-card {
  position: relative;
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
  background: var(--surface, #14161a);
  border: 1px solid var(--border);
  border-left: 4px solid var(--emerald);
}
/* agenda/card/02 */
.agenda-card.card-evento {
  border-left-color: var(--agenda-red, #e63946);
}
/* agenda/card/03 */
.agenda-card-media {
  position: relative;
  border-radius: 8px 8px 0 0;
  overflow: hidden;
}
/* agenda/card/04 */
.agenda-card-body {
  border-radius: 0 0 8px 8px;
  overflow: hidden;
}
/* agenda/card/05 */
.agenda-card-image {
  width: 100%;
  aspect-ratio: 460 / 215;
  object-fit: cover;
  display: block;
}

/* ===== BOTONERA (colaboradores · trailer · review · steam · hora) — fila horizontal debajo de las interacciones ===== */
/* agenda/botonera/01 */
.agenda-card-botonera {
  margin-top: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
}
/* agenda/botonera/02 */
.agenda-botonera-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  padding: 0 8px;
  border: none;
  border-radius: 8px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
  cursor: pointer;
  transition: filter 0.2s ease;
}
/* agenda/botonera/03 */
.agenda-botonera-btn:hover {
  filter: brightness(1.2);
}
/* agenda/botonera/04 */
.agenda-botonera-colab,
.agenda-botonera-trailer,
.agenda-botonera-review,
.agenda-botonera-steam {
  background: #2a475e;
}
/* agenda/botonera/05 */
.agenda-botonera-steam.is-disabled {
  cursor: default;
  opacity: 0.5;
}
/* agenda/botonera/06 */
.agenda-botonera-steam.is-disabled:hover {
  filter: none;
}
/* agenda/botonera/07 */
.agenda-botonera-hora {
  background: var(--emerald);
  color: #fff;
  text-transform: uppercase;
  cursor: default;
}
/* agenda/botonera/08 */
.agenda-card.card-evento .agenda-botonera-hora {
  background: var(--agenda-red, #e63946);
  color: #fff;
}
/* agenda/botonera/09 */
.agenda-botonera-hora:hover {
  filter: none;
}
/* agenda/botonera/10 */
.agenda-mask-icon {
  width: 18px;
  height: 18px;
  display: block;
  background-color: #fff;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
/* agenda/botonera/11 */
.agenda-mask-icon-colab {
  -webkit-mask-image: url('../assets/icons/users-three-fill.svg');
  mask-image: url('../assets/icons/users-three-fill.svg');
}
/* agenda/botonera/12 */
.agenda-mask-icon-trailer {
  -webkit-mask-image: url('../assets/icons/player-play-fill.svg');
  mask-image: url('../assets/icons/player-play-fill.svg');
}
/* agenda/botonera/13 */
.agenda-mask-icon-review {
  -webkit-mask-image: url('../assets/icons/refview-fill.svg');
  mask-image: url('../assets/icons/refview-fill.svg');
}
/* agenda/botonera/14 */
.agenda-mask-icon-steam {
  -webkit-mask-image: url('../assets/icons/steam-fill.svg');
  mask-image: url('../assets/icons/steam-fill.svg');
}
/* agenda/botonera/15 */
.agenda-botonera-colab[aria-expanded="true"],
.agenda-botonera-review[aria-expanded="true"] {
  filter: brightness(1.2);
}
/* ===== FIN BOTONERA ===== */

/* ===== CORTINA DE COLABORADORES (sobre la imagen, estilo Recap) ===== */
/* agenda/colab-cortina/01 */
.agenda-card-colab {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(0, 0, 0, 0.72);
  backdrop-filter: blur(6px);
  opacity: 0;
}
/* agenda/colab-cortina/02 */
.agenda-card-colab[hidden] {
  display: none;
}
/* agenda/colab-cortina/03 */
.agenda-card-colab.is-open {
  opacity: 1;
}
/* agenda/colab-cortina/04 */
.agenda-colab-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
/* agenda/colab-cortina/05 */
.agenda-colab-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s ease;
}
/* agenda/colab-cortina/06 */
a.agenda-colab-link:hover {
  border-bottom-color: #fff;
}
/* agenda/colab-cortina/07 */
.agenda-colab-link i {
  color: #9146ff;
  font-size: 16px;
  flex-shrink: 0;
}
/* agenda/colab-cortina/08 */
.agenda-colab-empty {
  margin: 0;
  font-size: 13px;
  color: var(--text-secondary);
}
/* ===== FIN CORTINA DE COLABORADORES ===== */

/* ===== FUEGUITO (interés, de una sola vía) — ahora en el body, junto al resto de interacciones ===== */
/* agenda/fuego/01 */
.agenda-card-fuego {
  margin-top: 12px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 10px;
  border-radius: 8px;
  border: none;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s ease;
}
/* agenda/fuego/02 */
.agenda-card-fuego:hover {
  background: rgba(255, 255, 255, 0.14);
}
/* agenda/fuego/03 */
.agenda-fuego-icon {
  width: 16px;
  height: 16px;
  display: block;
  background-color: #fff;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
/* agenda/fuego/04 */
.agenda-fuego-icon-normal {
  -webkit-mask-image: url('../assets/icons/fire.svg');
  mask-image: url('../assets/icons/fire.svg');
}
/* agenda/fuego/05 */
.agenda-fuego-icon-fill {
  display: none;
  -webkit-mask-image: url('../assets/icons/fire-fill.svg');
  mask-image: url('../assets/icons/fire-fill.svg');
}
/* agenda/fuego/06 */
.agenda-card-fuego.is-marcado {
  background: rgba(0, 0, 0, 0.65);
  cursor: default;
}
/* agenda/fuego/07 */
.agenda-card-fuego.is-marcado .agenda-fuego-icon-normal {
  display: none;
}
/* agenda/fuego/08 */
.agenda-card-fuego.is-marcado .agenda-fuego-icon-fill {
  display: block;
  background-color: #ff5722;
  filter: drop-shadow(0 0 4px rgba(255, 87, 34, 0.85)) drop-shadow(0 0 8px rgba(255, 87, 34, 0.5));
}
/* agenda/fuego/09 */
.agenda-fuego-n {
  font-variant-numeric: tabular-nums;
}
/* ===== FIN FUEGUITO ===== */
/* agenda/card/06 */
.agenda-card-body {
  padding: 16px 20px 20px;
}
/* agenda/card/07 */
.agenda-card-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
}
/* agenda/card/08 */
.agenda-card-subtitle {
  margin-top: 4px;
  min-height: 18px;
  font-size: 14px;
  line-height: 1.3;
  color: var(--text-secondary);
}

/* ===== TAGS DE LA CARD: 1.º sobre la imagen (negro), 2.º y 3.º debajo de la botonera (verde) ===== */
/* agenda/tags/01 */
.agenda-media-tag {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 2;
  max-width: calc(100% - 20px);
  padding: 4px 8px;
  border-radius: 6px;
  background: #000;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: none;
}
/* agenda/tags/02 */
.agenda-card-tags {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  height: 22px;
  margin-top: 10px;
  overflow: hidden;
}
/* agenda/tags/03 */
.agenda-card-tag {
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 6px;
  background: var(--emerald);
  color: #fff;
  font-size: var(--tag-fs, 11px);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
}
/* agenda/tags/04 */
.agenda-card.card-evento .agenda-card-tag {
  background: var(--agenda-red, #e63946);
  color: #fff;
}
/* ===== FIN TAGS DE LA CARD ===== */

/* ---------- modal del trailer ---------- */
/* agenda/modal/01 */
.agenda-modal {
  position: fixed;
  inset: 0;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* agenda/modal/02 */
.agenda-modal[hidden] {
  display: none;
}
/* agenda/modal/03 */
.agenda-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
}
/* agenda/modal/04 */
.agenda-modal-box {
  position: relative;
  width: min(900px, 92vw);
  aspect-ratio: 16 / 9;
  background: #000;
  border-radius: 12px;
  overflow: hidden;
}
/* agenda/modal/05 */
.agenda-modal-video,
.agenda-modal-video iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
/* agenda/modal/06 */
.agenda-modal-close {
  position: absolute;
  top: -44px;
  right: 0;
  background: none;
  border: none;
  color: #fff;
  font-size: 26px;
  cursor: pointer;
  line-height: 1;
}

/* ---------- PC chico (~1366x768): mismo layout de PC, escalado hacia abajo ---------- */
@media (min-width: 769px) and (max-width: 1400px) and (max-height: 850px) {

  /* agenda/base-pc-chico/01 */
  .agenda-section {
    --u: min(1px, 100vh / 1080, 100vw / 1920);
  }

  /* agenda/header-pc-chico/01 */
  .agenda-header {
    margin-bottom: calc(48 * var(--u));
  }

  /* agenda/layout-pc-chico/01 */
  .agenda-layout {
    gap: calc(48 * var(--u));
  }

  /* agenda/layout-pc-chico/02 */
  .agenda-days {
    min-width: calc(210 * var(--u));
  }

  /* agenda/mes-pc-chico/01 */
  .agenda-mes {
    font-size: calc(13 * var(--u));
    padding-bottom: calc(12 * var(--u));
    margin-bottom: calc(14 * var(--u));
  }

  /* agenda/dia-btn-pc-chico/01 */
  .agenda-day-btn {
    padding: calc(14 * var(--u)) 0;
    font-size: calc(14 * var(--u));
  }

  /* agenda/dia-btn-pc-chico/02 */
  .agenda-day-btn-fecha {
    font-size: calc(15 * var(--u));
    padding-left: calc(10 * var(--u));
  }

  /* agenda/dia-btn-pc-chico/03 */
  .agenda-day-btn-count {
    font-size: calc(11 * var(--u));
  }

  /* agenda/layout-pc-chico/03 */
  .agenda-cards {
    gap: calc(24 * var(--u));
  }

  /* agenda/card-pc-chico/01 */
  .agenda-card-body {
    padding: calc(16 * var(--u)) calc(20 * var(--u)) calc(20 * var(--u));
  }

  /* agenda/card-pc-chico/02 */
  .agenda-card-title {
    font-size: calc(20 * var(--u));
  }

  /* agenda/card-pc-chico/03 */
  .agenda-card-subtitle {
    font-size: calc(14 * var(--u));
    margin-top: calc(4 * var(--u));
  }

  /* agenda/tags-pc-chico/01 */
  .agenda-media-tag {
    top: calc(10 * var(--u));
    left: calc(10 * var(--u));
    max-width: calc(100% - 20 * var(--u));
    padding: calc(4 * var(--u)) calc(8 * var(--u));
    font-size: calc(11 * var(--u));
  }

  /* agenda/tags-pc-chico/02 */
  .agenda-card-tags {
    gap: calc(6 * var(--u));
    height: calc(22 * var(--u));
    margin-top: calc(10 * var(--u));
  }

  /* agenda/tags-pc-chico/03 */
  .agenda-card-tag {
    padding: calc(4 * var(--u)) calc(8 * var(--u));
    font-size: var(--tag-fs, calc(11 * var(--u)));
  }

  /* agenda/botonera-pc-chico/01 */
  .agenda-card-botonera {
    margin-top: calc(10 * var(--u));
    gap: calc(6 * var(--u));
  }

  /* agenda/botonera-pc-chico/02 */
  .agenda-botonera-btn {
    min-width: calc(34 * var(--u));
    height: calc(34 * var(--u));
    padding: 0 calc(8 * var(--u));
    font-size: calc(12 * var(--u));
  }

  /* agenda/botonera-pc-chico/03 */
  .agenda-mask-icon {
    width: calc(18 * var(--u));
    height: calc(18 * var(--u));
  }

  /* agenda/fuego-pc-chico/01 */
  .agenda-card-fuego {
    margin-top: calc(12 * var(--u));
    padding: calc(6 * var(--u)) calc(10 * var(--u));
    font-size: calc(13 * var(--u));
  }

  /* agenda/fuego-pc-chico/02 */
  .agenda-fuego-icon {
    width: calc(16 * var(--u));
    height: calc(16 * var(--u));
  }
}

/* ---------- mobile: solo el día vigente, sin selector de días ---------- */
@media (max-width: 768px) {

  /* agenda/base-mobile/01 */
  .agenda-section {
    justify-content: flex-start;
    padding-top: calc(76px + env(safe-area-inset-top, 0px));
    padding-bottom: calc(60px + env(safe-area-inset-bottom, 0px));
  }

  /* agenda/header-mobile/01 */
  .agenda-header {
    margin-bottom: 24px;
  }

  /* agenda/layout-mobile/01 */
  .agenda-layout {
    flex-direction: column;
    gap: 20px;
  }

  /* agenda/layout-mobile/02 */
  .agenda-days {
    display: none;
  }

  /* agenda/layout-mobile/03 */
  .agenda-cards {
    grid-template-columns: 1fr;
  }

  /* agenda/layout-mobile/04 */
  .agenda-mobile-cta {
    display: flex;
    margin-bottom: 20px;
  }
}