/* =====================================================
   SOCCA DREAM — EVENTS CALENDAR STYLES
   Overrides The Events Calendar plugin styling
   ===================================================== */

/* WRAPPER */
.sd-events-wrapper {
  background: var(--sd-off-white);
  padding: 2.5rem;
  max-width: 1300px;
  margin: 0 auto;
}
.sd-events-no-plugin {
  text-align: center;
  padding: 4rem 2rem;
  background: var(--sd-white);
  border-radius: var(--sd-radius);
  border: 1px solid var(--sd-border);
  font-size: 1rem;
  color: #666;
}

/* ---- TRIBE EVENTS WRAPPER ---- */
.tribe-events,
#tribe-events,
.tribe-events-loop,
.tribe-events-calendar {
  font-family: 'Barlow', sans-serif !important;
  background: transparent !important;
}

/* ---- TRIBE HEADER / NAVIGATION ---- */
.tribe-events-header,
.tribe-events__header,
.tribe-events-header__top {
  background: var(--sd-white) !important;
  border-radius: var(--sd-radius) !important;
  border: 1px solid var(--sd-border) !important;
  padding: 1.25rem 1.5rem !important;
  margin-bottom: 1.5rem !important;
}
.tribe-events-header__top-bar-title,
.tribe-events-header__title,
.tribe-events .tribe-events-header h1,
.tribe-events .tribe-events-header h2 {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 2rem !important;
  color: var(--sd-navy-dark) !important;
  letter-spacing: 3px !important;
  margin: 0 !important;
}

/* Nav buttons (prev/next) */
.tribe-events-c-nav__prev,
.tribe-events-c-nav__next,
.tribe-common-c-btn-border,
.tribe-events-header .tribe-common-c-btn {
  font-family: 'Barlow', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.8rem !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  border: 1.5px solid var(--sd-border) !important;
  border-radius: 6px !important;
  color: var(--sd-navy) !important;
  background: var(--sd-white) !important;
  padding: 0.5rem 1rem !important;
  transition: all 0.2s !important;
  text-decoration: none !important;
}
.tribe-events-c-nav__prev:hover,
.tribe-events-c-nav__next:hover,
.tribe-common-c-btn-border:hover {
  background: var(--sd-navy) !important;
  color: var(--sd-white) !important;
  border-color: var(--sd-navy) !important;
}
.tribe-events-c-nav__prev .tribe-common-svgicon,
.tribe-events-c-nav__next .tribe-common-svgicon {
  fill: currentColor !important;
}

/* View selector tabs */
.tribe-events-c-view-selector__content,
.tribe-events-view-nav {
  display: flex;
  gap: 0.5rem;
}
.tribe-events-c-view-selector__button,
.tribe-events-view-nav li a {
  font-family: 'Barlow', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.75rem !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 0.4rem 0.9rem !important;
  border-radius: 5px !important;
  color: var(--sd-muted) !important;
  text-decoration: none !important;
  border: 1.5px solid var(--sd-border) !important;
  transition: all 0.2s !important;
  background: transparent !important;
}
.tribe-events-c-view-selector__button--active,
.tribe-events-c-view-selector__button:hover,
.tribe-events-view-nav li.tribe-events-current a {
  background: var(--sd-navy) !important;
  color: var(--sd-white) !important;
  border-color: var(--sd-navy) !important;
}

/* ---- EVENT CARDS (List & Grid View) ---- */
.tribe-events-calendar-list__event-row,
.tribe-event,
.tribe-common-g-card {
  background: var(--sd-white) !important;
  border-radius: var(--sd-radius) !important;
  border: 1px solid var(--sd-border) !important;
  overflow: hidden !important;
  margin-bottom: 1.25rem !important;
  transition: transform 0.2s, box-shadow 0.2s !important;
}
.tribe-events-calendar-list__event-row:hover,
.tribe-event:hover,
.tribe-common-g-card:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 10px 30px rgba(27,42,107,0.1) !important;
}

/* Event card date accent */
.tribe-events-calendar-list__event-date-tag,
.tribe-event-date-start {
  background: var(--sd-navy) !important;
  color: var(--sd-white) !important;
  border-radius: 8px 8px 0 0 !important;
  padding: 0.75rem 1rem !important;
  text-align: center !important;
  min-width: 70px !important;
}
.tribe-events-calendar-list__event-date-tag-month,
.tribe-event-date-tag-month {
  font-family: 'Barlow', sans-serif !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--sd-gold) !important;
  display: block !important;
}
.tribe-events-calendar-list__event-date-tag-daynum,
.tribe-event-date-tag-daynum {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 2rem !important;
  color: var(--sd-white) !important;
  line-height: 1 !important;
  display: block !important;
  letter-spacing: 1px !important;
}

/* Event title */
.tribe-events-calendar-list__event-title,
.tribe-event__title,
.tribe-common-g-card__title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: var(--sd-navy-dark) !important;
  line-height: 1.2 !important;
  margin-bottom: 0.5rem !important;
}
.tribe-events-calendar-list__event-title a,
.tribe-event__title a,
.tribe-common-g-card__title a {
  color: var(--sd-navy-dark) !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}
.tribe-events-calendar-list__event-title a:hover,
.tribe-event__title a:hover {
  color: var(--sd-gold) !important;
}

/* Event meta (time, location) */
.tribe-events-calendar-list__event-datetime,
.tribe-event__datetime,
.tribe-events-schedule,
.tribe-event-schedule-details {
  font-family: 'Barlow', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  color: var(--sd-muted) !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 0.5rem !important;
}
.tribe-events-calendar-list__event-venue,
.tribe-venue,
.tribe-events-address {
  font-family: 'Barlow', sans-serif !important;
  font-size: 0.82rem !important;
  color: var(--sd-muted) !important;
}

/* Event description */
.tribe-events-calendar-list__event-description,
.tribe-event__description,
.tribe-events-list__event-description {
  font-size: 0.88rem !important;
  color: #666 !important;
  line-height: 1.65 !important;
  margin: 0.75rem 0 !important;
}

/* Event CTA / read more */
.tribe-events-calendar-list__event-featured-image-wrapper,
.tribe-event-url,
a.tribe-event-url,
.tribe-events-read-more,
.tribe-event__cta a {
  display: inline-block !important;
  background: var(--sd-navy) !important;
  color: var(--sd-white) !important;
  font-family: 'Barlow', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.78rem !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 0.55rem 1.25rem !important;
  border-radius: 5px !important;
  text-decoration: none !important;
  transition: background 0.2s !important;
  margin-top: 0.5rem !important;
}
.tribe-events-read-more:hover,
.tribe-event-url:hover,
.tribe-event__cta a:hover {
  background: var(--sd-navy-light) !important;
  color: var(--sd-white) !important;
}

/* Featured event image */
.tribe-events-calendar-list__event-featured-image,
.tribe-common-g-card__img {
  height: 200px !important;
  object-fit: cover !important;
  width: 100% !important;
  border-radius: 0 !important;
}
.tribe-events-calendar-list__event-featured-image-wrapper,
.tribe-common-g-card__img-wrap {
  overflow: hidden !important;
  position: relative !important;
}
.tribe-events-calendar-list__event-featured-image-wrapper::after,
.tribe-common-g-card__img-wrap::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0; left: 0; right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg, var(--sd-green) 33.3%, #fff 33.3% 66.6%, var(--sd-red) 66.6%) !important;
}

/* ---- MONTH / CALENDAR VIEW ---- */
.tribe-events-calendar,
.tribe-events-calendar-month__calendar-body {
  border: 1px solid var(--sd-border) !important;
  border-radius: var(--sd-radius) !important;
  overflow: hidden !important;
  background: var(--sd-white) !important;
}
.tribe-events-calendar th,
.tribe-events-calendar-month__calendar-body-cell-heading {
  background: var(--sd-navy-dark) !important;
  color: rgba(255,255,255,0.7) !important;
  font-family: 'Barlow', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.72rem !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 0.75rem !important;
  text-align: center !important;
}
.tribe-events-calendar td,
.tribe-events-calendar-month__calendar-body-cell {
  border: 1px solid var(--sd-border) !important;
  vertical-align: top !important;
  padding: 0.5rem !important;
  min-height: 80px !important;
  font-family: 'Barlow', sans-serif !important;
}
.tribe-events-calendar-month__calendar-body-cell--current,
.tribe-events-calendar .tribe-events-present td {
  background: rgba(27,42,107,0.04) !important;
}
.tribe-events-calendar-month__calendar-body-cell-date,
.tribe-events-calendar td .tribe-events-month-header {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: var(--sd-navy-dark) !important;
  margin-bottom: 4px !important;
}
.tribe-events-calendar-month__calendar-body-cell--current .tribe-events-calendar-month__calendar-body-cell-date {
  background: var(--sd-navy) !important;
  color: var(--sd-white) !important;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* Calendar event pills */
.tribe-events-calendar-month__calendar-event,
.tribe-events-calendar .tribe-event-featured {
  background: var(--sd-navy) !important;
  color: var(--sd-white) !important;
  border-radius: 3px !important;
  font-family: 'Barlow', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  padding: 2px 6px !important;
  margin-bottom: 2px !important;
  display: block !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.tribe-events-calendar-month__calendar-event:hover {
  background: var(--sd-gold) !important;
  color: var(--sd-navy-dark) !important;
}

/* ---- SINGLE EVENT PAGE ---- */
.tribe-events-single,
.tribe-events.tribe-events-single {
  background: var(--sd-off-white) !important;
  padding: 2.5rem !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}
.tribe-events-single-event-title,
h1.tribe-events-single-event-title {
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: clamp(2rem, 5vw, 4rem) !important;
  color: var(--sd-navy-dark) !important;
  letter-spacing: 3px !important;
  line-height: 1 !important;
  margin-bottom: 1rem !important;
}
.tribe-events-schedule,
.tribe-events-single .tribe-events-schedule {
  font-family: 'Barlow', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  color: var(--sd-muted) !important;
  letter-spacing: 0.5px !important;
  margin-bottom: 1.5rem !important;
}
.tribe-events-single-section {
  background: var(--sd-white) !important;
  border-radius: var(--sd-radius) !important;
  border: 1px solid var(--sd-border) !important;
  padding: 2rem !important;
  margin-bottom: 1.5rem !important;
}
/* Event organizer / venue boxes */
.tribe-venue-location,
.tribe-organizer,
.tribe-events-meta-group {
  background: var(--sd-white) !important;
  border-radius: var(--sd-radius) !important;
  border: 1px solid var(--sd-border) !important;
  padding: 1.5rem !important;
  font-family: 'Barlow', sans-serif !important;
}
.tribe-events-meta-group h3,
.tribe-organizer h2,
.tribe-venue h2 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: var(--sd-muted) !important;
  margin-bottom: 0.75rem !important;
  padding-bottom: 0.5rem !important;
  border-bottom: 1px solid var(--sd-border) !important;
}
/* Google maps link */
.tribe-events-gmap,
a.tribe-events-gmap {
  color: var(--sd-navy) !important;
  font-weight: 600 !important;
  font-size: 0.82rem !important;
  text-decoration: none !important;
}
.tribe-events-gmap:hover { color: var(--sd-gold) !important; }
/* Event register / ticket button */
.tribe-tickets__rsvp,
.tribe-tickets__tickets,
.tribe-block__tickets {
  background: var(--sd-white) !important;
  border-radius: var(--sd-radius) !important;
  border: 1px solid var(--sd-border) !important;
  overflow: hidden !important;
  margin-bottom: 1.5rem !important;
}
.tribe-tickets__rsvp-ar-quantity-input,
.tribe-block__tickets-item__quantity-field {
  border: 1.5px solid var(--sd-border) !important;
  border-radius: 6px !important;
  font-family: 'Barlow', sans-serif !important;
  text-align: center !important;
}
.tribe-rsvp-form__submit,
.tribe-tickets__rsvp-ar-submit-button,
.tribe-block__tickets-item__quantity-add {
  background: var(--sd-navy) !important;
  color: var(--sd-white) !important;
  font-family: 'Barlow', sans-serif !important;
  font-weight: 700 !important;
  border-radius: 6px !important;
  border: none !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
}
.tribe-rsvp-form__submit:hover,
.tribe-tickets__rsvp-ar-submit-button:hover {
  background: var(--sd-navy-light) !important;
}

/* ---- FEATURED IMAGE ---- */
.tribe-events-single-featured-image,
.tribe-events-single .tribe-event-featured-image {
  border-radius: var(--sd-radius) !important;
  overflow: hidden !important;
  margin-bottom: 2rem !important;
  position: relative !important;
}
.tribe-events-single-featured-image::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0; left: 0; right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg, var(--sd-green) 33.3%, #fff 33.3% 66.6%, var(--sd-red) 66.6%) !important;
}
.tribe-events-single-featured-image img {
  width: 100% !important;
  height: 380px !important;
  object-fit: cover !important;
}

/* ---- NAVIGATION BETWEEN EVENTS ---- */
.tribe-events-nav-pagination,
.tribe-events-single-nav {
  display: flex !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  padding: 1.5rem 0 !important;
}
.tribe-events-single-nav a,
.tribe-events-nav-pagination a {
  background: var(--sd-white) !important;
  border: 1.5px solid var(--sd-border) !important;
  border-radius: 6px !important;
  padding: 0.65rem 1.25rem !important;
  font-family: 'Barlow', sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.8rem !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: var(--sd-navy) !important;
  text-decoration: none !important;
  transition: all 0.2s !important;
}
.tribe-events-single-nav a:hover,
.tribe-events-nav-pagination a:hover {
  background: var(--sd-navy) !important;
  color: var(--sd-white) !important;
  border-color: var(--sd-navy) !important;
}

/* ---- TRIBE NOTICES ---- */
.tribe-events-notices,
.tribe-notice {
  background: rgba(27,42,107,0.06) !important;
  border-left: 3px solid var(--sd-navy) !important;
  border-radius: 6px !important;
  padding: 1rem 1.25rem !important;
  font-family: 'Barlow', sans-serif !important;
  color: var(--sd-navy-dark) !important;
  margin-bottom: 1.5rem !important;
}

/* ---- RESPONSIVE ---- */
@media (max-width: 768px) {
  .sd-events-wrapper { padding: 1.25rem; }
  .tribe-events-single { padding: 1.25rem !important; }
  .tribe-events-calendar-list__event-featured-image { height: 160px !important; }
  .tribe-events-single-featured-image img { height: 220px !important; }
}
