/* ==========================================
   GENERAL LAYOUT
   ========================================== */

.wp-block-columns.is-style-default {
    align-items: stretch;
}

.wp-block-columns .wp-block-group {
    height: 100%;
}


/* ==========================================
   TEC GLOBAL
   ========================================== */

/* Remove list markers */
.tribe-common ul,
.tribe-common ol {
    list-style: none !important;
    padding-left: 0 !important;
}

.tribe-common li::marker {
    content: "" !important;
}

/* Remove subscribe button */
.tribe-events-c-subscribe-dropdown__container {
    display: none !important;
}

/* Make TEC containers use available width */
.tribe-common-l-container.tribe-events-l-container {
    max-width: none !important;
    width: 100% !important;
}

/* Only remove container padding from embedded calendars */
.tribe-events-view--shortcode .tribe-common-l-container.tribe-events-l-container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}


/* ==========================================
   SINGLE EVENT
   ========================================== */

.single-tribe_events .header-wrapper {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    z-index: 9999 !important;
}

.single-tribe_events .header-wrapper.is-layout-constrained {
    max-width: none !important;
}

.single-tribe_events .tec-block__single-event {
    margin-top: 120px !important;
}


/* ==========================================
   CALENDAR ARCHIVE (/eventscalendar/)
   ========================================== */

/* Same fixes as single events */
.tec-block__archive-events .header-wrapper,
.post-type-archive-tribe_events .header-wrapper {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    z-index: 9999 !important;
}

.tec-block__archive-events,
.post-type-archive-tribe_events .tribe-events {
    margin-top: 120px !important;
}


/* ==========================================
   PHOTO VIEW
   ========================================== */

.tribe-events-view--photo .tribe-events-header,
.tribe-events-view--photo .tribe-events-pro-photo-nav,
.tribe-events-view--photo .tribe-events-c-nav {
    display: none !important;
}

.tribe-events-view--photo .tribe-common-g-row--gutters > .tribe-common-g-col {
    padding-left: 6px !important;
    padding-right: 6px !important;
}

.tribe-events-pro-photo--grid .tribe-common-g-col {
    flex-basis: 50% !important;
    max-width: 50% !important;
}

.tribe-events-pro-photo__event img {
    width: 100% !important;
    height: auto !important;
}

.tribe-events-pro-photo__event-featured-image-wrapper {
    border-radius: 16px;
    overflow: hidden;
}

.tribe-events-pro-photo__event-featured-image-wrapper > *,
.tribe-events-pro-photo__event-featured-image-wrapper > * > * {
    width: 100% !important;
    max-width: 100% !important;
}

.tribe-events-pro-photo__event-title {
    font-size: 1.5rem !important;
}

.tribe-events-pro-photo__event-date-tag-month {
    font-size: 1rem !important;
}

.tribe-events-pro-photo__event-details {
    flex-grow: 1;
    padding-left: 0;
    padding-right: 0;
}

.tribe-events-pro-photo__event-details-wrapper
.tribe-events-pro-photo__event-date-tag {
    flex: 0 0 10% !important;
    max-width: 10% !important;
}

.tribe-events-pro-photo__event-details-wrapper
.tribe-events-pro-photo__event-details {
    flex: 0 0 90% !important;
    max-width: 90% !important;
}


/* ==========================================
   LIST VIEW
   ========================================== */

.tribe-events-view--list .tribe-events-header,
.tribe-events-view--list .tribe-events-c-nav {
    display: none !important;
}

.tribe-events-calendar-list__month-separator-text {
    font-size: 2rem !important;
}

.tribe-events-calendar-list__event-date-tag-weekday,
.tribe-events-calendar-list__event-description {
    font-size: 1rem;
    line-height: 1.6;
}

.tribe-events-calendar-list__event-datetime {
    font-size: 1.5rem;
    line-height: 1.6;
}

.tribe-events-calendar-list__event-featured-image-wrapper.tribe-common-g-col {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    border-radius: 16px;
    overflow: hidden;
}

.tribe-events-calendar-list__event-featured-image-wrapper * {
    border-radius: inherit;
}

.tribe-events-calendar-list__event-details.tribe-common-g-col {
    flex: 0 0 50% !important;
    max-width: 50% !important;
}

/* Embedded list view */
.tribe-events-view--list.tribe-events-view--shortcode
.tribe-events-l-container {
    min-height: 0 !important;
    height: auto !important;
}

/* Make Month View event cards clickable as a whole */
.tribe-events-view--month .tribe-events-calendar-month__calendar-event {
    position: relative;
}

.tribe-events-view--month .tribe-events-calendar-month__calendar-event-featured-image-wrapper {
    pointer-events: none;
}

.tribe-events-view--month .tribe-events-calendar-month__calendar-event-title a::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 5;
}

/* Make List View event cards clickable as a whole */
.tribe-events-view--list .tribe-events-calendar-list__event-row {
    position: relative;
}

.tribe-events-view--list .tribe-events-calendar-list__event-featured-image-wrapper {
    pointer-events: none;
}

.tribe-events-view--list .tribe-events-calendar-list__event-title a::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 5;
}

/* Embedded Photo View: remove forced minimum height */
.tribe-events-view--photo.tribe-events-view--shortcode .tribe-events-l-container {
    min-height: 0 !important;
    height: auto !important;
}

/* Mobile: restore stacked List View layout */
@media (max-width: 767px) {

    .tribe-events-calendar-list__event-featured-image-wrapper.tribe-common-g-col,
    .tribe-events-calendar-list__event-details.tribe-common-g-col {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }

}