/* Parrish Choir Events Calendar (scoped) */
.pcbeu-cal{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  padding: 14px;
  background: #fff;
}

.pcbeu-cal-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.pcbeu-cal-title{
  font-weight: 800;
  letter-spacing: .2px;
  font-size: 18px;
}

.pcbeu-cal-sub{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top: 10px;
  gap: 10px;
}

.pcbeu-cal-note{
  font-size: 13px;
  color: rgba(0,0,0,.65);
}

.pcbeu-cal-btn{
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  border-radius: 10px;
  padding: 8px 10px;
  cursor: pointer;
  line-height: 1;
  font-weight: 700;
}

.pcbeu-cal-btn:hover{
  background: rgba(0,0,0,.03);
}

.pcbeu-cal-btn-ghost{
  border-color: rgba(0,0,0,.10);
  font-weight: 700;
}

.pcbeu-cal-grid{
  margin-top: 12px;
  display:grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8px;
}

.pcbeu-cal-dow{
  font-size: 12px;
  font-weight: 800;
  color: rgba(0,0,0,.60);
  text-transform: uppercase;
  letter-spacing: .6px;
  padding: 6px 4px 2px;
}

.pcbeu-cal-day{
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 12px;
  min-height: 74px;
  padding: 8px;
  position: relative;
  cursor: pointer;
  background: #fff;
}

.pcbeu-cal-day:hover{
  background: rgba(0,0,0,.02);
}

.pcbeu-cal-day.is-muted{
  opacity: .45;
}

.pcbeu-cal-day.is-today{
  outline: 2px solid rgba(0,0,0,.25);
}

.pcbeu-cal-num{
  font-weight: 900;
  font-size: 14px;
}

.pcbeu-cal-dots{
  display:flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.pcbeu-cal-dot{
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: rgba(0,0,0,.18);
}

.pcbeu-cal-dot.is-important{ background: rgba(0,0,0,.65); }
.pcbeu-cal-dot.is-new{ background: rgba(0,0,0,.40); }

.pcbeu-cal-panel{
  margin-top: 14px;
  border-top: 1px solid rgba(0,0,0,.08);
  padding-top: 14px;
}

.pcbeu-cal-panel h3{
  margin: 0 0 10px;
  font-size: 16px;
}

.pcbeu-cal-event{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  padding: 12px;
  margin-bottom: 10px;
  background: #fff;
}

.pcbeu-cal-event-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 10px;
}

.pcbeu-cal-event-title{
  font-weight: 900;
  font-size: 15px;
  margin: 0;
}

.pcbeu-cal-event-title a{
  text-decoration: none;
}

.pcbeu-cal-event-meta{
  margin-top: 6px;
  font-size: 13px;
  color: rgba(0,0,0,.65);
}

.pcbeu-cal-event-desc{
  margin-top: 8px;
  font-size: 14px;
  color: rgba(0,0,0,.75);
}

.pcbeu-cal-legend{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  margin-top: 10px;
}

.pcbeu-cal-legend-item{
  font-size: 13px;
  color: rgba(0,0,0,.65);
  display:flex;
  align-items:center;
  gap: 8px;
}

/* Mobile */
@media (max-width: 640px){
  .pcbeu-cal-grid{ gap: 6px; }
  .pcbeu-cal-day{ min-height: 62px; padding: 7px; }
  .pcbeu-cal-title{ font-size: 16px; }
  .pcbeu-cal-note{ display:none; }
}
