/* Shared event banner + branded default (footer-style mark) */
.ev-banner,
.evd-banner,
.ev-featured-media,
.ev-row-media {
  position: relative;
  overflow: hidden;
  background: #14213D;
}
.ev-banner > img,
.evd-banner > img,
.ev-featured-media > img,
.ev-row-media > img:not(.ev-row-logo) {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ev-banner--branded,
.evd-banner.ev-banner--branded,
.ev-featured-media.ev-banner--branded,
.ev-row-media.ev-banner--branded {
  background:
    radial-gradient(ellipse at 18% 25%, rgba(234, 161, 23, .18) 0%, transparent 42%),
    radial-gradient(ellipse at 85% 70%, rgba(255, 255, 255, .06) 0%, transparent 38%),
    linear-gradient(135deg, #0f1a2e 0%, #14213D 55%, #1a2d4d 100%);
  display: block;
  position: relative;
  min-height: inherit;
  overflow: hidden;
}
/* Geometric watermark pattern */
.ev-banner-pattern {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .55;
  background-image:
    repeating-linear-gradient(
      -32deg,
      transparent 0,
      transparent 14px,
      rgba(255, 255, 255, .035) 14px,
      rgba(255, 255, 255, .035) 15px
    ),
    repeating-linear-gradient(
      32deg,
      transparent 0,
      transparent 22px,
      rgba(234, 161, 23, .05) 22px,
      rgba(234, 161, 23, .05) 23px
    ),
    radial-gradient(circle at 1px 1px, rgba(255, 255, 255, .07) 1px, transparent 0);
  background-size: auto, auto, 18px 18px;
}
.ev-banner-watermark {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.ev-banner-watermark-logo {
  display: block;
  width: auto;
  height: auto;
  max-height: 42%;
  max-width: 28%;
  object-fit: contain;
  opacity: .22;
  filter: brightness(1.15) drop-shadow(0 4px 18px rgba(0, 0, 0, .2));
}
.evd-banner .ev-banner-watermark-logo {
  max-height: 48%;
  max-width: 26%;
  opacity: .2;
}
.ev-row-media .ev-banner-watermark-logo {
  max-height: 55%;
  max-width: 42%;
  opacity: .18;
}
/* Legacy brand block (list pages still using old markup until updated) */
.ev-banner-brand {
  display: none;
}

/* RSVP responses — refined cards */
.evd-attendees .evd-att-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.evd-att-panel {
  border: 1px solid var(--border-light, #e8e4dc);
  border-radius: .75rem;
  background: #fff;
  overflow: hidden;
  min-height: 8rem;
}
.evd-att-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  padding: .7rem .9rem;
  border-bottom: 1px solid var(--border-light, #e8e4dc);
}
.evd-att-panel-head h3 {
  margin: 0;
  font-size: .78rem;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: .4rem;
}
.evd-att-panel-head .count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.45rem;
  height: 1.45rem;
  padding: 0 .4rem;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 750;
  background: #f3f2ef;
  color: var(--color-button, #14213D);
}
.evd-att-panel.is-going .evd-att-panel-head {
  background: color-mix(in srgb, #16a34a 10%, #fff);
}
.evd-att-panel.is-going .evd-att-panel-head h3 { color: #166534; }
.evd-att-panel.is-interested .evd-att-panel-head {
  background: color-mix(in srgb, var(--color-primary, #eaa117) 14%, #fff);
}
.evd-att-panel.is-interested .evd-att-panel-head h3 { color: #8a5a00; }
.evd-att-panel.is-declined .evd-att-panel-head {
  background: #f8f9fa;
}
.evd-att-panel.is-declined .evd-att-panel-head h3 { color: #6b7280; }
.evd-att-body { padding: .35rem .55rem .55rem; }
.evd-att-empty {
  margin: 0;
  padding: 1.1rem .6rem;
  text-align: center;
  font-size: .8rem;
  color: var(--text-muted);
}
.evd-att-person {
  display: flex;
  gap: .65rem;
  align-items: flex-start;
  padding: .55rem .4rem;
  border-radius: .5rem;
}
.evd-att-person + .evd-att-person {
  border-top: 1px solid var(--border-light, #e8e4dc);
}
.evd-att-avatar {
  flex: 0 0 auto;
  width: 2.15rem;
  height: 2.15rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-size: .72rem;
  font-weight: 750;
  letter-spacing: .02em;
  color: #fff;
  background: var(--color-button, #14213D);
}
.evd-att-panel.is-interested .evd-att-avatar {
  background: var(--color-primary, #eaa117);
  color: #1a1200;
}
.evd-att-panel.is-declined .evd-att-avatar {
  background: #9ca3af;
}
.evd-att-info { min-width: 0; flex: 1; }
.evd-att-info .name {
  font-weight: 650;
  font-size: .88rem;
  color: var(--color-button, #14213D);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .3rem;
  line-height: 1.3;
}
.evd-att-badge {
  display: inline-flex;
  align-items: center;
  font-size: .6rem;
  font-weight: 750;
  padding: .1rem .35rem;
  border-radius: 999px;
  background: #eef6f3;
  color: #1f6b52;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.evd-att-meta {
  margin-top: .2rem;
  display: flex;
  flex-direction: column;
  gap: .12rem;
  font-size: .75rem;
  color: var(--text-muted);
}
.evd-att-meta a { color: inherit; text-decoration: none; }
.evd-att-meta a:hover { color: var(--color-button, #14213D); text-decoration: underline; }
.evd-att-meta i { opacity: .7; margin-right: .25rem; }
.evd-att-note {
  margin-top: .3rem;
  font-size: .74rem;
  color: var(--text-secondary);
  font-style: italic;
  line-height: 1.4;
}
@media (max-width: 991.98px) {
  .evd-attendees .evd-att-grid { grid-template-columns: 1fr; }
}
