/* =========================
   PRRT Level 3 Event Styles
   ========================= */

/* Sticky CTA base */
section.prrt-l3 .sticky-cta {
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  bottom: 16px;
  width: calc(100% - 40px);
  max-width: 1000px;
  z-index: 9999;
  pointer-events: none;
}

section.prrt-l3 .sticky-cta .tray {
  pointer-events: auto;
  background: #111827;
  color: #fff;
  gap: 8px !important;
  padding: 10px 12px !important;
  border-radius: 18px !important;
}

section.prrt-l3 .sticky-cta .note {
  color: #fff;
}

section.prrt-l3 .sticky-cta .btn {
  padding: 12px 16px !important;
}

section.prrt-l3 .sticky-cta .btn-ghost {
  background: #fff;
  color: #184F85;
  border-color: transparent;
}

section.prrt-l3 .sticky-cta .btn-primary {
  background: #184F85;
  color: #fff;
}

/* Badgebar repair */
section.prrt-l3 .badgebar {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 10px !important;
}

section.prrt-l3 .badgebar span,
section.prrt-l3 .badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  border: 1px solid #dbeafe !important;
  background: #ecf5ff !important;
  color: #184F85 !important;
  font-size: 12px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  margin: 0 !important;
}

/* Tablet and mobile layout repair */
@media (max-width: 900px) {
  section.prrt-l3 .cols,
  section.prrt-l3 .grid-2 {
    display: block !important;
  }

  section.prrt-l3 .cols > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  section.prrt-l3 aside {
    float: none !important;
    margin-top: 20px !important;
  }

  section.prrt-l3 {
    overflow-x: hidden !important;
  }

  section.prrt-l3 * {
    min-width: 0;
  }
}

/* Mobile sticky CTA */
@media (max-width: 680px) {
  section.prrt-l3 .sticky-cta {
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    transform: none !important;
    bottom: calc(10px + env(safe-area-inset-bottom)) !important;
  }

  section.prrt-l3 .sticky-cta .tray {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 4px !important;
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom)) !important;
    border-radius: 16px !important;
    max-width: 82% !important;
    margin: 0 auto !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18) !important;
  }

  section.prrt-l3 .sticky-cta .note {
    order: -1 !important;
    display: block !important;
    font-size: 13.5px !important;
    line-height: 1.2 !important;
    margin: 0 !important;
  }

  section.prrt-l3 .sticky-cta .btn {
    width: auto !important;
    max-width: 240px !important;
    padding: 10px 14px !important;
    font-size: 15px !important;
    line-height: 1.1 !important;
  }

  html {
    scroll-padding-bottom: 96px;
  }
}

/* Extra-small phones */
@media (max-width: 360px) {
  section.prrt-l3 .sticky-cta .note {
    display: none !important;
  }

  section.prrt-l3 .sticky-cta .tray {
    padding: 8px 10px calc(8px + env(safe-area-inset-bottom)) !important;
  }
}

/* Hide list view description paragraph */
.tribe-events-calendar-list__event-details .tribe-events-calendar-list__event-description p {
  display: none;
}

/* =========================
   Single event page above-the-fold cleanup
   ========================= */

/* Remove featured image and any wrapper space on single event pages */
.single-tribe_events .tribe-events-event-image,
.single-tribe_events .tribe-events-event-image img,
.single-tribe_events .tribe-events-single-event-description .tribe-events-event-image,
.single-tribe_events .tribe-events-single .tribe-events-event-image,
.single-tribe_events figure.tribe-events-event-image,
.single-tribe_events .wp-post-image,
.single-tribe_events .post-thumbnail,
.single-tribe_events .entry-thumb,
.single-tribe_events .entry-thumbnail {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
}

/* Collapse common wrappers that may still be leaving space */
.single-tribe_events .tribe-events-single-event-description > figure:first-child,
.single-tribe_events .tribe-events-single-event-description > p:first-child:empty,
.single-tribe_events .tribe-events-single-event-description > div:first-child:empty,
.single-tribe_events .tribe-events-single-event-description > .tribe-events-event-image:first-child,
.single-tribe_events .tribe-events-single-event-description > .wp-caption:first-child,
.single-tribe_events .tribe-events-single-event-description > .alignnone:first-child,
.single-tribe_events .tribe-events-single-event-description > .aligncenter:first-child {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
}

/* Tighten containers near the top */
.single-tribe_events .tribe-events-single,
.single-tribe_events .tribe-events-single-section,
.single-tribe_events .tribe-events-single-event-description,
.single-tribe_events .tribe-events-single-event-description.tribe-events-content,
.single-tribe_events .tribe-events-content,
.single-tribe_events article.tribe_events,
.single-tribe_events .type-tribe_events {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Remove top margin from first visible content block */
.single-tribe_events .tribe-events-single-event-description > *:first-child,
.single-tribe_events .tribe-events-content > *:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Tighten title area */
.single-tribe_events h1.tribe-events-single-event-title,
.single-tribe_events .tribe-events-single-event-title {
  margin-top: 0 !important;
  margin-bottom: 12px !important;
}

/* Remove extra spacing from common theme wrappers */
.single-tribe_events .nv-content-wrap,
.single-tribe_events .site-content,
.single-tribe_events .content-area,
.single-tribe_events .entry-content,
.single-tribe_events .single-post-container {
  padding-top: 0 !important;
}

section.prrt-l3 .sticky-cta {
  display: none !important;
}