/* --- TRIBE EVENTS CUSTOM STYLES (CLEAN DESKTOP & MOBILE PADDED) --- */

/* 1. LIMPEZA TOTAL DE BORDAS/BACKGROUNDS */
#tribe-events-pg-template,
.tribe-events-pg-template,
#tribe-events-content,
.tribe-events-content,
.tribe-events-content-wrapper,
.tribe-common-l-container,
.tribe-events-view,
.tribe-events-single-section {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Remove qualquer fundo cinza dos grupos de meta dados */
.tribe-events-meta-group,
.tribe-events-event-meta {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
}

/* Remove linhas superiores/inferiores */
.tribe-events-cal-links,
.tribe-events-footer,
.tribe-events-header,
.tribe-events-single-section {
    border-top: none !important;
    border-bottom: none !important;
}

/* 2. TIPOGRAFIA ROXO MISSES */
h3.tribe-events-single-section-title,
.tribe-events-event-meta .tribe-events-meta-group-header {
    color: #5e1580 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 1.1rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border: none !important;
    margin-bottom: 25px !important;
    padding-bottom: 0 !important;
    background: transparent !important;
    /* Garante sem fundo no título */
}

/* 3. CONTEÚDO (Texto Limpo) */
.tribe-events-event-meta {
    font-size: 1rem !important;
    color: #444 !important;
    width: 100% !important;
}

.tribe-events-event-meta dd,
.tribe-events-event-meta dt,
.tribe-events-meta-group dl {
    line-height: 1.6 !important;
    color: #444 !important;
}

.tribe-events-event-meta dt {
    font-weight: 700 !important;
    color: #111 !important;
    float: left;
    margin-right: 10px;
    min-width: 60px;
}

.tribe-events-event-meta a {
    color: #5e1580 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

/* 4. LAYOUT DESKTOP (FULL WIDTH & TRANSPARENT) */
@media (min-width: 769px) {
    .tribe-events-single-section {
        margin-top: 40px !important;
        margin-bottom: 40px !important;
    }

    .tribe-events-event-meta {
        display: flex !important;
        flex-wrap: wrap;
        width: 100% !important;
        gap: 60px;
        align-items: flex-start;
        justify-content: flex-start;
        background: transparent !important;
        /* Sem fundo no container flex */
    }

    .tribe-events-meta-group {
        flex: 0 1 auto;
        min-width: 220px;
        margin-bottom: 0 !important;
        background: transparent !important;
        /* Sem fundo na coluna */
        padding: 0 !important;
        /* Remove padding interno da coluna */
    }

    /* Mapa Desktop */
    .tribe-events-venue-map {
        flex: 0 1 350px;
        margin-top: 0 !important;
        border-radius: 8px;
        overflow: hidden;
        background: transparent !important;
        border: none !important;
    }
}

/* 5. LAYOUT MOBILE (PADDING LATERAL OBRIGATÓRIO) */
@media (max-width: 768px) {

    /* Títulos e Blocos com Padding Lateral */
    h3.tribe-events-single-section-title,
    .tribe-events-event-meta .tribe-events-meta-group-header,
    .tribe-events-event-meta,
    .tribe-events-meta-group,
    .tribe-events-content,
    .tribe-events-single-event-description,
    .tribe-events-cal-links {
        padding-left: 20px !important;
        padding-right: 20px !important;
        box-sizing: border-box !important;
        width: 100% !important;
    }

    /* Mapa mobile */
    .tribe-events-venue-map {
        width: 100% !important;
        margin-top: 25px !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
        box-sizing: border-box !important;
    }

    /* Remove padding interno que possa causar espaçamento duplo */
    .tribe-events-event-meta dl,
    .tribe-events-meta-group dl {
        padding: 0 !important;
        margin: 0 !important;
    }
}

/* ================================================== */
/* 6. ULTIMATE FIX FOR MOBILE BLACK/DARK BACKGROUND ISSUE */
/* ================================================== */

/* Global Reset for Tribe Events Containers */
.tribe-common-l-container,
.tribe-events-calendar-list,
.tribe-events-view,
.tribe-events-calendar-list__event-row,
.tribe-events-calendar-list__event-row--featured,
article.tribe-events-calendar-list__event,
.tribe-events-calendar-list__event-details,
.tribe-common-g-col {
    background-color: #ffffff !important;
    background: #ffffff !important;
    color: #000000 !important;
}

/* Ensure Text is Visible */
.tribe-events-calendar-list__event-title,
.tribe-events-calendar-list__event-title-link,
.tribe-events-calendar-list__event-datetime,
.tribe-events-calendar-list__event-venue,
.tribe-common-h3,
.tribe-common-anchor-thin,
.tribe-event-date-start,
.tribe-events-calendar-list__event-description p,
time {
    color: #000000 !important;
    background-color: transparent !important;
}

/* Specific Date Tag Styling */
.tribe-events-calendar-list__event-date-tag-month {
    color: #555555 !important;
    background-color: transparent !important;
}

.tribe-events-calendar-list__event-date-tag-daynum {
    color: #000000 !important;
    background-color: transparent !important;
}

/* Handle 'Featured' Row Specifically (Often the culprit) */
.tribe-events-calendar-list__event-row--featured {
    background-color: #ffffff !important;
    border: 1px solid #eee !important;
    /* Optional: adds a light border to distinguish it */
}

/* Mobile Specific - Force White Background */
@media (max-width: 768px) {

    .tribe-events-calendar-list__event-row,
    .tribe-events-calendar-list__event-row--featured,
    .tribe-events-calendar-list__event-details {
        background-color: #ffffff !important;
    }

    /* Ensure the text inside the mobile card is black */
    .tribe-events-calendar-list__event-row--featured * {
        color: #000000 !important;
    }

    /* Exclude date tag from 'all black' rule if needed, but usually safe for mobile legibility */
}

/* DARK MODE OVERRIDES - FORCE LIGHT MODE STYLE */
@media (prefers-color-scheme: dark) {

    .tribe-events-view,
    .tribe-events-calendar-list,
    .tribe-events-calendar-list__event-row,
    .tribe-common-l-container,
    .tribe-events-calendar-list__event-details,
    .tribe-events-calendar-list__event-row--featured {
        background-color: #ffffff !important;
        background: #ffffff !important;
        color: #000000 !important;
    }

    h3,
    h4,
    span,
    div,
    p,
    a,
    time {
        color: #000000 !important;
    }

    /* Revert specific link colors if needed, but ensure readability first */
    .tribe-events-calendar-list__event-title-link {
        color: #000000 !important;
    }
}