/* ===== Events Menu (left column) — FULL DROP-IN ===== */
#ccc-events-menu.events-menu{
  /* MENU-scoped brand color */
  --brand-blue: #003E7E;

  background: #f9f9f9;
  border-radius: 16px;
  box-shadow: 0 2px 14px rgba(0,0,0,.08);
  padding: 16px 28px 16px 28px;        /* equal left/right padding */
  color: var(--brand-blue);
}

/* Mobile toggle (shown only on small screens) */
#toggle-menu{
  display: none;
  align-items: center;
  gap: 8px;
  font: inherit;
  font-weight: 700;
  color: var(--brand-blue);
  background: #eef3f8;
  border: 0;
  border-radius: 12px;
  padding: 10px 12px;
  cursor: pointer;
}
#toggle-menu i{ opacity: .9; }

/* Collapsible wrapper */
#menu-content{ margin-top: 8px; }

/* ---------- Mobile behavior ---------- */
@media (max-width: 900px){
  #toggle-menu{
    display: inline-flex;
    /* text-only look (no pill) per request */
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 6px 0 !important;
    font-size: 1.125rem !important;
    color: var(--brand-blue) !important;
  }

  /* collapse/expand via max-height for smooth anim */
  #ccc-events-menu .menu-content{
    overflow: hidden;
    max-height: 0;
    transition: max-height 220ms ease;
  }
  #ccc-events-menu .menu-content.open{
    max-height: 1200px; /* just needs to exceed typical height */
  }

  /* hide the entire filter while details view is active */
  .ccc-details-active #ccc-events-menu{ display: none !important; }

  /* bottom spacing & symmetric padding on mobile */
  #ccc-events-menu{
    margin-bottom: 20px;
    padding: 12px 20px !important; /* left/right 20px on mobile */
  }
}

/* ---------- Desktop behavior ---------- */
@media (min-width: 901px){
  #toggle-menu{ display: none; }
  #ccc-events-menu .menu-content{ overflow: visible; max-height: none; }
  /* Optional: keep menu visible while scrolling */
  .events-menu{ position: sticky; top: 24px; }
}

/* ===== Headings & labels ===== */
/* “Events” title inside menu: reduce top by ~20px, brand blue */
#ccc-events-menu .menu-content > h3{
  color: var(--brand-blue);
  margin-top: 20px !important;   /* tighter than 40 */
  margin-bottom: 20px;
  padding-top: 0;
}

/* Section labels: Search, Tags, Date */
#ccc-events-menu .menu-label,
#ccc-events-menu label{
  color: var(--brand-blue);
  font-weight: 700;
  margin: 20px 0;                /* baseline vertical spacing */
}

/* ===== Search field (contained) ===== */
#ccc-events-menu .search-box input[type="text"]{
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #dde6ef;
  background: #f8fbff;
  border-radius: 12px;
  padding: 10px 14px;
  font: inherit;
  color: var(--brand-blue);
  display: block;
  margin: 0;
}
#ccc-events-menu .search-box input[type="text"]::placeholder{ color: #7d92a6; }

/* ===== Tags — match card size & NO scrollbar ===== */
#ccc-events-menu .tag-buttons{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  max-height: none !important;   /* remove cap */
  overflow: visible !important;  /* no scrollbar */
  padding-right: 0;
}
#ccc-events-menu .tag-button{
  appearance: none;
  border: 1px solid #dde6ef;
  background: #eef3f8;
  color: var(--brand-blue);
  border-radius: 999px;
  padding: 3px 6px;              /* compact like your card chips */
  font: inherit;
  font-weight: 700;
  font-size: .9rem;              /* compact size */
  cursor: pointer;
  white-space: nowrap;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
#ccc-events-menu .tag-button:hover{ background: #e4edf7; }

/* Selected tag: brand blue pill + white text */
#ccc-events-menu .tag-button.is-selected{
  background: var(--brand-blue) !important;
  border-color: var(--brand-blue) !important;
  color: #fff !important;
}
#ccc-events-menu .tag-button:focus-visible{
  outline: 2px solid #6aa5ff;
  outline-offset: 2px;
}

/* ===== Date select ===== */
#ccc-events-menu .date-filter select{
  width: 100%;
  border: 1px solid #dde6ef;
  background: #fff;
  border-radius: 12px;
  padding: 10px 44px 10px 12px;   /* extra right padding for native arrow */
  font: inherit;
  color: var(--brand-blue);
}

/* ===== Reset button ===== */
#ccc-events-menu .filter-reset-button{
  margin-top: 14px;
  width: 100%;
  border: 0;
  background: #f1f5fa;
  color: var(--brand-blue);
  border-radius: 12px;
  padding: 10px 12px;
  font: inherit;
  font-weight: 700;               /* reduced from 800 */
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  justify-content: center;
}
#ccc-events-menu .filter-reset-button:hover{ background: #e7eef7; }
#ccc-events-menu .filter-reset-button i{ opacity: .9; }

/* ===== Section spacing that *sticks* (overrides if needed) ===== */
#ccc-events-menu .search-box,
#ccc-events-menu .tag-filter,
#ccc-events-menu .date-filter{
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

/* Label-to-control gap */
#ccc-events-menu .menu-label,
#ccc-events-menu label{
  display: block;
  margin: 0 0 10px 0 !important;  /* gap under the label itself */
}
