/************************************************************
  JUST SUPPORT — RSVP POPUP (dark seamless look)
************************************************************/

/* === Dark background + no white border === */
#rsvp-now.tribe-common,
#rsvp-now.tribe-common.event-tickets {
  --js-rsvp-bg: #251632;   /* Same deep purple as your site background */
  --tec-color-background-primary: var(--js-rsvp-bg);
  --tec-color-text-primary: #FFFFFF;
  --tec-color-link-primary: #C0A44B;
  --tec-color-accent-primary: #5A32A3;
  --tec-color-accent-secondary: #3E2275;
}
/* Match RSVP popup border to site background */
#rsvp-now,
#rsvp-now .tribe-tickets__rsvp-wrapper,
#rsvp-now form[name="tribe-tickets-rsvp-form"],
#rsvp-now .tribe-tickets__rsvp-form-wrapper {
  border: 1px solid #251632 !important; /* same as background */
  background: #251632 !important;       /* ensures seamless blend */
  box-shadow: none !important;          /* kill any glow/shadow */
}

/* Strip the border completely */
#rsvp-now form[name="tribe-tickets-rsvp-form"],
#rsvp-now .tribe-tickets__rsvp-form-wrapper {
  background: var(--js-rsvp-bg) !important;
  color: #FFFFFF !important;
  border: none !important;
  box-shadow: none !important;   /* kill any drop shadow */
  border-radius: 0 !important;   /* flat edges, blends with page */
  padding: 20px;
}

/* Title text */
#rsvp-now .tribe-tickets__rsvp-form-title,
#rsvp-now .tribe-tickets__rsvp-form-title h3 {
  color: #FFFFFF !important;
  margin-bottom: 12px;
}

/* Inputs: subtle dark background instead of white */
#rsvp-now .tribe-tickets__form-field-input,
#rsvp-now .tribe-common-form-control-text__input,
#rsvp-now .tribe-tickets__rsvp-form-input-number {
  background: #3B2A54 !important;      /* darker purple fill */
  color: #FFFFFF !important;           /* white text */
  border: 1px solid #5A32A3 !important; /* brand purple border */
  border-radius: 8px !important;
}
#rsvp-now .tribe-tickets__rsvp-form-content ::placeholder {
  color: #D4C9F1 !important;
}

/* Cancel + Finish buttons */
#rsvp-now .tribe-tickets__rsvp-form-button--cancel {
  background: #3E2275 !important;
  color: #FFFFFF !important;
  border: none !important;
}
#rsvp-now .tribe-tickets__rsvp-form-button--cancel:hover {
  background: #5A32A3 !important;
}

#rsvp-now .tribe-tickets__rsvp-form-button:not(.tribe-tickets__rsvp-form-button--cancel) {
  background: #5A32A3 !important;
  color: #FFFFFF !important;
  border: none !important;
}
#rsvp-now .tribe-tickets__rsvp-form-button:not(.tribe-tickets__rsvp-form-button--cancel):hover {
  background: #3E2275 !important;
}


#rsvp-now .tribe-tickets__rsvp-form-button:not(.tribe-tickets__rsvp-form-button--cancel) {
  background: #5A32A3 !important;
  color: #FFFFFF !important;
  border: none !important;
}
#rsvp-now .tribe-tickets__rsvp-form-button:not(.tribe-tickets__rsvp-form-button--cancel):hover {
  background: #3E2275 !important;
}

/**************  RSVP: confirmation + attendee list  **************/

/* Success banner at the top */
#rsvp-now .tribe-tickets__rsvp-message--success {
  background: #2A1847 !important;      /* same dark as the card */
  color: #FFFFFF !important;
  border: 1px solid #251632 !important; /* blend the edge into page bg */
  border-left: 1px solid #5A32A3 !important;  /* subtle brand accent (optional) */
  box-shadow: none !important;
}

/* Make the little success tick on-brand (koi-gold or white) */
#rsvp-now .tribe-tickets__rsvp-message--success svg path {
  stroke: #C0A44B !important;           /* koi gold tick */
}

/* The dashed vertical divider between the two columns */
#rsvp-now .tribe-tickets__rsvp-actions-wrapper {
  border-left: 1px dashed rgba(186,175,220,0.45) !important;  /* soft lavender dash */
}
@media (max-width: 699px){
  #rsvp-now .tribe-tickets__rsvp-actions-wrapper { border-left: 0 !important; }
}

/* “Your RSVPs” heading */
#rsvp-now .tribe-tickets__rsvp-attendees-wrapper h4 {
  color: #FFFFFF !important;
  border-bottom: 1px solid #5A32A3 !important;
  padding-bottom: 6px;
  margin-bottom: 10px;
}

/* The white panel under “Your RSVPs” */
#rsvp-now .tec-tickets__attendees-list-wrapper {
  background: #2A1847 !important;
  border: 1px solid #251632 !important; /* same as page bg = invisible edge */
  color: #FFFFFF !important;
  box-shadow: none !important;
}

/* Individual attendee rows */
#rsvp-now .tec-tickets__attendees-list-item {
  background: #3B2A54 !important;       /* slightly lighter than container */
  border: 1px solid #5A32A3 !important;
  border-radius: 8px !important;
  padding: 10px 12px !important;
  margin: 10px 0 !important;
}
#rsvp-now .tec-tickets__attendees-list-item-attendee-details-name { 
  color: #FFFFFF !important; 
}
#rsvp-now .tec-tickets__attendees-list-item-attendee-details-rsvp { 
  color: #C0A44B !important;            /* koi gold label */
}

/* Guardrails: kill any stray borders/shadows inside RSVP block */
#rsvp-now, #rsvp-now * {
  box-shadow: none !important;
}


/* ---------- Layout containment (desktop + mobile) ---------- */
.tribe-events,
.tribe-events .tribe-events-c-view,
.tribe-events .tribe-events-c-view__container,
.tribe-events .tribe-events-calendar-list,
.tribe-events .tribe-events-c-events-bar,
.tribe-events .tribe-events-header,
.tribe-events .tribe-events-c-top-bar,
.tribe-events .tribe-events-c-events-bar__search,
.tribe-events .tribe-events-c-search__container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

/* Prevent odd horizontal scroll */
body.tribe-theme-theme,
.tribe-events-page-template { overflow-x: hidden; }

/* Header always above content */
header.top_panel { position: relative; z-index: 9999; }

/* Small header offset for narrow screens */
@media (max-width: 767px){
  body { padding-top: 90px; }
}

/* ---------- Events top bar (search + toggles) ---------- */
.tribe-events .tribe-events-c-top-bar {
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;
  margin-top: 0; padding-top: 10px; padding-bottom: 10px;
}
.tribe-events .tribe-events-c-top-bar__search {
  width: 100%; display: flex; flex-wrap: wrap; justify-content: center;
  gap: 10px; margin: 10px 0; padding: 0 20px !important;
}
.tribe-events .tribe-events-c-top-bar__search form {
  flex: 1 1 300px; min-width: 280px; max-width: 600px; display: flex; flex-wrap: nowrap;
}
.tribe-events .tribe-common-form-control-text__input {
  flex: 1 1 auto; min-width: 0; padding: 12px 16px !important;
  border-radius: 6px !important; border: 1px solid #BAAFDC !important;
  background-color: #291D38 !important; color: #BAAFDC !important; font-size: 1rem;
  box-sizing: border-box; box-shadow: none !important; outline: none !important;
}
.tribe-events .tribe-events-c-search__button {
  flex-shrink: 0; margin-left: 10px; padding: 0 16px; height: auto;
  border-radius: 6px; background-color: #8E5CAC !important; color: #fff !important;
  font-weight: 700; border: none;
}
/* Search icon + input spacing */
.tribe-events .tribe-events-c-search__input-group { padding: 12px 2px !important; position: relative; }
.tribe-events .tribe-events-c-search__input-group .tribe-common-c-svgicon {
  position: absolute !important; left: 12px !important; top: 50% !important;
  transform: translateY(-50%) !important; pointer-events: none; fill: #BAAFDC !important;
}
.tribe-events .tribe-events-c-search__input-group input[type="text"] { padding-left: 40px !important; }

/* “Condense event series” toggle */
.tribe-events .tribe-events-c-top-bar__toggle {
  background-color: #291D38; border-radius: 20px; padding: 6px 12px;
  color: #BAAFDC; border: 1px solid #B59E54; transition: all .3s ease;
  margin: 0 10px;
}
.tribe-events .tribe-events-c-top-bar__toggle-label { color: #BAD4FC !important; font-weight: 700 !important; margin-left: 8px; }
.tribe-events .tribe-common-c-toggle__switch { background-color: #B59E54 !important; border: 1px solid #8E5CAC !important; }
.tribe-events .tribe-common-c-toggle__slider { background-color: #8E5CAC !important; }

/* Small spacing tweaks around top bar & list */
.tribe-events .tribe-events-c-events-bar { margin-bottom: 20px !important; }
.tribe-events .tribe-events-calendar-list { margin-top: 10px !important; }

/* Hide “Free” labels everywhere */
.tribe-events-cost, .tribe-events-c-small-cta__price { display: none !important; }

/* ==========================================================
   RSVP — CARD (on the event page)
   ========================================================== */
#rsvp-now .tribe-tickets__rsvp {
  background: #2A1847 !important;        /* deep purple card */
  color: #FFFFFF !important;
  border: 1.5px solid #5A32A3;            /* brand border */
  border-radius: 12px; padding: 20px;
}
#rsvp-now .tribe-tickets__rsvp-title,
#rsvp-now .tribe-tickets__rsvp-attendance,
#rsvp-now .tribe-tickets__rsvp-availability,
#rsvp-now .tribe-tickets__rsvp span {
  color: #FFFFFF !important; background: transparent !important;
}
#rsvp-now .tribe-tickets__rsvp-attendance-number {
  color: #C0A44B !important;              /* koi gold highlight */
  font-weight: 700; font-size: 40px; line-height: 1;
}
#rsvp-now .tribe-tickets__rsvp-actions span { color: #FFFFFF !important; }

/* Card button */
#rsvp-now .tribe-tickets__rsvp-actions-button-going {
  background: #5A32A3 !important; color: #FFFFFF !important;
  border-radius: 6px; padding: 10px 20px; font-weight: 700;
}
#rsvp-now .tribe-tickets__rsvp-actions-button-going:hover { background: #3E2275 !important; }

/********  EVENTS BAR – LAYOUT + STYLES FIX  ********/

/* 1) Let TEC breathe: no clipping, proper container width */
.tribe-events .tribe-events-c-events-bar {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
  overflow: visible !important;           /* was hidden – breaks dropdowns/focus rings */
}

/* 2) Top bar row: keep items aligned and spaced */
.tribe-events .tribe-events-c-top-bar {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin: 0 auto !important;
  padding: 10px 20px !important;
  max-width: 1280px !important;
}

/* 3) Search group spans nicely across the row */
.tribe-events .tribe-events-c-top-bar__search {
  flex: 1 1 520px !important;             /* grows on wide screens */
  min-width: 320px !important;
  margin: 0 !important;
}

/* Input + button sit on one line without wrapping weirdly */
.tribe-events .tribe-events-c-top-bar__search form {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
}

/* Search field look/feel (your palette) */
.tribe-events .tribe-common-form-control-text__input {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  padding: 12px 16px !important;
  border-radius: 8px !important;
  border: 1px solid #baafdc !important;
  background-color: #291d38 !important;
  color: #baafdc !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Magnifier icon + text spacing */
.tribe-events .tribe-events-c-search__input-group .tribe-common-c-svgicon {
  position: absolute !important;
  left: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
  fill: #baafdc !important;
}
.tribe-events .tribe-events-c-search__input-group input[type="text"] {
  padding-left: 40px !important;
}

/* “Find Events” button alignment */
.tribe-events .tribe-events-c-search__button {
  flex: 0 0 auto !important;
  height: auto !important;
  padding: 0 16px !important;
  border-radius: 8px !important;
  background-color: #8e5cac !important;
  color: #fff !important;
  font-weight: 700 !important;
  border: none !important;
}

/* 4) View toggle / “List” button column */
.tribe-events .tribe-events-c-top-bar__nav {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  position: relative !important;
  z-index: 20 !important;                 /* keep above header */
}

/* 5) Condense Events Series toggle – readable + neat */
.tribe-events .tribe-events-c-top-bar__toggle {
  background-color: #291d3b !important;
  border: 1px solid #b59e54 !important;
  border-radius: 20px !important;
  padding: 6px 12px !important;
  color: #dad3fc !important;
}

/* 6) Mobile: stack cleanly */
@media (max-width: 799px){
  .tribe-events .tribe-events-c-top-bar {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .tribe-events .tribe-events-c-top-bar__search {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  .tribe-events .tribe-events-c-top-bar__nav {
    justify-content: flex-end !important;
    width: 100% !important;
  }
}

/* ─── HARD-STOP the Events Bar itself ────────────────────────────── */
.tribe-events .tribe-events-c-events-bar {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

/* keep its pseudo rules (thin line) from sneaking back out */
.tribe-events .tribe-events-c-events-bar::before,
.tribe-events .tribe-events-c-events-bar::after {
    left: 0;
    right: 0;
    margin: 0 auto;
    max-width: 1280px;
}

/* optional – if the rule still looks offset on huge monitors */
.tribe-events .tribe-events-c-events-bar {
    overflow: hidden;
}

/* 🧱 FINAL FIX: Contain the entire event bar properly */
.tribe-events .tribe-events-c-events-bar,
.tribe-events .tribe-events-c-top-bar,
.tribe-events .tribe-events-header,
.tribe-events .tribe-events-c-events-bar__search,
.tribe-events .tribe-events-c-search__container {
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
}

/* 🧹 Remove rogue padding on the body or html */
body.tribe-theme-theme,
.tribe-events-page-template {
    overflow-x: hidden;
}

/* 🌙 Make "Condense Events Series" toggle more visible */
.tribe-events .tribe-events-c-top-bar__toggle {
    background-color: #291d38;
    border-radius: 20px;
    padding: 6px 12px;
    color: #baafdc;
    border: 1px solid #b59e54;
    transition: all 0.3s ease;
}