/**
 * Script: NEAQ Events Calendar Styles
 * Purpose: NEAQ presentation overrides for embedded TEC views and Featured Events.
 * Scope: .component__events-calendar only.
 *
 * Version: v1.0.2+20261008.1134-ET
 * Updated: 2026-10-08 11:34 ET
 */

.component__events-calendar {
    clear: both;
    padding: 64px 0;
}

.component__events-calendar .events-calendar__heading {
    color: var(--clr-gray-1);
    margin: 0 0 16px;
}

.component__events-calendar .events-calendar__description {
    max-width: 880px;
    margin: 0 0 32px;
}

.component__events-calendar .events-calendar__output {
    width: 100%;
}

/* TEC uses its own component typography. Keep the UI visually inside NEAQ. */
.component__events-calendar .tribe-common,
.component__events-calendar .tribe-events,
.component__events-calendar .tribe-events-pro {
    font-family: "Helvetica-Neue-LT-Std-400", Arial, sans-serif;
    color: var(--clr-gray-2);
}

.component__events-calendar .tribe-common .tribe-common-l-container,
.component__events-calendar .tribe-events .tribe-events-l-container {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
}

.component__events-calendar .tribe-common a,
.component__events-calendar .tribe-events a {
    color: var(--clr-primary-base);
}

.component__events-calendar .tribe-common button,
.component__events-calendar .tribe-common input,
.component__events-calendar .tribe-common select {
    font-family: "Helvetica-Neue-LT-Std-400", Arial, sans-serif;
}

.component__events-calendar .tribe-events-c-search__button,
.component__events-calendar .tribe-common-c-btn,
.component__events-calendar .tribe-common-c-btn-border,
.component__events-calendar .tribe-common-c-btn-border-small {
    border-radius: 0;
}

.component__events-calendar .tribe-events-c-search__button,
.component__events-calendar .tribe-common-c-btn {
    background: var(--clr-primary-base);
}

.component__events-calendar .tribe-events-c-search__button:hover,
.component__events-calendar .tribe-events-c-search__button:focus,
.component__events-calendar .tribe-common-c-btn:hover,
.component__events-calendar .tribe-common-c-btn:focus {
    background: var(--clr-primary-sub);
}

.component__events-calendar .tribe-events-c-events-bar,
.component__events-calendar .tribe-events-header__events-bar {
    border-color: var(--clr-gray-6);
}

.component__events-calendar .tribe-events-calendar-list__event-row {
    border-bottom: 1px solid var(--clr-gray-6);
    padding-bottom: 32px;
}

.component__events-calendar .tribe-events-calendar-list__event-featured-image {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.component__events-calendar .tribe-events-calendar-list__event-title-link,
.component__events-calendar .tribe-events-pro-photo__event-title-link {
    font-family: "Helvetica-Neue-LT-Std-700", Arial, sans-serif;
    color: var(--clr-primary-sub);
}

/* Photo View is the editor-facing Cards view. */
.component__events-calendar--browser .tribe-events-pro-photo__event {
    border: 1px solid var(--clr-gray-6);
    background: var(--clr-white);
}

.component__events-calendar--browser .tribe-events-pro-photo__event-featured-image {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

.component__events-calendar--browser .tribe-events-pro-photo__event-details-wrapper,
.component__events-calendar--browser .tribe-events-pro-photo__event-details {
    padding-left: 20px;
    padding-right: 20px;
}

/* Safety net: without TEC view CSS, inline SVGs otherwise inherit aggressive theme sizing. */
.component__events-calendar .tribe-common-c-svgicon,
.component__events-calendar .tribe-events-c-view-selector svg,
.component__events-calendar .tribe-events-c-search svg,
.component__events-calendar .tribe-events-c-nav svg {
    max-width: 24px;
    max-height: 24px;
}

/* Homepage: retain the existing three-card visual rhythm while TEC supplies the data. */
.component__events-calendar--featured .events-calendar__output > .tribe-common,
.component__events-calendar--featured .events-calendar__output > .tribe-events,
.component__events-calendar--featured .tribe-events-widget {
    margin-top: 16px;
}

.component__events-calendar--featured .tribe-events-widget-events-list__events-list,
.component__events-calendar--featured .tribe-events-list-widget,
.component__events-calendar--featured .tribe-list-widget {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px;
    padding-left: 0;
}

.component__events-calendar--featured .tribe-events-widget-events-list__event-row,
.component__events-calendar--featured .tribe-events-list-widget-events,
.component__events-calendar--featured .tribe-event-featured {
    list-style: none;
    margin: 0;
    padding: 28px;
    border-bottom: 5px solid var(--clr-secondary-sub);
    background: var(--clr-gray-8);
}

.component__events-calendar--featured .tribe-events-widget-events-list__event-title,
.component__events-calendar--featured .tribe-events-list-event-title {
    font-family: "Helvetica-Neue-LT-Std-700", Arial, sans-serif;
    color: var(--clr-primary-sub);
}

.component__events-calendar .events-calendar__cta {
    margin-top: 32px;
}

.component__events-calendar .events-calendar__unavailable {
    font-size: 18px;
    line-height: 28px;
}

@media screen and (max-width: 1199px) {
    .component__events-calendar {
        padding: 48px 0;
    }
}

@media screen and (max-width: 767px) {
    .component__events-calendar {
        padding: 40px 0;
    }

    .component__events-calendar--featured .tribe-events-widget-events-list__events-list,
    .component__events-calendar--featured .tribe-events-list-widget,
    .component__events-calendar--featured .tribe-list-widget {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}

/* TEC marks the active view label as visually hidden by default.
 * NEAQ intentionally exposes the Grid / Calendar label beside the icon. */
#neaq-events .tribe-events-c-view-selector__button-text.tribe-common-a11y-visual-hide {
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: normal !important;
    border: 0 !important;
}

/* Daily Programs appear as compact entries within each scheduled Month day. */
.component__events-calendar .neaq-month-daily-program {
    margin: 8px 0;
    padding: 0 8px;
    min-width: 0;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.component__events-calendar .neaq-month-daily-program__label {
    display: block;
    font-size: 11px;
    line-height: 1.4;
    margin-bottom: 2px;
}

.component__events-calendar .neaq-month-daily-program__title {
    font-family: "Helvetica-Neue-LT-Std-700", Arial, sans-serif;
    font-size: 13px;
    line-height: 1.35;
}

.component__events-calendar .neaq-month-daily-program a {
    display: inline;
    white-space: normal;
}
