/* Pearl Organic – Agenda stijlen
   Geladen apart zodat ze EM-plugin stijlen overschrijven */

body .em-pearl-wrap,
body .em-pearl-wrap * {
  box-sizing: border-box !important;
}

body .em-pearl-wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.25rem !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

body .em-pearl-event {
  display: grid !important;
  grid-template-columns: 90px 1fr !important;
  gap: 2rem !important;
  background: var(--paper2) !important;
  border: 1px solid var(--border) !important;
  border-radius: 3px !important;
  padding: 1.75rem !important;
  position: relative !important;
  overflow: hidden !important;
  list-style: none !important;
  text-decoration: none !important;
  color: var(--ink) !important;
}

body .em-pearl-event::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important; top: 0 !important; bottom: 0 !important;
  width: 3px !important;
  background: var(--rust) !important;
}

body .em-pearl-datum {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: center !important;
  background: var(--ink) !important;
  color: var(--paper) !important;
  border-radius: 3px !important;
  padding: 1rem .5rem !important;
  flex-shrink: 0 !important;
  align-self: flex-start !important;
}

body .em-pearl-dag {
  font-family: 'Lora', Georgia, serif !important;
  font-size: 2.2rem !important;
  line-height: 1 !important;
  display: block !important;
  font-weight: 400 !important;
  color: var(--paper) !important;
}

body .em-pearl-mnd {
  font-size: .62rem !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: var(--gold-light) !important;
  display: block !important;
  margin-top: .3rem !important;
}

body .em-pearl-jaar {
  font-size: .58rem !important;
  color: rgba(253,248,240,.3) !important;
  display: block !important;
  margin-top: .2rem !important;
}

body .em-pearl-info {
  display: flex !important;
  flex-direction: column !important;
  gap: .6rem !important;
}

body .em-pearl-naam {
  font-family: 'Lora', Georgia, serif !important;
  font-size: 1.25rem !important;
  color: var(--ink) !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  margin: 0 !important;
}

body .em-pearl-naam a {
  color: var(--ink) !important;
  text-decoration: none !important;
}

body .em-pearl-naam a:hover {
  color: var(--rust) !important;
}

body .em-pearl-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: .4rem 1.25rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body .em-pearl-meta-item {
  font-size: .8rem !important;
  color: var(--ink3) !important;
  display: flex !important;
  align-items: center !important;
  gap: .3rem !important;
  font-weight: 300 !important;
}

body .em-pearl-meta-icon {
  font-size: .72rem !important;
}

body .em-pearl-beschrijving {
  font-size: .9rem !important;
  line-height: 1.8 !important;
  color: var(--ink2) !important;
  font-weight: 300 !important;
  max-width: 560px !important;
  margin: 0 !important;
}

body .em-pearl-link {
  font-size: .76rem !important;
  font-weight: 600 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: var(--rust) !important;
  text-decoration: none !important;
  border-bottom: 1px solid var(--rust) !important;
  padding-bottom: 1px !important;
  display: inline-block !important;
  align-self: flex-start !important;
}

body .em-pearl-link:hover {
  color: var(--rust-light) !important;
  border-color: var(--rust-light) !important;
}

body .em-pearl-leeg {
  text-align: center !important;
  padding: 4rem 2rem !important;
  background: var(--paper2) !important;
  border: 1px solid var(--border) !important;
  border-radius: 3px !important;
}

body .em-pearl-leeg-icon {
  font-size: 2.5rem !important;
  margin-bottom: 1rem !important;
  display: block !important;
}

body .em-pearl-leeg p {
  font-family: 'Lora', Georgia, serif !important;
  font-style: italic !important;
  color: var(--ink3) !important;
  font-size: 1.05rem !important;
  line-height: 1.7 !important;
}

/* Voorbije optredens */
body .em-pearl-wrap--past {
  gap: 0 !important;
}

body .em-pearl-past-row {
  display: grid !important;
  grid-template-columns: 160px 1fr 1fr !important;
  align-items: center !important;
  gap: 1.5rem !important;
  padding: 1.1rem .5rem !important;
  border-bottom: 1px solid var(--border) !important;
  opacity: .65 !important;
}

body .em-pearl-past-row:first-child {
  border-top: 1px solid var(--border) !important;
}

body .em-pearl-past-row:hover {
  opacity: 1 !important;
}

body .em-pearl-past-datum {
  font-family: 'Lora', Georgia, serif !important;
  color: var(--ink2) !important;
  font-size: .95rem !important;
}

body .em-pearl-past-jaar {
  font-size: .72rem !important;
  color: var(--ink3) !important;
  margin-left: .25rem !important;
}

body .em-pearl-past-naam {
  font-family: 'Lora', Georgia, serif !important;
  color: var(--ink) !important;
  font-weight: 600 !important;
}

body .em-pearl-past-loc {
  font-size: .8rem !important;
  color: var(--ink3) !important;
  font-weight: 300 !important;
}

/* Agenda pagina secties */
body .agenda-page-section {
  padding: 4rem 3rem !important;
  position: relative !important;
  z-index: 1 !important;
}

body .agenda-page-section + .agenda-page-section {
  border-top: 1px solid var(--border) !important;
}

body .agenda-page-header {
  margin-bottom: 2.5rem !important;
}

body .agenda-geweest {
  background: var(--paper2) !important;
}

body .agenda-cta {
  background: var(--sage) !important;
  padding: 5rem 3rem !important;
  position: relative !important;
  z-index: 1 !important;
  overflow: hidden !important;
}

body .agenda-cta-inner {
  max-width: 600px !important;
  position: relative !important;
  z-index: 1 !important;
}

/* Responsive */
@media (max-width: 768px) {
  body .em-pearl-event {
    grid-template-columns: 72px 1fr !important;
    gap: 1.25rem !important;
    padding: 1.25rem !important;
  }
  body .em-pearl-dag { font-size: 1.7rem !important; }
  body .em-pearl-past-row { grid-template-columns: 120px 1fr !important; }
  body .em-pearl-past-loc { display: none !important; }
  body .agenda-page-section { padding: 3rem 1.5rem !important; }
  body .agenda-cta { padding: 4rem 1.5rem !important; }
}

@media (max-width: 480px) {
  body .em-pearl-event {
    grid-template-columns: 1fr !important;
  }
  body .em-pearl-datum {
    flex-direction: row !important;
    gap: .75rem !important;
    align-items: center !important;
    padding: .65rem 1rem !important;
    width: fit-content !important;
  }
  body .em-pearl-dag { font-size: 1.5rem !important; }
}

/* ── SINGLE EVENT PAGINA ────────────────────────────────────────────────── */
body .single-event-wrap {
  display: grid !important;
  grid-template-columns: 1fr 300px !important;
  gap: 3rem !important;
  padding: 4rem 3rem !important;
  position: relative !important;
  z-index: 1 !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

body .single-event-main {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.5rem !important;
}

body .single-event-img {
  border-radius: 3px !important;
  overflow: hidden !important;
}
body .single-event-img img {
  width: 100% !important;
  height: 280px !important;
  object-fit: cover !important;
  display: block !important;
}

body .single-event-beschrijving {
  font-size: 1rem !important;
  line-height: 1.9 !important;
  color: var(--ink2) !important;
  font-weight: 300 !important;
}
body .single-event-beschrijving p { margin-bottom: 1rem !important; }

body .single-event-aside {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
  align-self: flex-start !important;
  position: sticky !important;
  top: 80px !important;
}

body .event-detail-card {
  display: flex !important;
  gap: 1rem !important;
  align-items: flex-start !important;
  background: var(--paper2) !important;
  border: 1px solid var(--border) !important;
  border-radius: 3px !important;
  padding: 1.25rem !important;
}

body .event-detail-icon {
  font-size: 1.1rem !important;
  flex-shrink: 0 !important;
  margin-top: .1rem !important;
}

body .event-detail-label {
  font-size: .68rem !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  color: var(--ink3) !important;
  display: block !important;
  margin-bottom: .25rem !important;
  font-family: var(--sans) !important;
}

body .event-detail-val {
  font-family: var(--serif) !important;
  font-size: 1rem !important;
  color: var(--ink) !important;
  display: block !important;
  font-weight: 600 !important;
}

body .event-detail-adres {
  font-size: .82rem !important;
  color: var(--ink3) !important;
  display: block !important;
  margin-top: .2rem !important;
  font-weight: 300 !important;
}

body .event-aside-cta {
  background: var(--paper3) !important;
  border: 1px solid var(--border) !important;
  border-radius: 3px !important;
  padding: 1.5rem !important;
  text-align: center !important;
}

body .event-aside-cta p {
  font-family: var(--serif) !important;
  font-style: italic !important;
  color: var(--ink2) !important;
  font-size: .95rem !important;
  margin-bottom: 1rem !important;
}

/* Responsive single event */
@media (max-width: 900px) {
  body .single-event-wrap {
    grid-template-columns: 1fr !important;
    padding: 3rem 1.5rem !important;
  }
  body .single-event-aside {
    position: static !important;
    order: -1 !important;
  }
}
