/* Tucson Littles Events Calendar Styling */

/* Page background */
body {
  background-color: #F8F6DF;
}

/* Main events container */
.tribe-events {
  max-width: 1180px;
  margin: 0 auto;
  padding: 24px;
}

/* Search/filter bar */
.tribe-events-header,
.tribe-events-c-events-bar,
.tribe-events-c-events-bar__search-container {
  background: #FFFFFF !important;
  border-radius: 18px;
  border: 1px solid #F1B34C;
  box-shadow: 0 4px 12px rgba(0,0,0,0.04);
}

/* Search input */
.tribe-events-c-search__input {
  border-radius: 999px !important;
  padding: 12px 16px !important;
}

/* Find Events button */
.tribe-events .tribe-events-c-search__button,
.tribe-events .tribe-events-button {
  background-color: #F1B34C !important;
  color: #6D1F18 !important;
  border-radius: 999px !important;
  font-weight: 700 !important;
  border: none !important;
}

/* Button hover */
.tribe-events .tribe-events-c-search__button:hover,
.tribe-events .tribe-events-button:hover {
  background-color: #DE593A !important;
  color: #FFFFFF !important;
}

/* Date range title */
.tribe-events-c-top-bar__datepicker-button {
  font-weight: 800 !important;
  color: #7C9B72 !important;
}

/* Month divider */
.tribe-events-calendar-list__month-separator-text {
  font-weight: 800;
  color: #7C9B72;
}

/* Event card */
.tribe-events-calendar-list__event-row {
  background: #FFFFFF !important;
  border-radius: 24px !important;
  padding: 24px !important;
  margin-bottom: 28px !important;
  box-shadow: 0 8px 20px rgba(0,0,0,0.06);
  border: 1px solid #F1B34C;
}

/* Date tag */
.tribe-events-calendar-list__event-date-tag {
  background: #F1B34C !important;
  border-radius: 20px !important;
  padding: 12px 8px !important;
  min-width: 76px;
  height: fit-content;
}

.tribe-events-calendar-list__event-date-tag-weekday {
  color: #6D1F18 !important;
  font-weight: 800 !important;
  font-size: 12px !important;
}

.tribe-events-calendar-list__event-date-tag-daynum {
  color: #6D1F18 !important;
  font-weight: 900 !important;
  font-size: 30px !important;
}

/* Event title */
.tribe-events-calendar-list__event-title,
.tribe-events-calendar-list__event-title-link {
  color: #6D1F18 !important;
  font-size: 26px !important;
  font-weight: 900 !important;
  text-decoration-thickness: 2px;
}

/* Event meta */
.tribe-events-calendar-list__event-datetime,
.tribe-events-calendar-list__event-venue-title,
.tribe-events-calendar-list__event-venue-address {
  color: #6D1F18 !important;
  font-size: 15px !important;
}

/* Description */
.tribe-events-calendar-list__event-description {
  color: #6D1F18 !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
}

/* Cost badge */
.tribe-events-event-cost,
.tribe-events-calendar-list__event-cost {
  display: inline-block;
  background: #7C9B72;
  color: #FFFFFF;
  border-radius: 999px;
  padding: 5px 12px;
  font-weight: 700;
}

/* Event image */
.tribe-events-calendar-list__event-featured-image,
.tribe-events-calendar-list__event-featured-image img {
  border-radius: 22px !important;
}

.tribe-events-calendar-list__event-featured-image img {
  max-height: 230px;
  width: 100%;
  object-fit: cover;
  box-shadow: 0 6px 14px rgba(0,0,0,0.08);
}

/* Links */
.tribe-events a {
  color: #6D1F18;
}

.tribe-events a:hover {
  color: #DE593A;
}

/* Mobile cleanup */
@media (max-width: 768px) {
  .tribe-events {
    padding: 14px;
  }

  .tribe-events-calendar-list__event-row {
    padding: 18px !important;
    border-radius: 20px !important;
  }

  .tribe-events-calendar-list__event-title,
  .tribe-events-calendar-list__event-title-link {
    font-size: 22px !important;
  }

  .tribe-events-calendar-list__event-featured-image img {
    max-height: 180px;
  }
}

/* MONTH VIEW GLOW-UP */

.tribe-events-calendar-month {
  background: #FFFFFF !important;
  border-radius: 24px !important;
  padding: 18px !important;
  box-shadow: 0 8px 20px rgba(0,0,0,0.05);
  border: 1px solid #F1B34C;
}

/* Month grid cells */
.tribe-events-calendar-month__day {
  background: #F8F6DF !important;
  border-color: rgba(124,155,114,0.25) !important;
}

/* Day numbers */
.tribe-events-calendar-month__day-date,
.tribe-events-calendar-month__day-date-link {
  color: #6D1F18 !important;
  font-weight: 900 !important;
}

/* Events inside month grid */
.tribe-events-calendar-month__calendar-event-title,
.tribe-events-calendar-month__calendar-event-title-link {
  color: #6D1F18 !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

/* Event time in month view */
.tribe-events-calendar-month__calendar-event-datetime {
  color: #7C9B72 !important;
  font-weight: 600 !important;
}

/* Multi-day event bars */
.tribe-events-calendar-month__multiday-event-bar-inner {
  background: #F1B34C !important;
  border-radius: 999px !important;
  color: #6D1F18 !important;
  font-weight: 700 !important;
}

/* "+ more" links */
.tribe-events-calendar-month__more-events {
  color: #DE593A !important;
  font-weight: 800 !important;
}


/* DAY VIEW GLOW-UP */

.tribe-events-calendar-day {
  background: #FFFFFF !important;
  border-radius: 24px !important;
  padding: 24px !important;
  box-shadow: 0 8px 20px rgba(0,0,0,0.05);
  border: 1px solid #F1B34C;
}

/* Day view time sidebar */
.tribe-events-calendar-day__time-separator-text {
  color: #6D1F18 !important;
  font-weight: 800 !important;
}

/* Day view event cards */
.tribe-events-calendar-day__event {
  background: #FFFFFF !important;
  border-radius: 20px !important;
  padding: 22px !important;
  margin-bottom: 22px !important;
  border: 1px solid rgba(241,179,76,0.6);
  box-shadow: 0 5px 14px rgba(0,0,0,0.04);
}

/* Day view event title */
.tribe-events-calendar-day__event-title,
.tribe-events-calendar-day__event-title-link {
  color: #6D1F18 !important;
  font-size: 24px !important;
  font-weight: 900 !important;
}

/* Day view event meta */
.tribe-events-calendar-day__event-datetime,
.tribe-events-calendar-day__event-venue-title,
.tribe-events-calendar-day__event-venue-address {
  color: #6D1F18 !important;
}

/* Day view description */
.tribe-events-calendar-day__event-description {
  color: #6D1F18 !important;
  line-height: 1.6 !important;
}

/* Previous/Next day links */
.tribe-events-c-nav__prev,
.tribe-events-c-nav__next {
  color: #6D1F18 !important;
  font-weight: 800 !important;
}

/* HOMEPAGE FACELIFT */

/* Hero area */
.elementor-section:first-of-type {
  padding-top: 70px !important;
  padding-bottom: 90px !important;
}

.elementor-heading-title {
  letter-spacing: -1px;
}

/* Main headline */
h1.elementor-heading-title {
  max-width: 1200px;
  margin: 0 auto;
  line-height: 1.05 !important;
}

/* Orange CTA buttons */
.elementor-button {
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-weight: 800 !important;
  box-shadow: 0 6px 14px rgba(109,31,24,0.12);
}

.elementor-button:hover {
  transform: translateY(-2px);
}

/* Homepage feature cards */
.elementor-widget-container:has(.elementor-icon-box-wrapper) {
  background: #FFFFFF;
  border: 1px solid rgba(241,179,76,0.7);
  border-radius: 28px;
  padding: 38px 30px !important;
  box-shadow: 0 8px 22px rgba(0,0,0,0.05);
}

/* Card icons */
.elementor-icon {
  background: #F8F6DF !important;
  border-radius: 999px;
  padding: 16px;
}

/* Card titles */
.elementor-icon-box-title {
  color: #7C9B72 !important;
  font-weight: 900 !important;
}

/* Card body text */
.elementor-icon-box-description {
  color: #6D1F18 !important;
  line-height: 1.5 !important;
}

/* Events preview box */
.tribe-events-widget,
.tribe-events-widget-events-list,
.tribe-events-widget-events-list__events {
  background: #FFFFFF !important;
  border-radius: 28px !important;
}

/* Upcoming Events block */
.tribe-events-widget-events-list {
  border: 1px solid rgba(241,179,76,0.7);
  box-shadow: 0 8px 22px rgba(0,0,0,0.05);
  padding: 30px !important;
}

/* Upcoming Events title */
.tribe-events-widget-events-list__header-title {
  color: #7C9B72 !important;
  font-weight: 900 !important;
  font-size: 26px !important;
}

/* Widget event rows */
.tribe-events-widget-events-list__event-row {
  background: #F8F6DF;
  border-radius: 18px;
  padding: 14px !important;
  margin-bottom: 14px !important;
}

/* Widget date */
.tribe-events-widget-events-list__event-date-tag {
  background: #F1B34C;
  border-radius: 14px;
  padding: 8px;
  min-width: 58px;
}

.tribe-events-widget-events-list__event-date-tag-month,
.tribe-events-widget-events-list__event-date-tag-daynum {
  color: #6D1F18 !important;
  font-weight: 900 !important;
}

/* Widget event titles */
.tribe-events-widget-events-list__event-title,
.tribe-events-widget-events-list__event-title-link {
  color: #6D1F18 !important;
  font-weight: 900 !important;
}

/* Widget event time */
.tribe-events-widget-events-list__event-datetime {
  color: #7C9B72 !important;
  font-weight: 700 !important;
}

/* View Calendar link */
.tribe-events-widget-events-list__view-more-link {
  display: inline-block;
  background: #DE593A;
  color: #FFFFFF !important;
  border-radius: 999px;
  padding: 10px 18px;
  font-weight: 800;
  text-decoration: none !important;
  margin-top: 12px;
}

/* Follow section */
.elementor-heading-title:contains("Follow us on Social Media!") {
  color: #6D1F18 !important;
}

/* Mobile cleanup */
@media (max-width: 768px) {
  h1.elementor-heading-title {
    font-size: 42px !important;
    line-height: 1.1 !important;
  }

  .elementor-section:first-of-type {
    padding-top: 45px !important;
    padding-bottom: 55px !important;
  }

  .elementor-widget-container:has(.elementor-icon-box-wrapper) {
    padding: 28px 20px !important;
    border-radius: 22px;
  }
}

/* FOOTER CLEANUP */

.tl-footer .elementor-column {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Remove bullet styling */
.tl-footer ul {
  list-style: none;
  padding-left: 0;
}

/* Footer links */
.tl-footer a {
  font-weight: 700;
  display: block;
  margin-bottom: 6px;
}

/* SINGLE EVENT PAGE GLOW-UP */

.single-tribe_events .tribe-events-single {
  max-width: 1180px;
  margin: 40px auto;
  background: #FFFFFF !important;
  border: 1px solid #F1B34C;
  border-radius: 28px;
  padding: 32px !important;
  box-shadow: 0 8px 22px rgba(0,0,0,0.06);
}

/* Back to all events */
.single-tribe_events .tribe-events-back a {
  color: #6D1F18 !important;
  font-weight: 800;
  text-decoration: none;
}

/* Single event title */
.single-tribe_events .tribe-events-single-event-title {
  color: #6D1F18 !important;
  font-size: 36px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  background: transparent !important;
}

/* Date/time + cost */
.single-tribe_events .tribe-events-schedule,
.single-tribe_events .tribe-events-schedule h2,
.single-tribe_events .tribe-events-cost {
  color: #6D1F18 !important;
  font-weight: 700 !important;
}

/* Featured image */
.single-tribe_events .tribe-events-event-image img {
  border-radius: 24px !important;
  box-shadow: 0 6px 14px rgba(0,0,0,0.08);
}

/* Event description text */
.single-tribe_events .tribe-events-single-event-description {
  color: #6D1F18 !important;
  font-size: 17px;
  line-height: 1.65;
}

/* Details/venue/organizer boxes */
.single-tribe_events .tribe-events-event-meta {
  background: #F8F6DF !important;
  border: 1px solid rgba(241,179,76,0.7);
  border-radius: 24px;
  padding: 24px !important;
  color: #6D1F18 !important;
}

/* Meta headings */
.single-tribe_events .tribe-events-meta-group .tribe-events-single-section-title {
  color: #7C9B72 !important;
  font-weight: 900 !important;
  font-size: 22px !important;
}

/* Meta links */
.single-tribe_events .tribe-events-event-meta a {
  color: #DE593A !important;
  font-weight: 700;
}

/* Add to calendar button */
.single-tribe_events .tribe-events-c-subscribe-dropdown__button {
  background: #F1B34C !important;
  color: #6D1F18 !important;
  border-radius: 999px !important;
  border: none !important;
  font-weight: 800 !important;
  padding: 12px 20px !important;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown__button:hover {
  background: #DE593A !important;
  color: #FFFFFF !important;
}

/* Related events section */
.single-tribe_events .tribe-related-events {
  background: #FFFFFF !important;
  border-radius: 24px;
  padding: 24px !important;
  border: 1px solid rgba(241,179,76,0.7);
}

.single-tribe_events .tribe-related-events-title {
  color: #7C9B72 !important;
  font-weight: 900 !important;
}

/* Hide useless event status box */
.single-tribe_events .tribe-events-status-single {
  display: none !important;
}

/* Mobile */
@media (max-width: 768px) {
  .single-tribe_events .tribe-events-single {
    margin: 20px 14px;
    padding: 22px !important;
    border-radius: 22px;
  }

  .single-tribe_events .tribe-events-single-event-title {
    font-size: 28px !important;
  }
}