.bacdu-events-center,
.bacdu-events-center * { box-sizing: border-box; }

.bacdu-events-center {
  --bec-green: var(--bacdu-green-900, #062d1f);
  --bec-green-2: var(--bacdu-green-800, #0b3d2b);
  --bec-maroon: var(--bacdu-maroon-900, #4b0f1a);
  --bec-maroon-2: var(--bacdu-maroon-800, #6b1726);
  --bec-gold: var(--bacdu-gold, #d6a84f);
  --bec-cream: var(--bacdu-cream, #fff8ec);
  --bec-ink: var(--bacdu-ink, #1c1c1c);
  --bec-muted: var(--bacdu-muted, #6f6f6f);
  --bec-white: var(--bacdu-white, #ffffff);
  width: min(var(--bacdu-section-width, 95%), 1500px);
  margin: 0 auto;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.bacdu-events-hero {
  position: relative;
  padding: clamp(34px, 5vw, 72px);
  border-radius: clamp(22px, 3vw, 42px);
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 10%, rgba(214,168,79,.22), transparent 28%),
    linear-gradient(115deg, var(--bec-green), #17221d 48%, var(--bec-maroon));
  color: var(--bec-white) !important;
  box-shadow: 0 22px 60px rgba(6, 45, 31, .16);
  margin-bottom: clamp(20px, 3vw, 36px);
}

.bacdu-events-hero :is(h1,h2,h3,p,span,a,strong) { color: var(--bec-white) !important; }

.bacdu-events-eyebrow {
  margin: 0 0 16px;
  color: var(--bec-gold) !important;
  font-size: clamp(12px, .9vw, 15px);
  font-weight: 800;
  letter-spacing: .24em;
  text-transform: uppercase;
}

.bacdu-events-title {
  margin: 0;
  max-width: 960px;
  font-family: "Playfair Display", Georgia, serif;
  font-size: var(--bacdu-h1, clamp(38px, 5vw, 58px)) !important;
  line-height: 1.04;
  font-weight: 700;
  color: var(--bec-white) !important;
}

.bacdu-events-lead {
  max-width: 820px;
  margin: clamp(18px, 2.5vw, 28px) 0 0;
  font-size: var(--bacdu-lead, clamp(17px, 1.4vw, 21px));
  line-height: 1.7;
  color: rgba(255,255,255,.88) !important;
}

.bacdu-events-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin: 0 0 clamp(22px, 3vw, 34px);
  padding: 8px;
  border: 1px solid rgba(75,15,26,.12);
  border-radius: 999px;
  background: rgba(255, 248, 236, .75);
  width: fit-content;
  max-width: 100%;
}

.bacdu-events-tab {
  appearance: none;
  border: 0;
  border-radius: 999px;
  padding: 12px 20px;
  min-height: 46px;
  cursor: pointer;
  background: transparent;
  color: var(--bec-maroon) !important;
  font-weight: 800;
  letter-spacing: .02em;
  font-size: clamp(13px, .95vw, 15px);
  transition: transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}

.bacdu-events-tab:hover { transform: translateY(-1px); }
.bacdu-events-tab.is-active {
  background: linear-gradient(135deg, var(--bec-green), var(--bec-maroon));
  color: var(--bec-white) !important;
  box-shadow: 0 14px 32px rgba(75,15,26,.20);
}

.bacdu-events-panel { display: none; }
.bacdu-events-panel.is-active { display: block; }

.bacdu-events-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2vw, 28px);
}

.bacdu-event-card {
  background: var(--bec-white);
  border: 1px solid rgba(6,45,31,.12);
  border-radius: var(--bacdu-card-radius, 22px);
  overflow: hidden;
  box-shadow: 0 18px 45px rgba(6,45,31,.08);
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.bacdu-event-media {
  position: relative;
  min-height: 210px;
  background: linear-gradient(135deg, var(--bec-green), var(--bec-maroon));
  overflow: hidden;
}

.bacdu-event-media img {
  display: block;
  width: 100%;
  height: 240px;
  object-fit: cover;
}

.bacdu-event-media.has-no-image {
  display: flex;
  align-items: center;
  justify-content: center;
}

.bacdu-event-media-mark {
  display: inline-flex;
  width: 96px;
  height: 96px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.32);
  color: var(--bec-gold);
  font-weight: 900;
  letter-spacing: .18em;
}

.bacdu-event-badge {
  position: absolute;
  left: 16px;
  top: 16px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  color: var(--bec-maroon);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.bacdu-event-card.is-past .bacdu-event-badge { color: #555; }

.bacdu-event-body {
  padding: clamp(20px, 2.4vw, 28px);
  display: flex;
  flex-direction: column;
  flex: 1;
}

.bacdu-event-date {
  margin: 0 0 10px;
  color: var(--bec-gold);
  font-size: clamp(13px, .9vw, 15px);
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.bacdu-event-title {
  margin: 0 0 12px;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(23px, 2vw, 30px) !important;
  line-height: 1.1;
  color: var(--bec-ink) !important;
}

.bacdu-event-title a {
  color: inherit !important;
  text-decoration: none;
}

.bacdu-event-title a:hover { color: var(--bec-maroon) !important; }

.bacdu-event-meta-list { margin: 0 0 14px; }
.bacdu-event-meta-list p {
  margin: 0 0 6px;
  color: var(--bec-muted);
  font-size: var(--bacdu-body, clamp(15px, 1vw, 17px));
  line-height: 1.55;
}
.bacdu-event-meta-list strong { color: var(--bec-green); }

.bacdu-event-excerpt {
  margin: 0 0 22px;
  color: var(--bec-muted);
  font-size: var(--bacdu-body, clamp(15px, 1vw, 17px));
  line-height: 1.7;
}

.bacdu-event-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: auto;
}

.bacdu-event-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 11px 18px;
  border-radius: var(--bacdu-button-radius, 999px);
  font-weight: 900;
  text-decoration: none !important;
  font-size: clamp(13px, .9vw, 15px);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.bacdu-event-btn:hover { transform: translateY(-1px); }
.bacdu-event-btn.primary {
  background: var(--bec-maroon);
  color: var(--bec-white) !important;
  box-shadow: 0 12px 24px rgba(75,15,26,.18);
}
.bacdu-event-btn.secondary {
  background: var(--bec-gold);
  color: var(--bec-green) !important;
}

.bacdu-events-empty {
  border: 1px dashed rgba(75,15,26,.28);
  background: rgba(255,248,236,.74);
  border-radius: var(--bacdu-card-radius, 22px);
  padding: clamp(24px, 3vw, 40px);
  color: var(--bec-muted);
  font-size: var(--bacdu-body, clamp(15px, 1vw, 17px));
}

.bacdu-events-mini-heading h2 {
  font-family: "Playfair Display", Georgia, serif;
  font-size: var(--bacdu-h2, clamp(30px, 3.5vw, 44px)) !important;
  color: var(--bec-maroon);
}

@media (max-width: 1100px) {
  .bacdu-events-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .bacdu-events-center { width: min(94%, 100%); }
  .bacdu-events-hero { padding: 30px 22px; border-radius: 26px; }
  .bacdu-events-title { font-size: var(--bacdu-h1, clamp(28px, 8vw, 38px)) !important; line-height: 1.08; }
  .bacdu-events-lead { font-size: var(--bacdu-lead, clamp(15px, 4.2vw, 18px)); line-height: 1.6; }
  .bacdu-events-tabs { width: 100%; border-radius: 24px; }
  .bacdu-events-tab { flex: 1 1 100%; width: 100%; }
  .bacdu-events-grid { grid-template-columns: 1fr; }
  .bacdu-event-media img { height: 210px; }
  .bacdu-event-title { font-size: var(--bacdu-h2, clamp(24px, 7vw, 32px)) !important; }
  .bacdu-event-actions { flex-direction: column; }
  .bacdu-event-btn { width: 100%; }
}

@media (max-width: 380px) {
  .bacdu-events-title { font-size: clamp(26px, 8vw, 34px) !important; }
  .bacdu-event-title { font-size: clamp(22px, 7vw, 28px) !important; }
  .bacdu-events-hero { padding: 26px 18px; }
}
