/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/


/* === DP Calendar — single-source styles === */

/* Calendar container contrast */
#calendar{
  max-width:1200px;
  margin:0 auto;
  background:#f7f7f7;
  border:1px solid #eaeaea;
  border-radius:16px;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
  padding:8px;
}

/* Stronger hover “wow” */
.fc-event{
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.fc-event:hover{
  transform:scale(1.06) translateY(-3px);
  box-shadow:0 10px 25px rgba(0,0,0,.15), 0 0 10px var(--c,#c41212);
  border-color:var(--c,#c41212)!important;
  cursor:pointer;
}

/* Category colors */
.dp-private  { --c:#0b76ef; }
.dp-group    { --c:#c41212; }
.dp-party    { --c:#9b59b6; }
.dp-workshop { --c:#2ecc71; }
.fc .dp-private,.fc .dp-group,.fc .dp-party,.fc .dp-workshop{
  border-left:4px solid var(--c)!important;
  /* fallback bg if color-mix not supported */
  background: rgba(196,18,18,0.06);
  background: color-mix(in srgb, var(--c) 8%, white);
}

/* Filter pills (legend above calendar) */
#dp-legend{
  display:flex;gap:10px;align-items:center;margin:10px 0 14px;flex-wrap:wrap;
}
#dp-legend .dp-filter{
  border:1px solid #e5e7eb;
  border-radius:999px;
  padding:6px 12px;
  background:#fff;
  cursor:pointer;
  transition:all .2s ease;
}
#dp-legend .dp-filter:hover{ background:#f5f5f5; }
#dp-legend .dp-filter.active{ background:#c41212; color:#fff; border-color:#c41212; }

/* Availability badge inside event title */
.dp-badge{
  display:inline-block;
  margin-left:6px;
  padding:2px 6px;
  border-radius:999px;
  font-size:11px;
  background:#eef5ff;
  border:1px solid #cfe0ff;
  color:#2b5aa7;
}
.dp-badge.full{
  background:#ffecec;
  border-color:#ffc7c7;
  color:#a72b2b;
}

/* Tooltip */
.dp-tip{
  position:absolute; z-index:9999; background:#111; color:#fff;
  padding:6px 10px; border-radius:8px; font-size:12px; pointer-events:none;
  box-shadow:0 6px 20px rgba(0,0,0,.2);
}

/* Modal + buttons (used by RSVP) */
.dp-modal-backdrop{
  position:fixed; inset:0; background:rgba(0,0,0,.4); z-index:10000;
  display:flex; align-items:center; justify-content:center; padding:16px;
}
.dp-modal{
  width:min(520px, 92vw);
  background:#fff; border-radius:14px; box-shadow:0 20px 50px rgba(0,0,0,.25);
  padding:18px;
}
.dp-modal h3{ margin:0 0 8px; font-size:20px; }
.dp-modal input, .dp-modal textarea{
  width:100%; padding:10px 12px; border:1px solid #e5e7eb; border-radius:10px;
  font:inherit; margin:8px 0;
}
.dp-modal .row{ display:flex; gap:10px; }
.dp-modal .actions{ display:flex; gap:10px; justify-content:flex-end; margin-top:10px; }
.dp-btn{
  appearance:none; border:1px solid #e5e7eb; background:#fff; padding:8px 14px;
  border-radius:999px; cursor:pointer;
}
.dp-btn.primary{ background:#c41212; border-color:#c41212; color:#fff; }

/* Toast */
.dp-toast{
  position:fixed; left:50%; transform:translateX(-50%);
  bottom:18px; z-index:11000;
  background:#111; color:#fff; padding:10px 14px; border-radius:10px;
  box-shadow:0 10px 30px rgba(0,0,0,.25);
}

/* ---------- Mobile polish ---------- */
@media (max-width: 900px) {
  #calendar { padding: 6px; border-radius: 12px; }
  .fc { font-size: 14px; }

  /* Toolbar: title centered on its own row */
  .fc-header-toolbar { flex-wrap: wrap; gap: 8px; }
  .fc-header-toolbar .fc-toolbar-chunk:nth-child(2) {
    width: 100%; order: -1; justify-content: center;
  }

  /* Day grid spacing */
  .fc .fc-daygrid-day-frame { padding: 4px; }
  .fc .fc-daygrid-event { margin: 2px 0; border-radius: 8px; }

  /* “More” popover nicer on mobile */
  .fc-popover { max-width: 92vw; }
}
