/* =========================================================
   EVENT BADGE + GLOW BLOBS + CALENDAR WRAP
   ========================================================= */
.cp-event-badge {
  display: inline-block;
  background: var(--cp-orange);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: var(--cp-radius-full);
  margin-bottom: 14px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.cp-glow-wrap {
  position: relative;
}

.cp-glow-blob {
  position: absolute;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  filter: blur(70px);
  opacity: 0.45;
  pointer-events: none;
  z-index: 0;
}

.cp-glow-blob--orange {
  background: rgba(245, 158, 11, 0.35);
}

.cp-glow-blob--blue {
  background: rgba(56, 189, 248, 0.30);
}

.cp-glow-wrap .cp-actions-grid {
  position: relative;
  z-index: 1;
}

.cp-events-calendar-wrap {
  margin-top: 48px;
  border: 1px solid var(--cp-border);
  border-radius: var(--cp-radius-lg);
  padding: 32px 28px;
  background: var(--cp-white);
}

/* Section recent events spacing */
#cp-recent-events {
  padding: 80px 0;
  background: var(--cp-bg);
}

/* =========================================================
   V3 ADDITIONS
   ========================================================= */

/* Step cards â€“ CSS custom property driven colors */
.cp-step-card {
  border: 2px solid var(--step-color, var(--cp-orange));
  background: #fff;
  color: var(--cp-navy);
}

.cp-step-card::before {
  background: var(--step-color, var(--cp-orange)) !important;
}

.cp-step-card h3 {
  color: var(--cp-navy);
}

.cp-step-icon svg {
  stroke: var(--cp-navy);
}

/* Event badge */
.cp-event-badge {
  display: inline-block;
  background: color-mix(in srgb, var(--cp-navy) 10%, transparent);
  color: var(--cp-navy);
  font-size: 0.72rem;
  font-weight: 800;
  padding: 3px 10px;
  border-radius: 999px;
  margin-bottom: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* Glow blobs */
.cp-glow-blob {
  position: absolute;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.28;
  pointer-events: none;
  z-index: 0;
}

.cp-glow-blob--orange {
  background: var(--cp-orange);
}

.cp-glow-blob--blue {
  background: var(--cp-cyan);
}

.cp-glow-blob--purple {
  background: var(--cp-purple);
}

/* Category items with custom color */
.cp-cat-item:hover .cp-cat-icon svg g g *:not(path) {
  stroke: var(--cat-color, var(--cp-white));
}

.cp-cat-item:hover .cp-cat-icon svg path {
  fill: var(--cat-color, var(--cp-white));
}

/* Filter bar x icon */
.cp-filter-bar svg {
  width: 14px;
  height: 14px;
  vertical-align: middle;
}

/* Step card â€” white variant (border driven by --step-color) */
.cp-step-card {
  background: #fff !important;
}

.cp-step-card .cp-step-icon svg {
  stroke: var(--cp-navy) !important;
}

.cp-step-num-inner {
  font-weight: 900;
  font-size: 0.78rem;
  color: var(--cp-navy);
}

/* ACF JSON save path hint (admin only) */