/*
 * The Events Calendar - Master Color Override
 * Hello Elementor Child Theme
 *
 * Source CSS reviewed:
 * - common-full.css
 * - views-full.css
 * - views-skeleton.css
 *
 * Elementor Global Colors
 */

:root {
  --ec-primary: #164B35;
  --ec-secondary: #76C340;
  --ec-text: #284239;
  --ec-accent: #4C8C48;
  --ec-accent-hover: #3D713A;
  --ec-dark-green: #123827;
  --ec-light-green: #E5EFDB;
  --ec-cream: #FBFAF4;
  --ec-light-cream: #EEF3E9;
  --ec-beige: #F1DDB2;
  --ec-white: #FFFFFF;
  --ec-forest: #1E5B3D;
  --ec-light-bg: rgba(238,243,233,.5);

  /* The Events Calendar core palette */
  --tec-color-text-primary: var(--ec-text);
  --tec-color-text-primary-hover: var(--ec-accent);
  --tec-color-text-primary-active: var(--ec-primary);
  --tec-color-text-primary-light: #6B7C74;
  --tec-color-text-secondary: #5E7068;
  --tec-color-text-disabled: #A6B2AC;

  --tec-color-accent-primary: var(--ec-accent);
  --tec-color-accent-primary-hover: var(--ec-accent-hover);
  --tec-color-accent-primary-active: var(--ec-primary);
  --tec-color-accent-primary-background-datepicker: var(--ec-light-green);
  --tec-color-accent-secondary: var(--ec-secondary);
  --tec-color-accent-secondary-hover: var(--ec-accent);
  --tec-color-accent-secondary-active: var(--ec-primary);

  --tec-color-link-primary: var(--ec-primary);
  --tec-color-link-accent: var(--ec-accent);

  --tec-color-background: var(--ec-white);
  --tec-color-background-events: var(--ec-cream);
  --tec-color-background-secondary: var(--ec-light-cream);
  --tec-color-background-tooltip: var(--ec-white);
  --tec-color-background-messages: var(--ec-light-green);
  --tec-color-background-events-bar: var(--ec-white);
  --tec-color-background-search-container: var(--ec-white);
  --tec-color-background-view-selector: var(--ec-white);
  --tec-color-background-view-selector-tabs: var(--ec-white);
  --tec-color-background-view-selector-list-item-hover: var(--ec-light-green);
  --tec-color-background-subscribe-list-item-hover: var(--ec-light-green);
  --tec-color-background-secondary-datepicker: var(--ec-light-green);
  --tec-color-background-month-grid: transparent;
  --tec-color-background-primary-multiday: var(--ec-primary);
  --tec-color-background-primary-multiday-hover: var(--ec-dark-green);
  --tec-color-background-secondary-multiday: var(--ec-accent);
  --tec-color-background-secondary-multiday-hover: var(--ec-accent-hover);

  --tec-color-border-default: #D7E0DA;
  --tec-color-border-secondary: #C8D5CE;
  --tec-color-border-active: var(--ec-accent);
  --tec-color-border-events-bar: #D7E0DA;
  --tec-color-border-secondary-month-grid: #D7E0DA;
  --tec-color-border-active-month-grid-hover: var(--ec-accent);

  --tec-color-button-primary: var(--ec-primary);
  --tec-color-button-primary-hover: var(--ec-accent);
  --tec-color-button-primary-active: var(--ec-dark-green);
  --tec-color-button-primary-background: #D7E0DA;
  --tec-color-button-secondary: var(--ec-accent);

  --tec-color-icon-primary: var(--ec-primary);
  --tec-color-icon-secondary: #5E7068;
  --tec-color-icon-active: var(--ec-accent);
  --tec-color-icon-hover: var(--ec-accent);
  --tec-color-icon-disabled: #A6B2AC;
  --tec-color-icon-error: #B42318;

  --tec-color-text-event-date: var(--ec-text);
  --tec-color-text-events-title: var(--ec-primary);
  --tec-color-text-events-title-day: var(--ec-primary);
  --tec-color-text-events-title-latest-past: var(--ec-text);
  --tec-color-text-event-title-list: var(--ec-primary);
  --tec-color-text-events-title-month-multiday: var(--ec-primary);
  --tec-color-text-events-title-widget-list: var(--ec-primary);
  --tec-color-text-secondary-event-date: var(--ec-accent);
  --tec-color-text-secondary-event-date-month: var(--ec-accent);
  --tec-color-text-secondary-event-date-month-mobile: var(--ec-accent);
  --tec-color-text-day-of-week-month: var(--ec-text);
  --tec-color-text-day-of-week-week: var(--ec-text);
  --tec-color-day-marker-month: var(--ec-text);
  --tec-color-day-marker-month-hover: var(--ec-accent);
  --tec-color-day-marker-month-active: var(--ec-primary);
  --tec-color-day-marker-current-month: var(--ec-text);
  --tec-color-day-marker-current-month-hover: var(--ec-accent);
  --tec-color-day-marker-current-month-active: var(--ec-primary);
  --tec-color-day-marker-past-month: #6B7C74;
  --tec-color-day-marker-past-month-hover: var(--ec-accent);
  --tec-color-day-marker-past-month-active: var(--ec-primary);

  --tec-color-category-text: var(--ec-text);
  --tec-color-category-legend-default-1: var(--ec-accent);
  /* Keep category colors 2-5 distinct because they can represent event categories. */
  --tec-color-category-legend-default-2: #58c200;
  --tec-color-category-legend-default-3: #b433ff;
  --tec-color-category-legend-default-4: #f20000;
  --tec-color-category-legend-default-5: #ffd333;

  --tec-color-text-events-bar-input: var(--ec-text);
  --tec-color-text-events-bar-input-placeholder: #6B7C74;
  --tec-color-text-events-bar-submit-button: var(--ec-white);
  --tec-color-text-events-bar-submit-button-hover: var(--ec-white);
  --tec-color-text-events-bar-submit-button-active: var(--ec-white);
  --tec-color-background-events-bar-submit-button: var(--ec-primary);
  --tec-color-background-events-bar-submit-button-hover: var(--ec-accent);
  --tec-color-background-events-bar-submit-button-active: var(--ec-dark-green);
  --tec-color-icon-events-bar: var(--ec-primary);
  --tec-color-icon-events-bar-active: var(--ec-accent);
  --tec-color-icon-events-bar-hover: var(--ec-accent);
  --tec-color-text-view-selector-list-item: var(--ec-text);
  --tec-color-text-view-selector-list-item-hover: var(--ec-accent);

  --tec-form-color-background: var(--ec-white);
  --tec-form-color-border-default: #C8D5CE;
  --tec-form-color-border-secondary: #C8D5CE;
  --tec-form-color-border-active: var(--ec-accent);
  --tec-form-color-accent-primary: var(--ec-accent);
  --tec-form-box-shadow-default: 0 1px 3px rgba(18,56,39,.10);

  --tec-background-color: var(--ec-white);
  --tec-color-background-transparent: transparent;

  --tec-border-radius-default: 4px;
  --tec-events-border-radius-pill: 999px;
  --tec-events-border-radius-circle: 50%;
  --tec-border-radius-month-multiday: 9.5px;

  --tec-outline-color-default: var(--ec-accent);
  --tec-outline-active-default: 2px solid var(--ec-accent);
  --tec-outline-offset-default: 2px;

  --tec-box-shadow-default: 0 4px 14px rgba(18,56,39,.10);
  --tec-box-shadow-tooltip: 0 6px 20px rgba(18,56,39,.14);
}

/* =========================================================
   Global Events Calendar typography / text
   ========================================================= */
.tribe-common,
.tribe-events,
.tribe-events-view {
  color: var(--ec-text);
}

.tribe-common a,
.tribe-common a:active,
.tribe-common a:focus,
.tribe-common a:hover,
.tribe-common a:visited {
  color: var(--tec-color-text-primary);
}

.tribe-common .tribe-common-h1,
.tribe-common .tribe-common-h2,
.tribe-common .tribe-common-h3,
.tribe-common .tribe-common-h4,
.tribe-common .tribe-common-h5,
.tribe-common .tribe-common-h6,
.tribe-common .tribe-common-h7,
.tribe-common .tribe-common-h8,
.tribe-events .tribe-events-header__title-text,
.tribe-events .tribe-events-calendar-list__event-title,
.tribe-events .tribe-events-calendar-month__day-date-link,
.tribe-events .tribe-events-calendar-month__day-date-daynum {
  color: var(--ec-primary);
}

.tribe-common .tribe-common-anchor-alt,
.tribe-common .tribe-common-cta--alt,
.tribe-common .tribe-common-anchor-thin-alt,
.tribe-common .tribe-common-cta--thin-alt,
.tribe-events .tribe-events-c-breadcrumbs__list-item-link {
  color: var(--ec-accent);
  border-color: var(--ec-accent);
}

.tribe-common .tribe-common-anchor-alt:hover,
.tribe-common .tribe-common-cta--alt:hover,
.tribe-common .tribe-common-anchor-thin-alt:hover,
.tribe-common .tribe-common-cta--thin-alt:hover,
.tribe-events .tribe-events-c-breadcrumbs__list-item-link:hover {
  color: var(--ec-primary);
  border-color: var(--ec-primary);
}

/* =========================================================
   Main buttons
   ========================================================= */
.tribe-common .tribe-common-c-btn,
.tribe-common a.tribe-common-c-btn,
.tribe-common button.tribe-common-c-btn,
.tribe-events .tribe-events-c-search__button,
.tribe-events button.tribe-events-c-search__button {
  background-color: var(--ec-primary) !important;
  background-image: none !important;
  border-color: var(--ec-primary) !important;
  color: var(--ec-white) !important;
  box-shadow: none !important;
}

.tribe-common .tribe-common-c-btn:hover,
.tribe-common .tribe-common-c-btn:focus,
.tribe-common a.tribe-common-c-btn:hover,
.tribe-common a.tribe-common-c-btn:focus,
.tribe-common button.tribe-common-c-btn:hover,
.tribe-common button.tribe-common-c-btn:focus,
.tribe-events .tribe-events-c-search__button:hover,
.tribe-events .tribe-events-c-search__button:focus,
.tribe-events button.tribe-events-c-search__button:hover,
.tribe-events button.tribe-events-c-search__button:focus {
  background-color: var(--ec-accent) !important;
  border-color: var(--ec-accent) !important;
  color: var(--ec-white) !important;
}

.tribe-common .tribe-common-c-btn:active,
.tribe-common a.tribe-common-c-btn:active,
.tribe-common button.tribe-common-c-btn:active,
.tribe-events .tribe-events-c-search__button:active,
.tribe-events button.tribe-events-c-search__button:active {
  background-color: var(--ec-dark-green) !important;
  border-color: var(--ec-dark-green) !important;
  color: var(--ec-white) !important;
}

.tribe-common .tribe-common-c-btn-border,
.tribe-common a.tribe-common-c-btn-border,
.single-tribe_events .tribe-events-c-ical__link,
.tribe-events .tribe-events-c-ical__link {
  background-color: var(--ec-white) !important;
  background-image: none !important;
  border-color: var(--ec-accent) !important;
  color: var(--ec-accent) !important;
}

.tribe-common .tribe-common-c-btn-border:hover,
.tribe-common .tribe-common-c-btn-border:focus,
.tribe-common a.tribe-common-c-btn-border:hover,
.tribe-common a.tribe-common-c-btn-border:focus,
.single-tribe_events .tribe-events-c-ical__link:hover,
.single-tribe_events .tribe-events-c-ical__link:focus,
.tribe-events .tribe-events-c-ical__link:hover,
.tribe-events .tribe-events-c-ical__link:focus {
  background-color: var(--ec-accent) !important;
  border-color: var(--ec-accent) !important;
  color: var(--ec-white) !important;
}

.tribe-common .tribe-common-c-btn-border--secondary,
.tribe-common a.tribe-common-c-btn-border--secondary {
  border-color: var(--ec-secondary) !important;
  color: var(--ec-primary) !important;
}

.tribe-common .tribe-common-c-btn-border--secondary:hover,
.tribe-common .tribe-common-c-btn-border--secondary:focus,
.tribe-common a.tribe-common-c-btn-border--secondary:hover,
.tribe-common a.tribe-common-c-btn-border--secondary:focus {
  background-color: var(--ec-secondary) !important;
  border-color: var(--ec-secondary) !important;
  color: var(--ec-dark-green) !important;
}

.tribe-common .tribe-common-c-btn-border--alt,
.tribe-common a.tribe-common-c-btn-border--alt {
  border-color: var(--ec-light-green) !important;
  color: var(--ec-text) !important;
}

/* =========================================================
   Events page background / sections / borders
   ========================================================= */
.tribe-events-view {
  background-color: var(--ec-cream) !important;
}

.tribe-events .tribe-events-c-events-bar,
.tribe-events .tribe-events-c-events-bar__search-container,
.tribe-events .tribe-events-c-events-bar__search-container-inner,
.tribe-events .tribe-events-c-view-selector__content,
.tribe-events .datepicker,
.tooltipster-base.tribe-events-tooltip-theme {
  background-color: var(--ec-white) !important;
}

.tribe-events .tribe-events-c-events-bar--border,
.tribe-events .datepicker,
.tribe-events .tribe-events-c-view-selector__content,
.tooltipster-base.tribe-events-tooltip-theme {
  border-color: #D7E0DA !important;
}

.tribe-events .tribe-events-header__content-title:after,
.tribe-events .tribe-events-c-day-marker:after,
.tribe-events .tribe-events-c-nav {
  border-color: #D7E0DA;
}

.tribe-events .tribe-events-c-nav {
  border-top-color: #D7E0DA !important;
}

/* =========================================================
   Search / filters / inputs
   ========================================================= */
.tribe-common .tribe-common-form-control-text__input,
.tribe-events .tribe-events-c-search__input,
.tribe-events .tribe-events-c-events-bar .tribe-common-form-control-text__input,
.tribe-events input[type="text"],
.tribe-events input[type="search"],
.tribe-events input[type="email"],
.tribe-events select,
.tribe-events textarea {
  background-color: var(--ec-white);
  color: var(--ec-text);
  border-color: #C8D5CE;
}

.tribe-common .tribe-common-form-control-text__input:focus,
.tribe-events .tribe-events-c-search__input:focus,
.tribe-events input:focus,
.tribe-events select:focus,
.tribe-events textarea:focus {
  border-color: var(--ec-accent) !important;
  box-shadow: 0 0 0 1px var(--ec-accent);
  outline: none;
}

.tribe-common .tribe-common-form-control-text__input::placeholder,
.tribe-events .tribe-events-c-search__input::placeholder {
  color: #6B7C74;
}

.tribe-common .tribe-common-form-control-checkbox__input,
.tribe-common .tribe-common-form-control-radio__input {
  background-color: var(--ec-white);
  border-color: #C8D5CE;
}

.tribe-common .tribe-common-form-control-checkbox__input:checked,
.tribe-common .tribe-common-form-control-radio__input:checked {
  background-color: var(--ec-accent);
  border-color: var(--ec-accent);
}

/* =========================================================
   View selector / tabs
   ========================================================= */
.tribe-events .tribe-events-c-view-selector__list-item:hover,
.tribe-events .tribe-events-c-view-selector__list-item:focus-within {
  background-color: var(--ec-light-green) !important;
}

.tribe-events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-text,
.tribe-events .tribe-events-c-view-selector__list-item-link:hover .tribe-events-c-view-selector__list-item-text {
  color: var(--ec-accent) !important;
}

.tribe-events .tribe-events-c-view-selector--tabs .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link:after,
.tribe-events .tribe-events-c-view-selector__button:before {
  background-color: var(--ec-accent) !important;
}

/* =========================================================
   Date picker
   ========================================================= */
.tribe-events .datepicker {
  background-color: var(--ec-white) !important;
  border-color: #D7E0DA !important;
}

.tribe-events .datepicker .datepicker-switch,
.tribe-events .datepicker .day,
.tribe-events .datepicker .month,
.tribe-events .datepicker .year,
.tribe-events .datepicker .dow {
  color: var(--ec-text);
}

.tribe-events .datepicker .day:hover,
.tribe-events .datepicker .day:focus,
.tribe-events .datepicker .month:hover,
.tribe-events .datepicker .month:focus,
.tribe-events .datepicker .year:hover,
.tribe-events .datepicker .year:focus {
  background: var(--ec-light-green) !important;
}

.tribe-events .datepicker .day.current,
.tribe-events .datepicker .month.current,
.tribe-events .datepicker .year.current {
  background: var(--ec-light-green) !important;
  color: var(--ec-accent) !important;
}

.tribe-events .datepicker .day.current:before,
.tribe-events .datepicker .month.current:before,
.tribe-events .datepicker .year.current:before {
  border-color: var(--ec-accent) !important;
}

.tribe-events .datepicker .day.active,
.tribe-events .datepicker .day.active:hover,
.tribe-events .datepicker .month.active,
.tribe-events .datepicker .month.active:hover,
.tribe-events .datepicker .year.active,
.tribe-events .datepicker .year.active:hover {
  background: var(--ec-accent) !important;
  color: var(--ec-white) !important;
}

/* =========================================================
   Month / list / day / week views
   ========================================================= */
.tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-link,
.tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-daynum {
  color: var(--ec-accent) !important;
}

.tribe-events-calendar-month__day--current:after {
  background-color: var(--ec-accent) !important;
}

.tribe-events .tribe-events-calendar-list__event-title a,
.tribe-events .tribe-events-calendar-day__event-title a,
.tribe-events .tribe-events-calendar-week__event-title a,
.tribe-events .tribe-events-calendar-month__calendar-event-title a {
  color: var(--ec-primary);
}

.tribe-events .tribe-events-calendar-list__event-title a:hover,
.tribe-events .tribe-events-calendar-day__event-title a:hover,
.tribe-events .tribe-events-calendar-week__event-title a:hover,
.tribe-events .tribe-events-calendar-month__calendar-event-title a:hover {
  color: var(--ec-accent);
}

.tribe-events .tribe-events-calendar-list__event-datetime,
.tribe-events .tribe-events-calendar-day__event-datetime,
.tribe-events .tribe-events-calendar-month__calendar-event-datetime {
  color: var(--ec-accent);
}

/* Month grid borders */
.tribe-events .tribe-events-calendar-month__day,
.tribe-events .tribe-events-calendar-month__week,
.tribe-events .tribe-events-calendar-month__header-column {
  border-color: #D7E0DA !important;
}

/* =========================================================
   Navigation
   ========================================================= */
.tribe-events .tribe-events-c-nav__today,
.tribe-events .tribe-events-c-nav__next,
.tribe-events .tribe-events-c-nav__prev {
  color: var(--ec-accent);
}

.tribe-events .tribe-events-c-nav__today:hover,
.tribe-events .tribe-events-c-nav__next:hover,
.tribe-events .tribe-events-c-nav__prev:hover {
  color: var(--ec-primary);
}

.tribe-events .tribe-events-c-nav__prev-icon-svg path,
.tribe-events .tribe-events-c-nav__next-icon-svg path,
.tribe-events .tribe-events-c-top-bar__nav-link--next .tribe-common-c-btn-icon__icon-svg path,
.tribe-events .tribe-events-c-top-bar__nav-link--prev .tribe-common-c-btn-icon__icon-svg path {
  fill: var(--ec-accent) !important;
}

/* =========================================================
   Subscribe dropdown
   ========================================================= */
.single-tribe_events .tribe-events-c-subscribe-dropdown__button,
.tribe-events .tribe-events-c-subscribe-dropdown__button {
  background-color: var(--ec-primary) !important;
  color: var(--ec-white) !important;
  border-color: var(--ec-primary) !important;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown__button:hover,
.single-tribe_events .tribe-events-c-subscribe-dropdown__button:focus,
.tribe-events .tribe-events-c-subscribe-dropdown__button:hover,
.tribe-events .tribe-events-c-subscribe-dropdown__button:focus {
  background-color: var(--ec-accent) !important;
  color: var(--ec-white) !important;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown__list,
.tribe-events .tribe-events-c-subscribe-dropdown__list {
  background-color: var(--ec-white) !important;
  border-color: #C8D5CE !important;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown__list-item:hover,
.single-tribe_events .tribe-events-c-subscribe-dropdown__list-item:focus-within,
.tribe-events .tribe-events-c-subscribe-dropdown__list-item:hover,
.tribe-events .tribe-events-c-subscribe-dropdown__list-item:focus-within {
  background-color: var(--ec-light-green) !important;
}

/* =========================================================
   Event cards / featured events
   ========================================================= */
.tribe-events .tribe-events-calendar-list__event-row,
.tribe-events .tribe-events-calendar-day__event-row,
.tribe-events .tribe-events-calendar-month__calendar-event {
  --event-accent-color: var(--ec-accent);
}

.tribe-events .tribe-events-calendar-list__event-featured-image,
.tribe-events .tribe-events-calendar-day__event-featured-image {
  border-radius: var(--tec-border-radius-default);
}

.tribe-events .tribe-events-calendar-list__event-description,
.tribe-events .tribe-events-calendar-day__event-description {
  color: var(--ec-text);
}

/* =========================================================
   Messages / notices
   ========================================================= */
.tribe-events .tribe-events-c-messages__message {
  background-color: var(--ec-light-green) !important;
  color: var(--ec-text);
}

.tribe-events .tribe-events-c-messages__message-list-item-link {
  color: var(--ec-accent) !important;
}

/* =========================================================
   Icons / SVGs
   ========================================================= */
.tribe-common .tribe-common-c-svgicon {
  color: var(--ec-accent);
}

.tribe-common .tribe-common-c-svgicon__svg-fill {
  fill: var(--ec-accent) !important;
}

.tribe-common .tribe-common-c-svgicon__svg-stroke {
  stroke: var(--ec-accent) !important;
}

.tribe-common .tribe-common-c-svgicon--close path,
.tribe-common .tribe-common-c-svgicon--close-alt path {
  stroke: var(--ec-text);
}

/* =========================================================
   Loading / spinner
   ========================================================= */
.tribe-common .tribe-common-c-loader__dot circle {
  fill: var(--ec-accent);
}

/* =========================================================
   Keep semantic error states red.
   The source views CSS uses a dedicated icon-error variable.
   ========================================================= */
.tribe-events .tribe-common-c-svgicon--error,
.tribe-events .tribe-common-c-svgicon--error path {
  color: #B42318;
  fill: #B42318;
  stroke: #B42318;
}

/* =========================================================
   Elementor / Hello theme containment
   Prevent theme button styles from overriding TEC buttons.
   ========================================================= */
.elementor-page .tribe-common .tribe-common-c-btn,
.elementor-page .tribe-common a.tribe-common-c-btn,
.elementor-page .tribe-common button.tribe-common-c-btn,
.elementor-page .tribe-events .tribe-events-c-search__button {
  font-family: inherit;
}

.elementor-page .tribe-common button,
.elementor-page .tribe-events button {
  text-transform: none;
}

/* =========================================================
   Accessibility / focus
   ========================================================= */
.tribe-common a:focus-visible,
.tribe-common button:focus-visible,
.tribe-common input:focus-visible,
.tribe-common select:focus-visible,
.tribe-events a:focus-visible,
.tribe-events button:focus-visible,
.tribe-events input:focus-visible,
.tribe-events select:focus-visible,
.tribe-events textarea:focus-visible {
  outline: 2px solid var(--ec-accent) !important;
  outline-offset: 2px;
}

/* =========================================================
   Source-file hardcoded generic colors: intentionally preserved
   - transparent utility values
   - black text in <mark>/browser fallback
   - category legend colors 2-5
   These are not global brand colors and should not be blindly replaced.
   ========================================================= */
