/* Original seasonal campaign artwork; factual labels come from source events. */
.event-cards {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 16px;
}
.event-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #fff;
  color: #191919;
  text-decoration: none;
}
.event-card-art {
  position: relative;
  aspect-ratio: 1.62;
  overflow: hidden;
  background: #f5deb0;
}
.event-atmosphere {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}
.event-campaign-poster {
  position: absolute;
  inset: 20% 8%;
  display: grid;
  place-items: center;
  background: #fff;
  padding: 12px;
  box-shadow: 0 4px 10px #3c260b1c;
  transform: rotate(-2deg);
}
.event-campaign-poster>span {
  font: 700 clamp(28px,3vw,46px)/1.04 'Publico',Georgia,serif;
  letter-spacing: -1px;
  text-align: center;
}
.event-campaign-poster em {
  color: #d82737;
  font-style: normal;
}
.event-card-copy {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 24px 22px 20px;
  text-align: center;
}
.event-card-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.event-card-title h3 {
  font: 700 20px/1.2 'Publico',Georgia,serif;
  letter-spacing: -.3px;
  margin: 0;
}
.event-card-title>span {
  font: 500 14px/1.3 var(--sans);
  color: #4c4a44;
}
.event-merchant-names {
  font: 500 16px/1.45 var(--sans);
  color: #49463f;
  margin: 12px 0 18px!important;
  text-wrap: balance;
  min-height: 47px;
}
.event-card-link {
  align-self: center;
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 44px;
  max-width: 100%;
  padding: 9px 20px;
  border: 1px solid #292721;
  border-radius: 28px;
  font: 700 14px/1.35 var(--sans);
  text-align: center;
}
.event-card:hover .event-card-link {
  color: #fff;
  background: #1d1d1b;
}
.event-card:hover .event-atmosphere {
  transform: scale(1.025);
}
.event-card:focus-visible {
  outline: 3px solid #171717;
  outline-offset: 4px;
}
.events-directory {
  padding-bottom: 40px;
}
.events-directory>.lab-page-title {
  margin-bottom: 26px;
}
.events-directory .event-cards {
  padding: 16px;
  background: #ffda85;
}
.event-page {
  padding-bottom: 40px;
}
.event-page>.lab-listing {
  max-width: 980px;
}
.event-navigation {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 26px;
  margin: 4px 0 24px;
  border-bottom: 1px solid #dacdb8;
}
.event-navigation a {
  display: flex;
  align-items: center;
  min-height: 44px;
  font-size: 16px;
}
.event-navigation a[aria-current=page] {
  border-bottom: 3px solid #ce2935;
  font-weight: 700;
}
.event-page .lab-page-title {
  margin-bottom: 24px;
}
@media(min-width:701px) and (max-width:1000px) {
  .event-cards {
    gap: 12px;
  }
  .event-campaign-poster {
    inset: 16% 7%;
    padding: 8px;
  }
  .event-campaign-poster>span {
    font-size: 26px;
    letter-spacing: -.6px;
  }
  .event-card-copy {
    padding: 20px 12px 16px;
  }
  .event-card-link {
    padding: 9px 12px;
  }
  .event-merchant-names {
    min-height: 65px;
  }
}
@media(max-width:700px) {
  .event-cards {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .event-card-art {
    aspect-ratio: 1.65;
  }
  .event-card-copy {
    padding: 21px 22px 22px;
  }
  .event-card-title {
    flex-direction: row;
    justify-content: space-between;
    gap: 14px;
  }
  .event-card-title h3 {
    font-size: 20px;
  }
  .event-merchant-names {
    min-height: 0;
    margin: 12px 0 18px!important;
    text-align: left;
    text-wrap: initial;
  }
  .event-card-link {
    align-self: stretch;
  }
  .event-campaign-poster>span {
    font-size: clamp(29px,8vw,44px);
  }
  .event-navigation {
    gap: 4px 16px;
  }
  .event-navigation a {
    font-size: 14px;
  }
  .events-directory .event-cards {
    padding: 12px;
  }
}
@media(prefers-reduced-motion:reduce) {
  .event-atmosphere {
    transition: none;
  }
  .event-card:hover .event-atmosphere {
    transform: none;
  }
}
/* R11-01: new seasonal surfaces keep factual and interactive text readable. */
.compact-page .event-page .row-kind,
.compact-page .event-page .expiry,
.compact-page .event-page .type-filters button,
.compact-page .event-page .results-meta,
.compact-page .event-page .results-meta p,
.compact-page .event-page .reset-filters,
.compact-page .event-page .empty-state p,
.compact-page .event-page .claim-status {
  font-size: 14px;
  line-height: 1.45;
}

/* Holiday directory: themed covers and a compact, consistent card rhythm. */
.events-directory {padding-top: 28px;padding-bottom: 48px;}
.events-directory>.lab-page-title {font-size: 36px;line-height: 1.2;margin: 0 0 24px;}
.events-directory .event-cards {padding: 0;background: transparent;gap: 24px;}
.events-directory .event-card {border: 1px solid #e5e7eb;border-radius: 12px;overflow: hidden;transition: border-color .2s ease;}
.events-directory .event-card:hover {border-color: #c9cdd3;}
.events-directory .event-card-art {aspect-ratio: 2; background: #edf3f7;}
.events-directory .event-card-copy {padding: 18px 20px;text-align: left;gap: 16px;}
.events-directory .event-card-title {align-items: flex-start;gap: 7px;flex-direction: column;}
.events-directory .event-card-title h3 {font-family: var(--sans);font-size: 19px;line-height: 1.3;font-weight: 700;letter-spacing: 0;}
.events-directory .event-card-title>span {font-size: 13px;color: #747981;}
.events-directory .event-card-link {align-self: flex-start;min-height: 36px;padding: 0;border: 0;border-radius: 0;font-size: 13px;color: #c91e39;}
.events-directory .event-card:hover .event-card-link {background: transparent;color: #a4152b;}
@media(min-width:701px) and (max-width:1000px) {
  .events-directory .event-cards {grid-template-columns: repeat(2,minmax(0,1fr));gap: 18px;}
}
@media(max-width:700px) {
  .events-directory {padding-top: 20px;padding-bottom: 32px;}
  .events-directory>.lab-page-title {font-size: 26px;margin-bottom: 20px;}
  .events-directory .event-cards {padding: 0;gap: 16px;}
  .events-directory .event-card-copy {padding: 14px 16px;gap: 8px;}
  .events-directory .event-card-title {flex-direction: row;align-items: baseline;gap: 12px;}
  .events-directory .event-card-title h3 {font-size: 17px;}
  .events-directory .event-card-title>span {white-space: nowrap;}
}

/* Detail pages keep the offer list primary and holiday browsing in a sidebar. */
.event-columns {align-items: start;}
.event-page .coupon-main>.lab-page-title {font-size: 30px;line-height: 1.25;margin: 0 0 22px;}
.event-page .coupon-main>.lab-listing {max-width: none;}
.event-sidebar {min-width: 0;padding: 18px;border: 1px solid #e5e7eb;border-radius: 10px;background: #fff;}
.event-sidebar-heading {display: flex;align-items: center;justify-content: space-between;gap: 12px;margin-bottom: 16px;}
.event-sidebar-heading h2 {font: 700 23px/1.2 'Publico',Georgia,serif;margin: 0;}
.event-sidebar-heading>a {display: inline-flex;align-items: center;justify-content: center;width: 32px;height: 32px;flex-shrink: 0;color: #c91e39;}
.event-sidebar .event-navigation {display: grid;gap: 8px;margin: 0;border: 0;}
.event-sidebar .event-navigation>a {display: flex;gap: 10px;min-width: 0;padding: 9px;border: 1px solid #e9ebee;border-radius: 7px;font-size: 13px;line-height: 1.35;}
.event-sidebar .event-navigation img {width: 56px;height: 44px;object-fit: cover;border-radius: 4px;flex-shrink: 0;}
.event-sidebar .event-navigation>a>span:not(.event-nav-arrow) {flex: 1;}
.event-sidebar .event-nav-arrow {color: #959ba2;}
.event-sidebar .event-navigation>a:hover {background: #f7f8fa;border-color: #d9dde3;}
.event-sidebar .event-navigation>a[aria-current=page] {background: #fff3f5;border-color: #edbac3;color: #bb1934;font-weight: 700;}
@media(max-width:900px) {
  .event-page .event-columns {grid-template-columns: minmax(0,1fr);gap: 28px;}
  .event-sidebar .event-navigation {grid-template-columns: repeat(2,minmax(0,1fr));}
}
@media(max-width:700px) {
  .event-page .coupon-main>.lab-page-title {font-size: 24px;margin-bottom: 16px;}
  .event-page .filter-bar {gap: 10px;}
  .event-sidebar {padding: 14px;}
  .event-sidebar .event-navigation>a {padding: 7px;gap: 7px;}
  .event-sidebar .event-navigation img {width: 40px;height: 36px;}
  .event-sidebar .event-nav-arrow {display: none;}
}
.event-page {padding-top: 28px;}
.event-page .lab-columns {grid-template-columns: minmax(0,1fr) 280px;}
.compact-page .event-page .row-kind {display: none;}
.event-page .row-merchant {font-size: 13px;font-weight: 500;color: #727780;}
@media(max-width:900px) {
  .event-page .event-columns {grid-template-columns: minmax(0,1fr);}
}
@media(max-width:700px) {
  .event-page {padding-top: 20px;}
  .event-page .lab-row .row-merchant {display: none;}
}
