/* Basilica: restyle The Events Calendar V2 list view to match the legacy (v4) look. */
#tribe-events-pg-template .tribe-common.tribe-events,
#tribe-events-pg-template .tribe-common.tribe-events .tribe-common-b2,
#tribe-events-pg-template .tribe-common.tribe-events .tribe-common-b3 { font-family: "Clear Sans", sans-serif; font-weight: 300; color: #212529; }

/* Month separator */
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__month-separator { margin: 0; padding: 30px 0; border-bottom: 1px solid #dcdcdc; }
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__month-separator:after { display: none; }
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__month-separator-text {
  font-family: "Adobe Garamond Pro", Garamond, serif; font-size: 28px; font-weight: 500;
  line-height: 1.2; text-transform: uppercase; color: #212529; background: none; padding: 0;
}

/* Event row: hide the V2 date column, image left, content right */
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-row { margin: 0; padding: 36px 0; border-bottom: 1px solid #ddd; }
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-date-tag { display: none; }
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-wrapper { width: 100%; max-width: 100%; flex: 0 0 100%; }
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: flex-start; gap: 30px; margin: 0; }
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-featured-image-wrapper { flex: 0 0 288px; width: 288px; margin: 0; padding: 0; }
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-details { flex: 1 1 0; min-width: 0; width: auto; max-width: none; padding: 0; }

/* Title */
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-title { margin: 0 0 8px; font-family: "Adobe Garamond Pro", Garamond, serif; font-weight: 400; }
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-title-link,
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-title-link:visited {
  font-family: "Adobe Garamond Pro", Garamond, serif; font-size: 28px; font-weight: 400; line-height: 1.2; color: #1B75BC; border: 0;
}
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-title-link:hover { color: #002147; border: 0; }

/* Date/time and venue */
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-datetime-wrapper,
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-datetime { font-family: "Clear Sans", sans-serif; font-size: 14px; font-weight: 600; color: #212529; margin: 0; order: 2; }
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-header { display: flex; flex-direction: column; }
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-title { order: 1; }
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-venue { order: 3; margin: 15px 0; font-size: 14px; font-weight: 600; color: #1B75BC; font-style: normal; }
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-venue-title { font-weight: 600; }
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-venue-address { display: none; }

/* Excerpt */
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-description,
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-description p { font-family: "Clear Sans", sans-serif; font-size: 14px; font-weight: 400; color: #777c80; margin: 0; }
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-description a { color: #1B75BC; }

/* Links and buttons in the theme's blue */
#tribe-events-pg-template .tribe-events .tribe-events-c-nav__prev, #tribe-events-pg-template .tribe-events .tribe-events-c-nav__next,
#tribe-events-pg-template .tribe-events .tribe-events-c-top-bar__nav-link { color: #1B75BC; }
#tribe-events-pg-template .tribe-events .tribe-events-c-search__button,
#tribe-events-pg-template .tribe-events .tribe-common-c-btn { background-color: #1B75BC; font-family: "Clear Sans", sans-serif; }
#tribe-events-pg-template .tribe-events .tribe-events-c-search__button:hover,
#tribe-events-pg-template .tribe-events .tribe-common-c-btn:hover { background-color: #002147; }

@media (max-width: 767px) {
  #tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event { flex-direction: column; flex-wrap: wrap; }
  #tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-featured-image-wrapper { flex-basis: auto; width: 100%; }
}

/* Before-HTML (Mass / Confession schedules): undo V2 resets so the theme's legacy look holds */
#tribe-events-pg-template .tribe-events-before-html h2.tribe-events-page-title { text-align: center; margin: 30px 0 8px; }
#tribe-events-pg-template .tribe-events-before-html .basilica-group-container { padding-left: 20px; }
#tribe-events-pg-template .tribe-events-before-html .basilica-group-mass { margin: 10px 0; padding: 20px; }
#tribe-events-pg-template .tribe-events-before-html .basilica-group-mass p { margin: 0 0 10px; font-weight: 300; line-height: 1.7; }
#tribe-events-pg-template .tribe-events-before-html .basilica-group-mass strong { font-weight: 400; }
#tribe-events-pg-template .tribe-events-before-html .basilica-group-mass h3,
#tribe-events-pg-template .tribe-events-before-html .basilica-group-mass h4 { margin: 0 0 15px; }
#tribe-events-pg-template .tribe-events-before-html .vc_btn3-container { margin-bottom: 10px; }
#tribe-events-pg-template .tribe-events-before-html .basilica-text-center { text-align: center; }

/* Legacy arrangement: title/date/venue full width, then image | excerpt */
@media (min-width: 768px) {
  #tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event {
    display: grid; grid-template-columns: 288px 1fr; grid-template-areas: "head head" "img desc"; column-gap: 0; row-gap: 0;
  }
  #tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-details { display: contents; }
  #tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-header { grid-area: head; margin-bottom: 0; }
  #tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-featured-image-wrapper { grid-area: img; }
  #tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-description { grid-area: desc; padding-left: 0; margin-left: 0; }
  #tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-description p { padding-left: 0; }
}

/* Fine-tuning against production */
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-row,
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-wrapper,
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event > * { padding-left: 0; padding-right: 0; margin-left: 0; margin-right: 0; }
@media (min-width: 768px) {
  #tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-description { padding-left: 20px !important; }
}
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-title,
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-title a { font-size: 28px !important; line-height: 1.2 !important; }
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-wrapper { padding-left: 0 !important; padding-right: 0 !important; }
@media (min-width: 768px) {
  #tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event { column-gap: 20px !important; }
}

/* "Find out more »" link */
#tribe-events-pg-template .tribe-events .tribe-events-read-more { color: #1B75BC; font-size: 14px; font-weight: 400; border: 0; }
#tribe-events-pg-template .tribe-events .tribe-events-read-more:hover { color: #002147; }

/* Keep the excerpt + "Find out more" visible on phones (V2 hides it at small breakpoints) */
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-description.tribe-common-a11y-hidden {
  position: static !important; width: auto !important; height: auto !important; overflow: visible !important;
  clip: auto !important; clip-path: none !important; margin: 15px 0 0 !important; padding: 0 !important; white-space: normal !important;
}
@media (min-width: 768px) {
  #tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-description.tribe-common-a11y-hidden { margin: 0 !important; padding-left: 0 !important; }
}
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-description.tribe-common-a11y-hidden { display: block !important; visibility: visible !important; }

/* Tighten header spacing to the legacy rhythm (title / date / venue / content) */
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-title { margin: 0 !important; }
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-datetime-wrapper,
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-datetime { line-height: 21px !important; margin: 0 !important; }
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-venue { line-height: 17px !important; margin: 9px 0 5px !important; }
#tribe-events-pg-template .tribe-events .tribe-events-calendar-list__event-header { margin-bottom: 0 !important; }

/* V2 wraps the view in a <section>; cancel the theme's global `section { padding: 100px 0 !important }` */
#tribe-events-pg-template section.tribe-events-l-container { padding-top: 0 !important; padding-bottom: 0 !important; min-height: 0; }
