/* Go Now Niagara - Custom Styles v3 - Consistency Pass */

/* ============================================
   BASE
   ============================================ */
body {
    font-family: 'Segoe UI', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 18px !important;
    line-height: 1.6;
    color: #1a1a1a;
    background: #fafafa !important;
}

.site-content,
.grid-container {
    max-width: 1700px !important;
}

/* Kill sidebar */
#right-sidebar, .sidebar, .widget-area { display: none !important; }
.content-area, #primary { width: 100% !important; max-width: 100% !important; float: none !important; }

/* ============================================
   HEADER / NAV
   ============================================ */
.site-header {
    background: #1a1a2e !important;
    border-bottom: 3px solid #F39C12;
}

.site-header .site-title a,
.site-header .main-title a {
    color: #F39C12 !important;
    font-weight: 800 !important;
    font-size: 26px !important;
    letter-spacing: 1px;
}

.main-navigation {
    background: #1a1a2e !important;
}

.main-navigation a {
    color: #fff !important;
    font-weight: 600 !important;
    font-size: 16px !important;
    padding: 12px 20px !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: color 0.2s, background 0.2s;
}

.main-navigation a:hover,
.main-navigation .current-menu-item a {
    color: #F39C12 !important;
    background: rgba(243, 156, 18, 0.1) !important;
}

/* ============================================
   DAY VIEW TIME SEPARATORS - fix text cutoff
   ============================================ */
.tribe-events-calendar-day__time-separator,
.tribe-events-calendar-day__type-separator {
    font-size: 13px !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #fff !important;
    background: linear-gradient(135deg, #1a1a2e, #2d2d44) !important;
    padding: 8px 20px !important;
    border-radius: 6px;
    margin: 28px 0 14px 0 !important;
    display: inline-block;
    overflow: visible !important;
    white-space: nowrap;
    line-height: 1.4 !important;
}

.tribe-events-calendar-day__time-separator h3,
.tribe-events-calendar-day__type-separator h3,
.tribe-events-calendar-day__time-separator time,
.tribe-events-calendar-day__type-separator time,
.tribe-events-calendar-day__time-separator span,
.tribe-events-calendar-day__type-separator span,
.tribe-events-calendar-day__time-separator *,
.tribe-events-calendar-day__type-separator * {
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* The separator line after the pill */
.tribe-events-calendar-day__time-separator::after,
.tribe-events-calendar-day__type-separator::after {
    display: none !important;
}

/* ============================================
   EVENT CARDS - CONSISTENT LAYOUT
   ============================================ */

/* Each event article - card style */
.tribe-events-calendar-list__event,
.tribe-events-calendar-day__event {
    background: #fff !important;
    border: 1px solid #e8e8e8 !important;
    border-left: 4px solid #F39C12 !important;
    border-radius: 10px !important;
    padding: 18px 22px !important;
    margin-bottom: 12px !important;
    transition: all 0.25s ease;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04);
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 20px;
    overflow: hidden;
}

.tribe-events-calendar-list__event:hover,
.tribe-events-calendar-day__event:hover {
    box-shadow: 0 6px 20px rgba(0,0,0,0.08) !important;
    transform: translateY(-1px);
    border-left-color: #e74c3c !important;
}

/* Event content wrapper - takes remaining space */
.tribe-events-calendar-list__event-wrapper,
.tribe-events-calendar-day__event-content,
.tribe-events-calendar-list__event-details,
.tribe-events-calendar-day__event-details {
    flex: 1 1 auto !important;
    min-width: 0;
}

/* ============================================
   EVENT IMAGES - CONSISTENT SMALL THUMBNAILS
   ============================================ */
.tribe-events-calendar-list__event-featured-image,
.tribe-events-calendar-day__event-featured-image {
    flex: 0 0 180px !important;
    width: 180px !important;
    max-width: 180px !important;
    height: 130px !important;
    max-height: 130px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    order: 2;
}

.tribe-events-calendar-list__event-featured-image img,
.tribe-events-calendar-day__event-featured-image img {
    width: 180px !important;
    height: 130px !important;
    max-width: 180px !important;
    max-height: 130px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    display: block !important;
}

/* Force image container to not expand */
.tribe-events-calendar-list__event-featured-image-link,
.tribe-events-calendar-day__event-featured-image-link {
    display: block !important;
    width: 180px !important;
    height: 130px !important;
    overflow: hidden !important;
}

/* ============================================
   EVENT TEXT ELEMENTS - CONSISTENT
   ============================================ */

/* Title */
.tribe-events-calendar-list__event-title,
.tribe-events-calendar-day__event-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    margin-bottom: 2px !important;
    line-height: 1.3 !important;
}

.tribe-events-calendar-list__event-title a,
.tribe-events-calendar-day__event-title a {
    color: #1a1a2e !important;
    text-decoration: none !important;
}

.tribe-events-calendar-list__event-title a:hover,
.tribe-events-calendar-day__event-title a:hover {
    color: #F39C12 !important;
}

/* Date/time */
.tribe-events-calendar-list__event-datetime,
.tribe-events-calendar-day__event-datetime {
    font-size: 14px !important;
    color: #F39C12 !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 2px !important;
}

/* Venue */
.tribe-events-calendar-list__event-venue,
.tribe-events-calendar-day__event-venue {
    font-size: 15px !important;
    color: #888 !important;
    font-weight: 500;
}

.tribe-events-calendar-list__event-venue a,
.tribe-events-calendar-day__event-venue a {
    color: #888 !important;
    text-decoration: none !important;
}

.tribe-events-calendar-list__event-venue a:hover,
.tribe-events-calendar-day__event-venue a:hover {
    color: #F39C12 !important;
}

/* Description */
.tribe-events-calendar-list__event-description p,
.tribe-events-calendar-day__event-description p {
    font-size: 15px !important;
    color: #555 !important;
    margin-top: 4px !important;
    margin-bottom: 0 !important;
    line-height: 1.4 !important;
}

/* ============================================
   REDUCE WHITESPACE - TIGHTER LAYOUT
   ============================================ */
.tribe-events-calendar-list__month-separator,
.tribe-events-calendar-day__type-separator {
    margin-top: 16px !important;
    margin-bottom: 8px !important;
}

.tribe-common-l-container {
    padding: 0 !important;
}

.tribe-events .tribe-events-l-container {
    padding: 0 !important;
}

/* Less space between events */
.tribe-events-calendar-list__event + .tribe-events-calendar-list__event,
.tribe-events-calendar-day__event + .tribe-events-calendar-day__event {
    margin-top: 0 !important;
}

/* ============================================
   TOP BAR / CONTROLS
   ============================================ */
.tribe-events-c-top-bar__today-button {
    background: #F39C12 !important;
    color: #1a1a2e !important;
    font-weight: 700 !important;
    border-radius: 6px !important;
    border: none !important;
    padding: 8px 18px !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.tribe-events-c-top-bar__today-button:hover {
    background: #e08a0b !important;
}

.tribe-events-header__top-bar {
    border-bottom: 2px solid #f0f0f0;
    padding-bottom: 12px;
    margin-bottom: 20px;
}

.tribe-events-c-top-bar__nav-link {
    font-size: 20px !important;
    color: #1a1a2e !important;
    font-weight: 700 !important;
}

.tribe-events-c-top-bar__nav-link:hover {
    color: #F39C12 !important;
}

.tribe-events-c-top-bar__datepicker-button {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #1a1a2e !important;
}

/* ============================================
   HOMEPAGE 50/50
   ============================================ */
.wp-block-columns {
    gap: 50px !important;
    align-items: flex-start;
}

/* Contain TEC calendar within its column */
.wp-block-column {
    overflow: hidden !important;
    min-width: 0 !important;
}

/* Force TEC containers to respect parent width */
.wp-block-column .tribe-common,
.wp-block-column .tribe-events,
.wp-block-column .tribe-events-calendar-day,
.wp-block-column .tribe-events-calendar-list {
    max-width: 100% !important;
    overflow: hidden !important;
}

/* Time separator pills - don't stretch full width in column */
.wp-block-column .tribe-events-calendar-day__time-separator,
.wp-block-column .tribe-events-calendar-day__type-separator {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Search bar and top bar - contain within column */
.wp-block-column .tribe-events-header,
.wp-block-column .tribe-events-c-search,
.wp-block-column .tribe-events-header__top-bar {
    max-width: 100% !important;
    overflow: hidden !important;
}

.wp-block-column h2 {
    font-size: 32px !important;
    font-weight: 800 !important;
    color: #1a1a2e !important;
    margin-bottom: 24px !important;
    position: relative;
    padding-bottom: 12px;
}

.wp-block-column h2::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 60px;
    height: 4px;
    background: #F39C12;
    border-radius: 2px;
}

.wp-block-column h3 {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #1a1a2e !important;
    margin-top: 28px !important;
}

/* ============================================
   MONTH VIEW
   ============================================ */
.tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date {
    background: #F39C12 !important;
    color: #fff !important;
    border-radius: 50%;
}

/* ============================================
   EVENT SINGLE PAGE
   ============================================ */
.tribe-events-single {
    max-width: 1000px !important;
    margin: 0 auto !important;
    background: #fff;
    padding: 40px !important;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.tribe-events-single .tribe-events-schedule {
    font-size: 20px !important;
    color: #F39C12 !important;
    font-weight: 700;
}

/* ============================================
   SUMMARY VIEW - event titles prominent
   ============================================ */
.tribe-events-pro-summary__event-title,
.tribe-common-h8.tribe-events-pro-summary__event-title {
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin-top: 2px !important;
}

.tribe-events-pro-summary__event-title-link {
    color: #1a1a2e !important;
    text-decoration: none !important;
}

.tribe-events-pro-summary__event-title-link:hover {
    color: #F39C12 !important;
}

/* Summary event time */
.tribe-events-pro-summary__event-datetime {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #F39C12 !important;
}

/* Summary event venue */
.tribe-events-pro-summary__event-venue {
    font-size: 13px !important;
    color: #888 !important;
}

/* Each event in summary - add a subtle left border + padding for separation */
.tribe-events-pro-summary__event {
    border-left: 3px solid #F39C12 !important;
    padding-left: 10px !important;
    margin-bottom: 10px !important;
}

/* ============================================
   EVENT DATE START - prominent
   ============================================ */
.tribe-event-date-start,
.tribe-events-abbr.tribe-event-date-start {
    font-size: 20px !important;
    font-weight: 800 !important;
    color: #F39C12 !important;
    background: rgba(243, 156, 18, 0.12);
    padding: 2px 8px;
    border-radius: 4px;
}

/* Summary view - date tag styling */
.tribe-events-pro-summary__event-date-tag {
    min-width: 40px !important;
    max-width: 40px !important;
    width: 40px !important;
    flex-shrink: 0 !important;
    text-align: center;
}

.tribe-events-pro-summary__event-date-tag-daynum {
    font-size: 18px !important;
}

.tribe-events-pro-summary__event-date-tag-weekday {
    font-size: 10px !important;
    text-transform: uppercase;
}

/* The summary grid - tighter columns */
.tribe-events-pro-summary .tribe-common-g-row {
    grid-template-columns: 45px 1fr !important;
    gap: 8px !important;
}

.tribe-events-pro-summary .tribe-common-g-col {
    max-width: 100% !important;
    flex: none !important;
}

/* MOBILE: fix summary view layout completely */
@media (max-width: 768px) {
    /* Hide the date circle - date is in the header */
    .tribe-events-pro-summary__event-date-tag {
        display: none !important;
    }
    
    /* The event row is flex with date+wrapper - make wrapper take full width */
    .tribe-events-pro-summary__event-row {
        display: block !important;
        padding: 0 !important;
        margin: 12px 0 !important;
    }
    
    /* Event wrapper (the UL of events) - full width */
    .tribe-events-pro-summary__event-wrapper {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /* Kill the negative margin gutters that cause overflow */
    .tribe-events-pro-summary .tribe-common-g-row--gutters {
        margin: 0 !important;
    }
    
    /* Each event item - full width, no flex shrinking */
    .tribe-events-pro-summary__event,
    .tribe-events-pro-summary__event-details {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /* Event inner rows - stack vertically */
    .tribe-events-pro-summary .tribe-common-g-row {
        display: block !important;
        width: 100% !important;
    }
    
    .tribe-events-pro-summary .tribe-common-g-col {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
    }
}

/* List view date tags */
.tribe-events-calendar-list__event-date-tag {
    margin-right: 24px !important;
    margin-bottom: 16px !important;
    min-width: 60px !important;
    flex-shrink: 0 !important;
}

.tribe-events-calendar-list__event-row {
    display: flex !important;
    gap: 24px !important;
    align-items: flex-start !important;
}

.tribe-events-calendar-list__event-wrapper {
    padding-left: 16px !important;
}

.tribe-events-calendar-list__month-separator {
    margin-bottom: 16px !important;
    margin-top: 24px !important;
}

/* ============================================
   SUBSCRIBE - subtle
   ============================================ */
.tribe-events-c-subscribe-dropdown__button {
    font-size: 13px !important;
    opacity: 0.7;
}

/* ============================================
   FOOTER
   ============================================ */
.site-footer {
    background: #1a1a2e !important;
    color: #ccc !important;
    border-top: 3px solid #F39C12;
}

.site-footer a {
    color: #F39C12 !important;
}

.site-footer .site-info a[href*="generatepress"] {
    display: none !important;
}

.site-footer .site-info {
    font-size: 0 !important;
}

.site-footer .site-info::before {
    content: ' a9  2026 Go Now Niagara';
    font-size: 14px !important;
    color: #ccc;
}

/* ============================================
   CTA BUTTON
   ============================================ */
a[style*="background:#F39C12"] {
    display: inline-block !important;
    transition: transform 0.2s, box-shadow 0.2s !important;
    font-size: 18px !important;
}

a[style*="background:#F39C12"]:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(243, 156, 18, 0.35) !important;
}

/* ============================================
   MOBILE MENU
   ============================================ */
@media (max-width: 768px) {
    /* Show GP's slide-out mobile menu toggle */
    .mobile-menu-control-wrapper {
        display: block !important;
    }
    
    /* Hide the inline nav "Menu" text button */
    .main-navigation:not(.toggled) .main-nav {
        display: none !important;
    }
    
    /* Style the mobile toggle icon */
    .mobile-menu-control-wrapper .menu-toggle {
        color: #F39C12 !important;
        padding: 8px !important;
    }
    
    .mobile-menu-control-wrapper .menu-toggle svg,
    .mobile-menu-control-wrapper .menu-toggle img {
        filter: brightness(0) saturate(100%) invert(72%) sepia(60%) saturate(1000%) hue-rotate(360deg) brightness(101%) contrast(94%);
    }
}

/* ============================================
   RESPONSIVE - layout
   ============================================ */
@media (max-width: 768px) {
    .wp-block-columns { flex-direction: column !important; }
    .wp-block-column { flex-basis: 100% !important; }
    body { font-size: 16px !important; }
    .tribe-events-calendar-list__event-title,
    .tribe-events-calendar-day__event-title { font-size: 18px !important; }
    
    .tribe-events-calendar-list__event,
    .tribe-events-calendar-day__event {
        flex-direction: column !important;
    }
    
    .tribe-events-calendar-list__event-featured-image,
    .tribe-events-calendar-day__event-featured-image,
    .tribe-events-calendar-list__event-featured-image img,
    .tribe-events-calendar-day__event-featured-image img,
    .tribe-events-calendar-list__event-featured-image-link,
    .tribe-events-calendar-day__event-featured-image-link {
        width: 100% !important;
        max-width: 100% !important;
        height: 140px !important;
        max-height: 140px !important;
        flex: none !important;
        order: -1;
    }
    
    .site-content, .grid-container { max-width: 100% !important; padding: 0 10px !important; }
}
