/* ==========================================================================
   COLORES DE CATEGORÍA — Vista de calendario mensual
   ========================================================================== */

.tribe_events_cat-conciertos
.tribe-events-calendar-month__calendar-event-details {
    background-color: #0d6efd !important;
    padding: 4px 8px;
    border-radius: 4px;
    display: inline-block;
}

.tribe_events_cat-conciertos
.tribe-events-calendar-month__calendar-event-details * {
    color: #ffffff !important;
}

.tribe_events_cat-teatro
.tribe-events-calendar-month__calendar-event-details {
    background-color: #0e2344 !important;
    padding: 8px;
    border-radius: 6px;
}

.tribe_events_cat-teatro
.tribe-events-calendar-month__calendar-event-details * {
    color: #ffffff !important;
}

.tribe_events_cat-cine
.tribe-events-calendar-month__calendar-event-details {
    background-color: #b50200 !important;
    padding: 4px 8px;
    border-radius: 6px;
}

.tribe_events_cat-cine
.tribe-events-calendar-month__calendar-event-details * {
    color: #ffffff !important;
}

.tribe_events_cat-deportes
.tribe-events-calendar-month__calendar-event-details {
    background-color: #ff6700 !important;
    padding: 4px 8px;
    border-radius: 4px;
    display: inline-block;
}

.tribe_events_cat-deportes
.tribe-events-calendar-month__calendar-event-details * {
    color: #ffffff !important;
}

.tribe_events_cat-actividades-familiares
.tribe-events-calendar-month__calendar-event-details {
    background-color: #00b9f2 !important;
    color: #ffffff !important;
    padding: 4px 8px;
    border-radius: 4px;
    display: inline-block;
}

.tribe_events_cat-actividades-familiares
.tribe-events-calendar-month__calendar-event-details * {
    color: #ffffff !important;
}

.tribe_events_cat-turismo
.tribe-events-calendar-month__calendar-event-details {
    background-color: #1abc9c !important;
    color: #ffffff !important;
    padding: 4px 8px;
    border-radius: 4px;
    display: inline-block;
}

.tribe_events_cat-turismo
.tribe-events-calendar-month__calendar-event-details * {
    color: #ffffff !important;
}

.tribe_events_cat-talleres
.tribe-events-calendar-month__calendar-event-details {
    background-color: #c6c6c6 !important;
    color: #000000 !important;
    padding: 4px 8px;
    border-radius: 4px;
    display: inline-block;
}

.tribe_events_cat-talleres
.tribe-events-calendar-month__calendar-event-details * {
    color: #000000 !important;
}

.tribe_events_cat-espiritualidad
.tribe-events-calendar-month__calendar-event-details {
    background-color: #6855b5 !important;
    color: #ffffff !important;
    padding: 4px 8px;
    border-radius: 4px;
    display: inline-block;
}

.tribe_events_cat-espiritualidad
.tribe-events-calendar-month__calendar-event-details * {
    color: #ffffff !important;
}

.tribe_events_cat-gastronomia
.tribe-events-calendar-month__calendar-event-details {
    background-color: #5482c6 !important;
    padding: 4px 8px;
    border-radius: 4px;
    display: inline-block;
}

.tribe_events_cat-gastronomia
.tribe-events-calendar-month__calendar-event-details * {
    color: #ffffff !important;
}

.tribe_events_cat-arte
.tribe-events-calendar-month__calendar-event-details {
    background-color: #6ea33b !important;
    padding: 4px 8px;
    border-radius: 4px;
    display: inline-block;
}

.tribe_events_cat-arte
.tribe-events-calendar-month__calendar-event-details * {
    color: #ffffff !important;
}


/* ==========================================================================
   INSIGNIAS DE CATEGORÍA — .categoria-evento (eventos gratuitos)
   ========================================================================== */

.categoria-evento {
    display: inline-block !important;
    width: auto !important;
    max-width: fit-content;
    padding: 4px 12px;
    border-radius: 30px !important;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 15px;
    color: #fff;
    line-height: 1.2;
    white-space: nowrap;
}

/* CONCIERTOS */
.categoria-evento.tribe_events_cat-conciertos {
    background-color: #0d6efd;
}

/* TEATRO */
.categoria-evento.tribe_events_cat-teatro {
    background-color: #0e2344;
}

/* CINE */
.categoria-evento.tribe_events_cat-cine {
    background-color: #b50200;
}

/* DEPORTES */
.categoria-evento.tribe_events_cat-deportes {
    background-color: #ff6700;
}

/* ACTIVIDADES FAMILIARES */
.categoria-evento.tribe_events_cat-actividades-familiares {
    background-color: #00b9f2;
}

/* TURISMO */
.categoria-evento.tribe_events_cat-turismo {
    background-color: #1abc9c;
}

/* TALLERES */
.categoria-evento.tribe_events_cat-talleres {
    background-color: #c6c6c6;
    color: #000;
}

/* ESPIRITUALIDAD */
.categoria-evento.tribe_events_cat-espiritualidad {
    background-color: #6855b5;
}

/* GASTRONOMIA */
.categoria-evento.tribe_events_cat-gastronomia {
    background-color: #5482c6;
}

/* ARTE */
.categoria-evento.tribe_events_cat-arte {
    background-color: #6ea33b;
}


/* ==========================================================================
   COLOR DE ACENTO — Evento destacado (--tec-color-accent-primary)
   ========================================================================== */

/* CONCIERTOS */
.tribe_events_cat-conciertos {
    --tec-color-accent-primary: #0d6efd !important;
}

/* TEATRO */
.tribe_events_cat-teatro {
    --tec-color-accent-primary: #0e2344 !important;
}

/* CINE */
.tribe_events_cat-cine {
    --tec-color-accent-primary: #b50200 !important;
}

/* DEPORTES */
.tribe_events_cat-deportes {
    --tec-color-accent-primary: #ff6700 !important;
}

/* ACTIVIDADES FAMILIARES */
.tribe_events_cat-actividades-familiares {
    --tec-color-accent-primary: #00b9f2 !important;
}

/* TURISMO */
.tribe_events_cat-turismo {
    --tec-color-accent-primary: #1abc9c !important;
}

/* TALLERES */
.tribe_events_cat-talleres {
    --tec-color-accent-primary: #c6c6c6 !important;
}

/* ESPIRITUALIDAD */
.tribe_events_cat-espiritualidad {
    --tec-color-accent-primary: #6855b5 !important;
}

/* GASTRONOMIA */
.tribe_events_cat-gastronomia {
    --tec-color-accent-primary: #5482c6 !important;
}

/* ARTE */
.tribe_events_cat-arte {
    --tec-color-accent-primary: #6ea33b !important;
}


/* ==========================================================================
   TEXTO DE EVENTO DESTACADO — vistas lista / día / semana
   ========================================================================== */

/* Evento por lista */
.tribe-events-calendar-list__event-datetime-featured-text {
    color: #ff6600;
    font-weight: 700;
}

/* Evento por dia */
.tribe-events-calendar-day__event-datetime-featured-text {
    position: static !important;
    clip: auto !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;

    display: inline-block;
    margin-left: 6px;

    font-size: 12px;
    font-weight: 600;
    color: #0f62fe;
}

/* Evento por semana */
.tribe-events-pro-week-grid__event-datetime-featured-text {
    position: static !important;
    clip: auto !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;

    display: inline-block;
    margin-left: 4px;

    font-size: 11px;
    font-weight: 600;
    color: #0f62fe;
}

/* Título del evento en calendario mensual */
.tribe-events-calendar-month__calendar-event-title {
    font-style: italic;
}


/* ==========================================================================
   MAPA DEL VENUE
   ========================================================================== */

@media (min-width:768px){

    .tribe-events-event-meta.secondary{
        width:100% !important;
        max-width:100% !important;
        clear:both !important;
    }

    .tribe-events-event-meta.secondary .tribe-events-venue-map{
        width:100% !important;
        max-width:100% !important;
        height:350px !important;
    }

    .tribe-events-event-meta.secondary iframe{
        width:100% !important;
        height:350px !important;
        min-height:350px !important;
        display:block !important;
    }

}


/* ==========================================================================
   PRECIOS DEL EVENTO
   ========================================================================== */

.tribe-events-event-precios {
    margin: 24px 0;
}

.evento-precios-titulo {
    margin-bottom: 12px;
    font-size: 18px;
    font-weight: 800;
}

.evento-precios-lista {
    list-style: none;
    margin: 0;
    padding: 0;
}

.evento-precio-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #e5e5e5;
}

.precio-label {
    font-weight: 500;
    font-size: 16px;
}

.precio-monto {
    font-weight: 500;
    font-size: 16px;
}


/* ==========================================================================
   LAYOUT DE METADATOS — Ubicación, detalle, organizador
   ========================================================================== */

@media (min-width:768px){

    .tribe-events-event-meta.primary{

        display:grid !important;

        grid-template-columns:
            repeat(3, minmax(280px,1fr));

        gap:60px;

        max-width:1200px;

        margin:auto;

        align-items:start;

    }

    .tribe-events-meta-item.tribe-organizer{
        display:none !important;
    }
    .tribe-events-event-meta > div{
        width:100%;
    }

    .titulo-ubicacion{
        text-align:center;
    }

}

@media (max-width: 767px) {

    .tribe-events-event-meta {
        display: flex;
        flex-direction: column;
    }

    .tribe-events-meta-group-venue {
        order: 1;
    }

    .tribe-events-venue-map {
        order: 2;
    }

    .titulo-ubicacion {
        text-align: center;
        width: 100%;
        margin-bottom: 15px;
    }

}


/* ==========================================================================
   BANNER SUPERIOR
   ========================================================================== */

.qhg-banner-wrapper{
    width:100%;
    margin:0;
    padding:0;
}

.qhg-banner-link{
    display:block;
    width:100%;
}

.qhg-banner-image{
    display:block;
    width:100%;
    height:auto;
    max-width:none;
}

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

.tribe-events-l-container > .qhg-banner-wrapper{
    margin-bottom:32px;
}

.qhg-banner-wrapper {
    pointer-events: none;
}


/* ==========================================================================
   9. LEYENDA / INFO DE IMAGEN DEL EVENTO
   ========================================================================== */

.evento-imagen-leyenda{
    margin-top: -10px;
    font-style: italic;
}

.evento-imagen-leyenda{
    margin-top: 19px;
    font-style: italic;
    font-size: 14px;
}

.evento-imagen-info{
    margin-top: -20px;
    font-style: italic;
    font-size: 16px;
}

@media (max-width: 767px) {
    .evento-imagen-leyenda{
        margin-top: 1px;
        font-style: italic;
        font-size: 14px;
    }

    .evento-imagen-info{
        margin-top: -20px;
        font-style: italic;
        font-size: 16px;
    }
}


/* ==========================================================================
   10. IMAGEN DESTACADA DEL EVENTO
   ========================================================================== */

.tribe-events-event-image {
    width: 1360px;
    max-width: 100%;
    height: 500px;
    margin: 0 auto;
    overflow: hidden;
}

.tribe-events-event-image img {
    width: 100%;
    height: 500px;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* Tablet */
@media (max-width: 1200px) {

    .tribe-events-event-image {
        height: 450px;
    }

    .tribe-events-event-image img {
        height: 450px;
    }

}

/* Mobile */
@media (max-width: 767px) {

    .tribe-events-event-image {
        height: 300px;
    }

    .tribe-events-event-image img {
        height: 300px;
    }

    .evento-imagen-leyenda {
        margin-top: 20px;
        font-style: italic;
    }

    .evento-imagen-info {
        margin-top: -20px;
        font-style: italic;
    }

}


/* ==========================================================================
   IMÁGENES EN CALENDARIO MENSUAL
   ========================================================================== */

.tribe-events .tribe-events-calendar-month__calendar-event-featured-image-wrapper {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    margin-bottom: var(--tec-spacer-0);
}

.tribe-events .tribe-events-calendar-month__calendar-event-featured-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

/* Boletin */
.evento-aviso-responsabilidad {
    margin-top: 30px;
    margin-bottom: 25px;
}

.evento-aviso-responsabilidad p {
    margin: 0;
    font-size: 16px;
    font-style: italic;
    color: #555;
    line-height: 1.5;
}

.evento-boletin {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 45px;

    padding: 35px 45px;

    background-color: #0A1E48;
    border-radius: 24px;

    box-sizing: border-box;
}

.evento-boletin-logo {
    flex: 0 0 130px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.evento-boletin-logo img {
    display: block;
    width: 110px;
    height: auto;
}

.evento-boletin-contenido {
    flex: 1;
}

.evento-boletin-contenido h3 {
    margin: 0 0 18px 0;

    font-size: 30px;
    font-weight: 700;
    line-height: 1.2;

    color: #ffffff;
}

.evento-boletin-contenido p {
    margin: 0 0 14px 0;

    font-size: 17px;
    line-height: 1.5;

    color: #ffffff;
}

.evento-boletin-contenido > p:first-child {
    padding-bottom: 18px;
    margin-bottom: 25px;
    border-bottom: 1px solid #7A8498;
}

.evento-boletin-contenido p:last-child {
    margin-bottom: 0;
}

.evento-boletin-contenido a {
    color: #6FA0F5;
    font-weight: 700;
    text-decoration: underline;
}

.evento-boletin-contenido a:hover {
    color: #ffffff;
}

@media (max-width: 900px) {

    .evento-boletin {
        gap: 30px;
        padding: 30px;
    }

    .evento-boletin-logo {
        flex: 0 0 100px;
    }

    .evento-boletin-logo img {
        width: 90px;
    }

    .evento-boletin-contenido h3 {
        font-size: 26px;
    }

    .evento-boletin-contenido p {
        font-size: 16px;
    }

}

@media (max-width: 600px) {

    .evento-aviso-responsabilidad {
        margin-top: 25px;
        margin-bottom: 20px;
    }

    .evento-aviso-responsabilidad p {
        font-size: 14px;
    }

    .evento-boletin {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;

        padding: 30px 25px;

        border-radius: 20px;
    }

    .evento-boletin-logo {
        flex: none;
        width: 100%;
        justify-content: center;
    }

    .evento-boletin-logo img {
        width: 80px;
    }

    .evento-boletin-contenido h3 {
        font-size: 25px;
        margin-bottom: 15px;
    }

    .evento-boletin-contenido p {
        font-size: 16px;
        line-height: 1.5;
    }

    .evento-boletin-contenido > p:first-child {
        padding-bottom: 15px;
        margin-bottom: 20px;
    }

}