/* ═══════════════════════════════════════════════════════════════════════════

   PW-EVENT-BOARD — Mission 44A · Mission 54 restore (#agenda only)

   Premium · editorial · flat · GCal-ready hooks

═══════════════════════════════════════════════════════════════════════════ */



#agenda {

  padding: clamp(80px, 10vw, 112px) 0;

  background: var(--cream);

}



#agenda .pw-event-board-header {

  text-align: center;

  max-width: 40rem;

  margin: 0 auto clamp(20px, 2.5vw, 28px);

}



#agenda .pw-event-board-header .lead {

  margin: clamp(14px, 2vw, 18px) auto 0;

  max-width: 36rem;

  font-family: var(--f-serif);

  font-size: clamp(.92rem, 1.4vw, 1.02rem);

  line-height: 1.65;

  color: var(--umber);

}



.pw-event-board:not(.pw-event-board--archive) {

  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: clamp(18px, 2.2vw, 26px);

  align-items: stretch;

  justify-content: center;

  justify-items: center;

  max-width: min(1100px, 100%);

  margin-inline: auto;

  list-style: none;

  padding: 0;

}



.pw-event-board:not(.pw-event-board--archive) > .pw-event-card {

  grid-column: span 1;

  min-width: 0;

  width: min(100%, 340px);

}



.pw-event-board:not(.pw-event-board--archive) > .pw-event-card:only-child {

  grid-column: 2;

}



.pw-event-board:not(.pw-event-board--archive) > .pw-event-card--featured:nth-child(3n+1):not(:only-child) {

  grid-column: 2;

}



.pw-event-board {

  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: clamp(28px, 3.5vw, 44px);

  align-items: stretch;

  list-style: none;

  margin: 0;

  padding: 0;

}



/* Archive + fallback boards keep classic 3-col */

@media (max-width: 960px) {

  .pw-event-board:not(.pw-event-board--archive) {

    grid-template-columns: repeat(2, minmax(0, 1fr));

    max-width: min(720px, 100%);

  }



  .pw-event-board:not(.pw-event-board--archive) > .pw-event-card:only-child,

  .pw-event-board:not(.pw-event-board--archive) > .pw-event-card:last-child:nth-child(3n+1):not(:only-child) {

    grid-column: auto;

  }



  .pw-event-board:not(.pw-event-board--archive) > .pw-event-card:last-child:nth-child(2n+1):not(:only-child) {

    grid-column: 1 / -1;

    max-width: min(360px, 100%);

    justify-self: center;

    width: 100%;

  }



  .pw-event-board { grid-template-columns: repeat(2, minmax(0, 1fr)); }

}



@media (max-width: 620px) {

  .pw-event-board:not(.pw-event-board--archive),

  .pw-event-board { grid-template-columns: 1fr; }



  .pw-event-board:not(.pw-event-board--archive) > .pw-event-card:only-child,

  .pw-event-board:not(.pw-event-board--archive) > .pw-event-card:last-child:nth-child(3n+1):not(:only-child),

  .pw-event-board:not(.pw-event-board--archive) > .pw-event-card:last-child:nth-child(2n+1):not(:only-child) {

    grid-column: auto;

    max-width: none;

  }

}



.pw-event-card {

  display: flex;

  flex-direction: column;

  height: 100%;

  min-height: 100%;

  background: var(--cream-soft);

  border: 1px solid var(--brand-line);

  border-radius: 2px;

  overflow: hidden;

  box-shadow: var(--s-sm);

  transition: box-shadow var(--ease), transform var(--ease);

}



.pw-event-card:hover {

  box-shadow: var(--s-md);

  transform: translateY(-2px);

}



.pw-event-card__media {

  display: block;

  position: relative;

  aspect-ratio: 16 / 9;

  overflow: hidden;

  border-bottom: 1px solid var(--brand-line);

  background: var(--espresso);

  flex-shrink: 0;

}



.pw-event-card__photo {

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center 38%;

  display: block;

}



.pw-event-card__date-hero {

  position: absolute;

  top: clamp(16px, 2.5vw, 24px);

  left: clamp(16px, 2.5vw, 24px);

  z-index: 2;

  padding: clamp(10px, 1.4vw, 14px) clamp(14px, 2vw, 20px);

  font-family: var(--f-display);

  font-size: clamp(1.35rem, 2.8vw, 2rem);

  font-weight: 600;

  letter-spacing: .06em;

  line-height: 1;

  color: var(--cream);

  background: rgba(58, 37, 26, .88);

  border: 1px solid rgba(244, 236, 224, .22);

  border-radius: 2px;

  backdrop-filter: blur(8px);

  box-shadow: 0 8px 28px rgba(58, 37, 26, .24);

}



.pw-event-card__badge {

  position: absolute;

  top: 14px;

  left: 14px;

  z-index: 2;

  padding: 6px 12px;

  font-size: .84rem;

  font-weight: 700;

  letter-spacing: .16em;

  text-transform: uppercase;

  color: var(--cream);

  background: rgba(58, 37, 26, .82);

  border: 1px solid rgba(244, 236, 224, .18);

  border-radius: 2px;

  backdrop-filter: blur(6px);

}



.pw-event-card__body {

  display: flex;

  flex-direction: column;

  flex: 1 1 auto;

  padding: clamp(20px, 2.5vw, 28px) clamp(18px, 2.2vw, 24px) clamp(22px, 2.8vw, 28px);

}



.pw-event-card__date {

  display: grid;

  grid-template-columns: auto 1fr;

  grid-template-rows: auto auto;

  column-gap: 14px;

  row-gap: 2px;

  align-items: end;

  margin-bottom: clamp(16px, 2vw, 22px);

  padding-bottom: clamp(14px, 1.8vw, 18px);

  border-bottom: 1px solid var(--brand-line);

}



.pw-event-card__day {

  grid-row: 1 / 3;

  font-family: var(--f-display);

  font-size: clamp(2.8rem, 5vw, 3.6rem);

  font-weight: 500;

  line-height: 0.92;

  letter-spacing: -0.02em;

  color: var(--espresso);

}



.pw-event-card__month {

  font-size: .84rem;

  font-weight: 700;

  text-transform: uppercase;

  letter-spacing: .18em;

  color: var(--sienna);

  align-self: end;

}



.pw-event-card__weekday {

  font-family: var(--f-serif);

  font-style: italic;

  font-size: .88rem;

  color: var(--umber);

  align-self: start;

}



.pw-event-card__title {

  font-family: var(--f-serif);

  font-size: clamp(1.25rem, 2vw, 1.45rem);

  font-weight: 600;

  line-height: 1.2;

  color: var(--espresso);

  margin: 0 0 4px;

}



.pw-event-card__subtitle {

  font-size: .84rem;

  font-weight: 700;

  text-transform: uppercase;

  letter-spacing: .14em;

  color: var(--sienna);

  margin: 0 0 8px;

}



.pw-event-card__municipality {

  font-size: .82rem;

  font-weight: 700;

  text-transform: uppercase;

  letter-spacing: .14em;

  color: var(--umber);

  margin: 0 0 clamp(12px, 1.5vw, 16px);

}

.pw-event-card__geo-link {
  color: inherit;
  text-decoration: none;
}
.pw-event-card__geo-link:hover {
  color: var(--sienna);
  text-decoration: underline;
}



.pw-event-card__line {

  font-family: var(--f-serif);

  font-style: italic;

  font-size: clamp(.88rem, 1.4vw, .96rem);

  line-height: 1.65;

  color: var(--umber);

  margin: 0 0 clamp(14px, 1.8vw, 18px);

  flex: 1 1 auto;

}



.pw-event-card__times {

  display: block;

  margin: 0 0 clamp(14px, 1.8vw, 18px);

  padding: clamp(12px, 1.5vw, 16px) 0;

  border-top: 1px solid var(--sand);

  border-bottom: 1px solid var(--sand);

}



.pw-event-card__time-row {

  display: flex;

  flex-direction: column;

  gap: 4px;

}



.pw-event-card__time-label {

  font-size: .84rem;

  font-weight: 700;

  letter-spacing: .14em;

  text-transform: uppercase;

  color: var(--umber);

  opacity: .75;

}



.pw-event-card__time-value {

  font-family: var(--f-display);

  font-size: clamp(1.05rem, 1.8vw, 1.2rem);

  font-weight: 500;

  font-variant-numeric: tabular-nums;

  color: var(--espresso);

  letter-spacing: .02em;

}



.pw-event-card__schedule {

  font-size: .84rem;

  font-weight: 600;

  letter-spacing: .06em;

  color: var(--espresso);

  margin: 0 0 clamp(18px, 2.2vw, 24px);

}



.pw-event-card__schedule time {

  font-variant-numeric: tabular-nums;

}



.pw-event-card__actions {

  display: flex;

  flex-direction: column;

  gap: 10px;

  margin-top: auto;

}



.pw-event-card__cta {

  display: flex;

  align-items: center;

  justify-content: center;

  width: 100%;

  padding: 13px 18px;

  border-radius: 2px;

  font-family: var(--f-body);

  font-size: .84rem;

  font-weight: 700;

  letter-spacing: .12em;

  text-transform: uppercase;

  text-align: center;

  text-decoration: none;

  border: 1px solid transparent;

  cursor: pointer;

  transition: background var(--ease), color var(--ease), border-color var(--ease);

}



.pw-event-card__cta--primary {

  background: var(--espresso);

  color: var(--cream);

  border-color: var(--espresso);

}



.pw-event-card__cta--primary:hover {

  background: var(--umber);

  border-color: var(--umber);

  color: var(--cream);

}



.pw-event-card__cta--secondary {

  background: transparent;

  color: var(--espresso);

  border-color: var(--brand-line);

}



.pw-event-card__cta--secondary:hover {

  background: var(--sand);

  border-color: var(--sienna);

  color: var(--espresso);

}



.pw-event-card--range .pw-event-card__day {

  font-size: clamp(2rem, 4vw, 2.75rem);

  letter-spacing: -0.03em;

}



/* ── ExpOtaku · flagship editorial weight ── */



.pw-event-card--featured {

  border-color: rgba(166, 124, 82, .42);

  box-shadow: var(--s-md);

}



.pw-event-card--featured .pw-event-card__media {

  aspect-ratio: 16 / 10;

  min-height: clamp(180px, 22vw, 240px);

}



.pw-event-card--featured .pw-event-card__photo {

  object-position: center center;

}



.pw-event-card--featured .pw-event-card__title {

  font-size: clamp(1.45rem, 2.4vw, 1.85rem);

}



.pw-event-card--featured .pw-event-card__subtitle {

  font-size: .82rem;

  letter-spacing: .16em;

  margin-bottom: 10px;

}



.pw-event-card--featured .pw-event-card__day {

  font-size: clamp(2.4rem, 4.5vw, 3.2rem);

}



.pw-event-card--featured:hover {

  transform: translateY(-3px);

  box-shadow: 0 18px 48px rgba(58, 37, 26, .12);

}



/* ── Mission 46 · automatic agenda + archive ── */



.pw-event-board-empty {

  grid-column: 1 / -1;

  text-align: center;

  font-family: var(--f-serif);

  font-style: italic;

  color: var(--umber);

  padding: clamp(32px, 4vw, 48px) 16px;

}



.pw-event-board-empty a {

  color: var(--sienna);

  font-weight: 600;

}



.pw-event-archive-section {

  margin-top: clamp(56px, 7vw, 88px);

  padding-top: clamp(40px, 5vw, 56px);

  border-top: 1px solid var(--brand-line);

}



.pw-event-archive-header {

  text-align: center;

  max-width: 32rem;

  margin: 0 auto clamp(36px, 4.5vw, 52px);

}



.pw-event-archive-title {

  font-family: var(--f-serif);

  font-size: clamp(1.35rem, 2.4vw, 1.65rem);

  font-weight: 600;

  color: var(--espresso);

  margin: 0;

}



.pw-event-board--archive {

  grid-template-columns: repeat(2, minmax(0, 1fr));

  max-width: min(760px, 100%);

  margin-inline: auto;

}



@media (max-width: 620px) {

  .pw-event-board--archive { grid-template-columns: 1fr; }



  .pw-event-card__times { grid-template-columns: 1fr; }

}



.pw-event-card--archive {

  opacity: 0.92;

  box-shadow: none;

}



.pw-event-card--archive:hover {

  transform: none;

  box-shadow: var(--s-sm);

}



.pw-event-card--archive .pw-event-card__media {

  aspect-ratio: 16 / 9;

  max-height: 140px;

}



.pw-event-card--archive .pw-event-card__day {

  font-size: clamp(2rem, 3.5vw, 2.4rem);

}



.pw-event-card--archive .pw-event-card__line {

  font-size: .84rem;

  margin-bottom: 12px;

}



.pw-event-card--live {

  border-color: var(--sienna);

  box-shadow: var(--s-md);

}



.pw-event-card__status {

  font-size: .84rem;

  font-weight: 700;

  letter-spacing: .14em;

  text-transform: uppercase;

  margin: 0 0 10px;

}



.pw-event-card__status--live { color: var(--sienna); }

.pw-event-card__status--past { color: var(--umber); }

.pw-event-card__status--cancelled { color: var(--umber); opacity: 0.75; }



.pw-event-card--cancelled {

  opacity: 0.65;

  filter: grayscale(0.35);

}



/* ── Mission 55 · ExpOtaku spotlight (fila 1 · centrada · marco de cristal) ── */

#agenda .pw-event-board:not(.pw-event-board--archive) > .pw-event-card--featured {

  border: 1px solid rgba(166, 124, 82, 0.38);

  box-shadow:

    0 24px 56px rgba(58, 37, 26, 0.16),

    inset 0 1px 0 rgba(255, 255, 255, 0.55),

    inset 0 0 0 4px rgba(244, 236, 224, 0.42);

}



#agenda .pw-event-board:not(.pw-event-board--archive) > .pw-event-card--featured .pw-event-card__media {

  aspect-ratio: 16 / 9;

}



/* ── Mission 55 · pósters verticales sin cortar (SPAC · APAN · FACCT) ── */

#agenda .pw-event-board:not(.pw-event-board--archive) > .pw-event-card:not(.pw-event-card--featured) .pw-event-card__media {

  aspect-ratio: 9 / 16;

}



#agenda .pw-event-board:not(.pw-event-board--archive) > .pw-event-card:not(.pw-event-card--featured) .pw-event-card__photo {

  object-position: center center;

}



/* ExpOtaku · marco capítulo final (ctafinal-film · 9:16 · escala reducida) */

#agenda .pw-event-board.pw-event-board--expotaku {

  --pw-expotaku-w: min(100%, 470px);

  --pw-expotaku-h: min(76vh, 740px);

  display: flex;

  justify-content: center;

  width: var(--pw-expotaku-w);

  max-width: var(--pw-expotaku-w);

  margin: 0 auto clamp(48px, 6vw, 72px);

  padding: 0;

}



#agenda .pw-event-board.pw-event-board--expotaku > .pw-event-card.pw-event-card--featured {

  position: relative;

  width: 100%;

  max-width: var(--pw-expotaku-w);

  margin: 0;

  padding: 10px;

  border: none;

  border-radius: 0;

  background: linear-gradient(155deg, rgba(222, 193, 129, .32) 0%, rgba(160, 120, 86, .1) 45%, rgba(222, 193, 129, .22) 100%);

  box-shadow:

    0 0 0 1px rgba(222, 193, 129, .28),

    0 0 0 5px rgba(30, 15, 6, .55),

    0 28px 64px rgba(0, 0, 0, .5),

    inset 0 1px 0 rgba(255, 255, 255, .1);

  overflow: visible;

}



#agenda .pw-event-board.pw-event-board--expotaku > .pw-event-card.pw-event-card--featured::before {

  content: '';

  position: absolute;

  inset: 6px;

  border: 1px solid rgba(246, 241, 232, .1);

  border-radius: 0;

  pointer-events: none;

  z-index: 2;

}



#agenda .pw-event-board.pw-event-board--expotaku > .pw-event-card.pw-event-card--featured .pw-event-card__media {

  position: relative;

  z-index: 1;

  aspect-ratio: 9 / 16;

  width: 100%;

  max-width: none;

  max-height: var(--pw-expotaku-h);

  min-height: 0;

  margin: 0;

  border-radius: 0;

  border-bottom: none;

  overflow: hidden;

  background: #18120e;

  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .25);

}



#agenda .pw-event-board.pw-event-board--expotaku > .pw-event-card.pw-event-card--featured .pw-event-card__photo {

  width: 100%;

  height: 100%;

  object-fit: cover;

  object-position: center center;

}



#agenda .pw-event-board.pw-event-board--expotaku > .pw-event-card.pw-event-card--featured .pw-event-card__body {

  position: relative;

  z-index: 1;

  margin-top: 0;

  background: var(--cream-soft, #F9F4EA);

  border: 1px solid var(--brand-line, rgba(160, 120, 86, .18));

  border-top: none;

}

