/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Description: Tema hijo para GeneratePress del Diario Lomas de Tafí (Modular Asymmetric Design - Portada Completa con Clima y Slider).
Author: Antigravity
Template: generatepress
Version: 1.0.0
*/

/* --- Variables y Paleta de Colores --- */
:root {
    --primary-color: #047857;     /* Verde Esmeralda (Sincronizado con /laguia) */
    --primary-hover: #065f46;
    --accent-color: #f59e0b;      /* Ámbar (Sincronizado con /laguia) */
    --dark-color: #1a1d20;        /* Carbón profundo */
    --text-muted: #64748b;        /* Gris medio para metadatos */
    --light-bg: #f8fafc;          /* Fondo gris ultra claro */
    --border-color: #e2e8f0;      /* Bordes finos */
    --font-heading: 'Outfit', 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --font-body: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* --- Estilos Globales --- */
body {
    font-family: var(--font-body);
    color: var(--dark-color);
    background-color: var(--light-bg);
    line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    color: var(--dark-color);
    font-weight: 700;
    letter-spacing: -0.02em;
}

/* --- Hacer la página más Ancha (Spacious Layout) --- */
.grid-container {
    max-width: 1360px !important;
}

/* --- Cabecera Inmóvil (Header Sticky & Clean) --- */
.site-header {
    background-color: #ffffff;
    border-bottom: 3px solid var(--primary-color);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02);
    padding: 10px 0;
}

.main-navigation {
    background-color: var(--dark-color);
}

.main-navigation .main-nav ul li a {
    font-family: var(--font-heading);
    font-weight: 600;
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 0.05em;
    padding: 0 18px;
}

.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li.current-menu-item > a {
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
}

/* --- Barra de Información Superior (Fecha y Clima) --- */
.lomas-top-bar-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 10px 20px;
    margin-top: 25px;
    margin-bottom: 10px;
    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 600;
    color: var(--dark-color);
    box-shadow: 0 2px 6px rgba(0,0,0,0.01);
}

.lomas-top-date {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--text-muted);
}

.lomas-top-weather {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--primary-color);
}

@media (max-width: 768px) {
    .lomas-top-bar-info {
        flex-direction: column;
        gap: 6px;
        text-align: center;
        padding: 12px;
        margin-top: 15px;
    }
}

/* --- Diseño de Badges --- */
.lomas-badge {
    display: inline-block;
    padding: 4px 10px;
    background-color: var(--primary-color);
    color: #ffffff !important;
    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-radius: 4px;
    text-decoration: none;
    line-height: 1;
}

/* Colores de categorías */
.lomas-badge.cat-policiales, .lomas-badge.cat-seguridad { background-color: var(--accent-color); }
.lomas-badge.cat-agenda { background-color: #0288d1; }
.lomas-badge.cat-sociales { background-color: #e91e63; }
.lomas-badge.cat-vecinales { background-color: #2e7d32; }

/* --- SLIDER APERTURA RESTAURADO (Premium Slider) --- */
.lomas-slider-container {
    position: relative;
    width: 100%;
    height: 480px;
    margin-top: 15px;
    margin-bottom: 35px;
    overflow: hidden;
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
    background-color: #000;
}

@media (max-width: 768px) {
    .lomas-slider-container {
        height: 320px;
        margin-bottom: 25px;
        border-radius: 10px;
    }
}

.lomas-slider-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
}

.lomas-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 0.8s ease-in-out;
    z-index: 1;
    display: flex;
    align-items: flex-end;
    padding: 50px;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    .lomas-slide {
        padding: 24px;
    }
}

.lomas-slide.active {
    opacity: 1;
    z-index: 2;
}

.lomas-slide-link-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
}

.lomas-slide-content {
    position: relative;
    z-index: 4;
    max-width: 75%;
    color: #ffffff;
    text-align: left;
}

@media (max-width: 768px) {
    .lomas-slide-content {
        max-width: 100%;
    }
}

.lomas-slide-category {
    display: inline-block;
    padding: 6px 16px;
    background-color: var(--primary-color);
    color: #ffffff !important;
    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    border-radius: 30px;
    margin-bottom: 15px;
    text-decoration: none;
    transition: background-color 0.2s, transform 0.2s;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

.lomas-slide-category:hover {
    background-color: var(--primary-hover);
    transform: translateY(-1px);
}

.lomas-slide-category.cat-policiales, .lomas-slide-category.cat-seguridad { background-color: var(--accent-color); }
.lomas-slide-category.cat-agenda { background-color: #0288d1; }
.lomas-slide-category.cat-sociales { background-color: #e91e63; }
.lomas-slide-category.cat-vecinales { background-color: #2e7d32; }

.lomas-slide-title {
    font-family: var(--font-heading);
    font-size: 36px;
    font-weight: 800;
    line-height: 1.2;
    margin: 0 0 12px 0;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
}

.lomas-slide-title a {
    color: #ffffff !important;
    text-decoration: none !important;
}

.lomas-slide-title a:hover {
    color: #f1f1f1 !important;
}

@media (max-width: 768px) {
    .lomas-slide-title {
        font-size: 22px;
        line-height: 1.3;
        margin-bottom: 8px;
    }
}

.lomas-slide-meta {
    font-size: 13px;
    color: #e2e8f0;
    font-weight: 500;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    gap: 5px;
}

/* Prev/Next arrows */
.lomas-slider-prev,
.lomas-slider-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(4px);
    color: white;
    border: none;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    transition: background 0.2s, transform 0.2s;
    user-select: none;
}

.lomas-slider-prev:hover,
.lomas-slider-next:hover {
    background: rgba(0, 0, 0, 0.6);
    transform: translateY(-50%) scale(1.08);
}

.lomas-slider-prev:active,
.lomas-slider-next:active {
    transform: translateY(-50%) scale(0.95);
}

.lomas-slider-prev { left: 24px; }
.lomas-slider-next { right: 24px; }

@media (max-width: 768px) {
    .lomas-slider-prev,
    .lomas-slider-next {
        width: 36px;
        height: 36px;
        font-size: 14px;
    }
    .lomas-slider-prev { left: 12px; }
    .lomas-slider-next { right: 12px; }
}

/* Dots */
.lomas-slider-dots {
    position: absolute;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 5;
    display: flex;
    gap: 10px;
}

.lomas-slider-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.4);
    cursor: pointer;
    transition: background 0.2s, transform 0.2s, width 0.2s;
}

.lomas-slider-dot:hover {
    background: rgba(255, 255, 255, 0.7);
}

.lomas-slider-dot.active {
    background: #ffffff;
    transform: scale(1.1);
    width: 20px;
    border-radius: 5px;
}

/* --- BLOQUE C: Bloque de Bloques Temáticos (Categorías) --- */
.lomas-category-blocks-wrapper {
    margin-bottom: 25px;
}

.lomas-category-blocks-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 30px;
}

.lomas-cat-block {
    background-color: #ffffff;
    border-radius: 12px;
    border: 1px solid var(--border-color);
    padding: 24px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.01);
}

.lomas-cat-block-header {
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--primary-color);
    display: inline-block;
}

.lomas-cat-block-title {
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 !important;
    color: var(--dark-color);
}

/* Noticia Destacada del Bloque de Categoría */
.lomas-cat-main-card {
    background: #ffffff;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 20px;
    transition: transform 0.2s;
}

.lomas-cat-main-card:hover {
    transform: translateY(-2px);
}

.lomas-cat-main-img {
    height: 240px; /* Imagen de gran impacto */
    background-size: cover;
    background-position: center;
    position: relative;
    border-radius: 8px;
}

.lomas-cat-main-body {
    padding: 15px 0 0 0;
}

.lomas-cat-main-title {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 6px 0 !important;
}

.lomas-cat-main-title a {
    color: var(--dark-color);
    text-decoration: none;
    transition: color 0.15s;
}

.lomas-cat-main-title a:hover {
    color: var(--primary-color);
}

/* Lista de noticias secundarias del bloque */
.lomas-cat-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
    border-top: 1px solid var(--border-color);
    padding-top: 18px;
}

.lomas-cat-list-item {
    display: flex;
    align-items: center;
}

.lomas-cat-list-thumb {
    width: 85px;
    height: 85px;
    flex-shrink: 0;
    border-radius: 6px;
    overflow: hidden;
    background-color: #f1f5f9;
}

.lomas-cat-list-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lomas-cat-list-body {
    flex-grow: 1;
    padding-left: 15px;
}

.lomas-cat-list-title {
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    margin: 0 0 4px 0 !important;
}

.lomas-cat-list-title a {
    color: var(--dark-color);
    text-decoration: none;
    transition: color 0.15s;
}

.lomas-cat-list-title a:hover {
    color: var(--primary-color);
}

.lomas-time {
    font-size: 12px;
    color: var(--text-muted);
}

@media (max-width: 768px) {
    .lomas-category-blocks-grid {
        grid-template-columns: 100%;
        gap: 24px;
    }

    .lomas-cat-block {
        padding: 16px;
    }

    .lomas-cat-main-img {
        height: 180px;
    }

    .lomas-cat-main-title {
        font-size: 17px;
    }
}

/* --- BLOQUE D: El "Feed" Activo (Último Momento / Noticias al instante) --- */
.lomas-feed-section {
    background-color: #ffffff;
    border-radius: 12px;
    border: 1px solid var(--border-color);
    padding: 30px;
    margin-bottom: 35px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.01);
}

@media (max-width: 768px) {
    .lomas-feed-section {
        padding: 15px;
    }
}

.lomas-feed-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 25px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--border-color);
}

.lomas-feed-indicator {
    width: 10px;
    height: 10px;
    background-color: var(--accent-color);
    border-radius: 50%;
    display: inline-block;
    animation: pulse 1.8s infinite;
}

@keyframes pulse {
    0% { transform: scale(0.9); opacity: 1; }
    50% { transform: scale(1.25); opacity: 0.4; }
    100% { transform: scale(0.9); opacity: 1; }
}

.lomas-feed-title {
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 !important;
    color: var(--dark-color);
}

.lomas-feed-list {
    display: flex;
    flex-direction: column;
}

.lomas-feed-item {
    display: flex;
    align-items: flex-start;
    padding: 24px 0; /* Más aire entre ítems */
    border-bottom: 1px solid #f1f5f9;
}

.lomas-feed-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.lomas-feed-thumb {
    width: 220px; /* Imagen AUN MÁS grande en el listado feed (220px de ancho) */
    height: 140px; /* Altura proporcional para una excelente tarjeta horizontal */
    flex-shrink: 0;
    border-radius: 10px;
    overflow: hidden;
    background-color: #f1f5f9;
    box-shadow: 0 4px 12px rgba(0,0,0,0.03);
}

.lomas-feed-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.lomas-feed-item:hover .lomas-feed-thumb img {
    transform: scale(1.05);
}

.lomas-feed-body {
    flex-grow: 1;
    padding-left: 28px; /* Más espaciado lateral para compensar el tamaño de imagen */
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.lomas-feed-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.lomas-feed-cat {
    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--primary-color);
}

.lomas-feed-cat.cat-policiales, .lomas-feed-cat.cat-seguridad { color: var(--accent-color); }

.lomas-feed-time {
    font-size: 11px;
    font-weight: 600;
    color: var(--accent-color);
}

.lomas-feed-item-title {
    font-family: var(--font-heading);
    font-size: 22px; /* Título imponente de gran peso visual */
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 8px 0 !important;
}

.lomas-feed-item-title a {
    color: var(--dark-color);
    text-decoration: none;
    transition: color 0.15s;
}

.lomas-feed-item-title a:hover {
    color: var(--primary-color);
}

/* Estilo para la breve bajada o resumen en el listado */
.lomas-feed-excerpt {
    font-size: 14.5px;
    color: #475569;
    line-height: 1.6;
    margin-top: 4px;
}

@media (max-width: 768px) {
    .lomas-feed-item {
        flex-direction: column;
        gap: 14px;
    }
    .lomas-feed-thumb {
        width: 100%;
        height: 200px;
    }
    .lomas-feed-body {
        padding-left: 0;
    }
    .lomas-feed-item-title {
        font-size: 18px;
    }
}

/* --- Espacios Publicitarios Colapsables --- */
.lomas-home-ad-banner, .lomas-feed-inline-ad {
    margin: 30px auto;
    text-align: center;
    max-width: 100%;
}

.lomas-ad-placeholder {
    width: 728px;
    height: 90px;
    max-width: 100%;
    background-color: #f1f5f9;
    border: 2px dashed #cbd5e1;
    color: #64748b;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    border-radius: 8px;
    margin: 0 auto;
}

.lomas-ad-placeholder-small {
    height: 100px;
    background-color: #f1f5f9;
    border: 2px dashed #cbd5e1;
    color: #64748b;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    border-radius: 8px;
}

.lomas-home-ad-banner:empty, .lomas-feed-inline-ad:empty {
    display: none;
}

/* --- Paginación --- */
.lomas-pagination {
    margin-top: 30px;
    display: flex;
    justify-content: center;
    gap: 5px;
}

.lomas-pagination .page-numbers {
    padding: 8px 16px;
    background: #f1f5f9;
    border-radius: 6px;
    text-decoration: none;
    color: var(--dark-color);
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 14px;
    transition: background 0.2s, color 0.2s;
}

.lomas-pagination .page-numbers:hover,
.lomas-pagination .page-numbers.current {
    background: var(--primary-color);
    color: #ffffff;
}

/* --- Style of Widgets (Sidebar) --- */
.sidebar .widget {
    background-color: #ffffff;
    border-radius: 12px;
    padding: 24px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.01);
    border: 1px solid var(--border-color);
    margin-bottom: 25px !important;
}

.sidebar .widget-title {
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 18px;
    padding-bottom: 6px;
    border-bottom: 2px solid var(--primary-color);
    display: inline-block;
}

.sidebar .widget ul li {
    padding: 8px 0;
    border-bottom: 1px solid #f1f5f9;
    font-size: 14px;
    line-height: 1.4;
}

.sidebar .widget ul li:last-child {
    border-bottom: none;
}

.sidebar .widget ul li a {
    color: var(--dark-color);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.15s;
}

.sidebar .widget ul li a:hover {
    color: var(--primary-color);
}

/* --- ESTRUCTURA DE LA PÁGINA DE NOTA (Single Post) --- */
@media (min-width: 769px) {
    .single-post #primary {
        width: 75% !important;
        float: left !important;
        max-width: 75% !important;
    }
    .single-post #right-sidebar {
        width: 25% !important;
        float: right !important;
        display: block !important;
        clear: none !important;
    }
}

.single-post .inside-article {
    padding: 40px !important;
    background-color: #ffffff;
    border-radius: 12px;
    border: 1px solid var(--border-color);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.01);
}

@media (max-width: 768px) {
    .single-post .inside-article {
        padding: 20px !important;
        border-radius: 0;
        border-left: none;
        border-right: none;
    }
}

.single-post .entry-header {
    max-width: 720px;
    margin: 0 auto 20px auto;
    text-align: left;
}

.single-post .entry-meta {
    max-width: 720px;
    margin: 0 auto 30px auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    font-family: var(--font-heading);
    font-size: 13.5px;
    color: #64748b;
    font-weight: 600;
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    padding: 12px 0 !important;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    background: transparent !important;
}

.single-post .entry-meta a {
    color: var(--primary-color) !important;
    font-weight: 700;
    text-decoration: none;
}

.single-post .entry-meta a:hover {
    color: var(--primary-hover) !important;
}

.single-post .entry-title {
    font-family: var(--font-heading);
    font-size: 44px;
    font-weight: 800;
    line-height: 1.15;
    margin: 12px 0 16px 0 !important;
    color: var(--dark-color);
    letter-spacing: -0.03em;
}

@media (max-width: 768px) {
    .single-post .entry-title {
        font-size: 30px;
        line-height: 1.2;
    }
}

/* Copete o Bajada */
.single-post .lomas-bajada {
    font-size: 21px;
    line-height: 1.5;
    color: #475569;
    margin-bottom: 30px;
    font-weight: 500;
    font-family: var(--font-heading);
    border-left: 3px solid var(--accent-color);
    padding-left: 15px;
}

.single-post .featured-image {
    margin: 20px 0 35px 0;
    text-align: center;
    background-color: #f8fafc;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid var(--border-color);
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
}

.single-post .featured-image img {
    width: 100% !important;
    height: 450px !important;
    object-fit: cover !important;
    display: block !important;
}

@media (max-width: 768px) {
    .single-post .featured-image img {
        height: 250px !important;
    }
}

/* Contenido de la Noticia Limpio de Distractores */
.single-post .entry-content {
    max-width: 720px;
    margin: 0 auto;
    font-family: var(--font-body);
    font-size: 18.5px;
    line-height: 1.8;
    color: #2d3748;
}

.single-post .entry-content p {
    margin-bottom: 24px;
}

.single-post .entry-content a {
    color: var(--primary-color);
    text-decoration: underline;
    font-weight: 600;
}

.single-post .entry-content a:hover {
    color: var(--primary-hover);
}

/* Citas destacadas (Blockquotes) */
.single-post .entry-content blockquote {
    position: relative;
    font-family: var(--font-heading);
    font-size: 22px;
    font-style: italic;
    line-height: 1.5;
    color: var(--primary-color);
    border-left: 4px solid var(--primary-color);
    padding: 10px 0 10px 24px;
    margin: 35px 0;
    font-weight: 500;
}

.single-post .entry-content blockquote p {
    margin-bottom: 0;
}

.single-post .entry-content blockquote cite {
    display: block;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted);
    margin-top: 10px;
    font-style: normal;
}

/* Leyendas e imágenes del cuerpo */
.single-post .entry-content figcaption,
.single-post .entry-content .wp-caption-text {
    font-family: var(--font-body);
    font-size: 13.5px;
    color: var(--text-muted);
    text-align: center;
    margin-top: 8px;
    margin-bottom: 24px;
    line-height: 1.4;
}

.single-post .entry-content img {
    border-radius: 8px;
    height: auto;
}

/* Restaurar visibilidad del sidebar en notas individuales */
.single-post .widget-area {
    display: block;
}

/* --- Barra de Progreso de Lectura --- */
.lomas-progress-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: rgba(226, 232, 240, 0.5);
    z-index: 99999;
}

.lomas-progress-bar {
    height: 100%;
    width: 0%;
    background-color: var(--primary-color);
    transition: width 0.1s ease-out;
}

/* --- Navegación entre entradas --- */
.single-post .post-navigation {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    padding: 20px 0;
    margin-top: 40px;
    font-family: var(--font-heading);
}

.single-post .post-navigation a {
    text-decoration: none;
    color: var(--dark-color);
    font-weight: 700;
    font-size: 15px;
    max-width: 45%;
    transition: color 0.2s;
}

.single-post .post-navigation a:hover {
    color: var(--primary-color);
}

.single-post .nav-previous {
    text-align: left;
}

.single-post .nav-next {
    text-align: right;
    margin-left: auto;
}

/* --- COMENTARIOS LINDOS Y ELEGANTES --- */
.single-post #comments {
    max-width: 720px;
    margin: 50px auto 0 auto;
    border-top: 2px solid var(--border-color);
    padding-top: 40px;
}

.single-post .comments-title {
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 30px;
    color: var(--dark-color);
}

.single-post .comment-list {
    list-style: none;
    margin: 0 0 40px 0;
    padding: 0;
}

.single-post .comment-list .comment {
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px solid #f1f5f9;
}

.single-post .comment-list .comment:last-child {
    border-bottom: none;
}

.single-post .comment-body {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.single-post .comment-meta {
    flex-grow: 1;
}

.single-post .comment-author .avatar {
    border-radius: 50%;
    width: 48px;
    height: 48px;
    object-fit: cover;
    border: 2px solid var(--border-color);
}

.single-post .comment-author .fn {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 14.5px;
    font-style: normal;
    color: var(--dark-color);
}

.single-post .comment-metadata {
    font-size: 11px;
    color: var(--text-muted);
    margin-top: 2px;
}

.single-post .comment-content {
    font-size: 15px;
    line-height: 1.5;
    color: #475569;
    margin-top: 8px;
}

.single-post .reply {
    margin-top: 8px;
}

.single-post .reply a {
    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--primary-color);
    text-decoration: none;
    transition: color 0.15s;
}

.single-post .reply a:hover {
    color: var(--primary-hover);
}

/* Formulario de Comentario */
.single-post #respond {
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.01);
    margin-top: 30px;
}

.single-post #reply-title {
    font-family: var(--font-heading);
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 20px;
    color: var(--dark-color);
}

.single-post .comment-form {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.single-post .comment-form p {
    margin-bottom: 0;
}

.single-post .comment-form label {
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 13px;
    color: var(--dark-color);
    margin-bottom: 6px;
    display: block;
}

.single-post .comment-form input[type="text"],
.single-post .comment-form input[type="email"],
.single-post .comment-form input[type="url"],
.single-post .comment-form textarea {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-family: inherit;
    font-size: 14.5px;
    color: var(--dark-color);
    background-color: #ffffff;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
}

.single-post .comment-form input[type="text"]:focus,
.single-post .comment-form input[type="email"]:focus,
.single-post .comment-form input[type="url"]:focus,
.single-post .comment-form textarea:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 4px rgba(46, 125, 50, 0.1);
    outline: none;
}

.single-post .comment-form-comment textarea {
    min-height: 120px;
    resize: vertical;
}

.single-post .comment-form .submit {
    background-color: var(--primary-color);
    color: #ffffff;
    border: none;
    border-radius: 8px;
    padding: 12px 24px;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 13.5px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    transition: background-color 0.2s, transform 0.15s, box-shadow 0.2s;
    box-shadow: 0 4px 10px rgba(46, 125, 50, 0.1);
    align-self: flex-start;
}

.single-post .comment-form .submit:hover {
    background-color: var(--primary-hover);
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(46, 125, 50, 0.2);
}

/* --- Modern Events Calendar (MEC) Overrides (Unificación con la Web en General) --- */

/* Contenedor general */
.mec-wrap {
    font-family: var(--font-body) !important;
}

/* Tarjeta/Artículo del evento */
.mec-wrap .mec-event-article {
    background-color: #ffffff !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02) !important;
    padding: 0 !important; /* Mantiene la cabecera y la imagen flush con los bordes de la tarjeta */
    margin-bottom: 30px !important;
    transition: transform 0.25s ease, box-shadow 0.25s ease !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
}

.mec-wrap .mec-event-article:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.05) !important;
}

/* Cabecera de la tarjeta (Modern Style) */
.mec-wrap .event-grid-modern-head {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-hover) 100%) !important;
    border-top-left-radius: 12px !important;
    border-top-right-radius: 12px !important;
    padding: 20px !important;
    position: relative !important;
}

.mec-wrap .event-grid-modern-head,
.mec-wrap .event-grid-modern-head * {
    color: #ffffff !important;
}

.mec-wrap .event-grid-modern-head .mec-event-date,
.mec-wrap .event-grid-modern-head .mec-event-month,
.mec-wrap .event-grid-modern-head .mec-event-day {
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
}


.mec-wrap .event-grid-modern-head .mec-event-day {
    font-size: 28px !important;
    line-height: 1.1 !important;
    margin-top: 4px !important;
}

.mec-wrap .event-grid-modern-head .mec-event-date {
    font-size: 13px !important;
    letter-spacing: 0.05em !important;
}

.mec-wrap .event-grid-modern-head .mec-event-month {
    font-size: 12px !important;
    opacity: 0.95 !important;
}

.mec-wrap .event-grid-modern-head .mec-event-loc-place {
    color: rgba(255, 255, 255, 0.9) !important;
    font-family: var(--font-body) !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    margin-top: 4px !important;
}

.mec-wrap .event-grid-modern-head i {
    color: #ffffff !important;
}

/* Imagen del evento */
.mec-wrap .mec-event-image {
    margin: 0 !important;
    border-bottom: 1px solid var(--border-color) !important;
    overflow: hidden !important;
}

.mec-wrap .mec-event-image img {
    border-radius: 0 !important;
    transition: transform 0.4s ease !important;
}

.mec-wrap .mec-event-article:hover .mec-event-image img {
    transform: scale(1.04) !important;
}

/* Contenido intermedio */
.mec-wrap .mec-event-content {
    padding: 20px 20px 10px 20px !important;
    flex-grow: 1 !important;
}

/* Título del evento */
.mec-wrap .mec-event-title {
    font-family: var(--font-heading) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    margin: 0 0 10px 0 !important;
    line-height: 1.35 !important;
    letter-spacing: -0.01em !important;
}

.mec-wrap .mec-event-title a {
    color: var(--dark-color) !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.mec-wrap .mec-event-title a:hover {
    color: var(--primary-color) !important;
}

/* Fecha y hora del evento en el contenido */
.mec-wrap .mec-event-date,
.mec-wrap .mec-event-date i {
    color: var(--primary-color) !important;
    font-family: var(--font-heading) !important;
    font-weight: 600 !important;
    font-size: 13.5px !important;
}

.mec-wrap .mec-event-date i {
    margin-right: 6px !important;
}

/* Ubicación y detalles */
.mec-wrap .mec-grid-event-location,
.mec-wrap .mec-grid-event-location i {
    color: var(--text-muted) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    margin-bottom: 6px !important;
}

.mec-wrap .mec-grid-event-location i {
    margin-right: 4px !important;
}

.mec-wrap .mec-event-content p {
    color: #475569 !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    margin-top: 8px !important;
    margin-bottom: 0 !important;
}

/* Pie de tarjeta (Event Footer) */
.mec-wrap .mec-event-footer {
    padding: 0 20px 20px 20px !important;
    border-top: none !important;
    display: block !important;
}

/* Botón VER DETALLE (Acción Principal de la Tarjeta) */
.mec-wrap .mec-event-detail a,
.mec-wrap .mec-booking-button,
.mec-wrap .mec-event-footer a.mec-booking-button {
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    padding: 11px 16px !important;
    text-decoration: none !important;
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    border: none !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    box-sizing: border-box !important;
    transition: background-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease !important;
    box-shadow: 0 4px 10px rgba(46, 125, 50, 0.1) !important;
}

.mec-wrap .mec-event-detail a:hover,
.mec-wrap .mec-booking-button:hover,
.mec-wrap .mec-event-footer a.mec-booking-button:hover {
    background-color: var(--primary-hover) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 14px rgba(46, 125, 50, 0.2) !important;
}

/* Ocultar barra de compartir en el listado para mejor coherencia visual */
.mec-wrap .mec-event-sharing-wrap {
    display: none !important;
}

/* Buscador / Filtro de Eventos (Search Form) */
.mec-wrap .mec-search-form {
    background-color: #ffffff !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    margin-bottom: 30px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.01) !important;
}

.mec-wrap .mec-search-form select,
.mec-wrap .mec-search-form input[type="text"],
.mec-wrap .mec-search-form input[type="search"] {
    background-color: #ffffff !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    height: auto !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    color: var(--dark-color) !important;
    outline: none !important;
    transition: border-color 0.2s, box-shadow 0.2s !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.mec-wrap .mec-search-form select:focus,
.mec-wrap .mec-search-form input[type="text"]:focus,
.mec-wrap .mec-search-form input[type="search"]:focus {
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.1) !important;
}

.mec-wrap .mec-search-form label {
    font-family: var(--font-heading) !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    color: var(--dark-color) !important;
    margin-bottom: 6px !important;
    display: block !important;
}

/* Botón "Ver más" (Paginación) */
.mec-wrap .mec-load-more-button {
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    padding: 12px 28px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    border: none !important;
    transition: background-color 0.2s, transform 0.15s, box-shadow 0.2s !important;
    box-shadow: 0 4px 12px rgba(46, 125, 50, 0.1) !important;
    cursor: pointer !important;
}

.mec-wrap .mec-load-more-button:hover {
    background-color: var(--primary-hover) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 16px rgba(46, 125, 50, 0.2) !important;
}

/* Botón "Agregar Evento" (Gutenberg block button on this page) */
.wp-block-button__link.wp-element-button {
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    padding: 12px 24px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    transition: background-color 0.2s, transform 0.15s, box-shadow 0.2s !important;
    box-shadow: 0 4px 12px rgba(46, 125, 50, 0.1) !important;
    border: none !important;
    display: inline-block !important;
    text-decoration: none !important;
}

.wp-block-button__link.wp-element-button:hover {
    background-color: var(--primary-hover) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 16px rgba(46, 125, 50, 0.2) !important;
}

/* Iconos generales y decoraciones de MEC */
.mec-wrap i,
.mec-wrap .mec-color {
    color: var(--primary-color) !important;
}

/* Etiquetas o badges de categoría de evento (Estilo píldora premium) */
.mec-wrap .mec-event-category a {
    background-color: rgba(46, 125, 50, 0.08) !important; /* Fondo verde suave muy tenue */
    color: var(--primary-color) !important; /* Texto verde principal de alto contraste */
    font-family: var(--font-heading) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    border-radius: 50px !important; /* Píldora completamente redondeada */
    padding: 4px 14px !important;
    text-decoration: none !important;
    display: inline-block !important;
    transition: all 0.2s ease !important;
}

.mec-wrap .mec-event-category a:hover {
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
}


/* ==========================================================================
   FORMULARIO DE ENVÍO DESDE EL FRONTEND (MEC FES FORM)
   ========================================================================== */

/* Contenedor Principal del Formulario */
.mec-fes-form {
    font-family: inherit !important;
    color: var(--dark-color) !important;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 !important;
    background: transparent !important; /* Elimina el fondo celeste semi-transparente por defecto de MEC */
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 30px !important;
}

/* Columnas: Contenido y Barra Lateral (Side-by-Side) */
.mec-fes-form-cntt {
    flex: 1 1 65% !important; /* Toma el 65% del ancho en pantallas grandes */
    max-width: 65% !important;
    width: auto !important;
    padding: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
}

.mec-fes-form-sdbr {
    flex: 1 1 30% !important; /* Toma el 30% del ancho en pantallas grandes */
    max-width: 32% !important;
    width: auto !important;
    padding: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
}

/* Responsividad para móviles y tablets */
@media (max-width: 960px) {
    .mec-fes-form {
        flex-direction: column !important;
        gap: 20px !important;
    }
    .mec-fes-form-cntt,
    .mec-fes-form-sdbr {
        flex: 1 1 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}

/* Cajas de secciones del formulario (MEC Box y sub-cajas) */
.mec-fes-form .mec-box,
.mec-fes-form .box,
.mec-fes-form .mec-event-tab-content,
.mec-fes-form .mec-meta-box-fields {
    background-color: #ffffff !important; /* Fondo blanco limpio */
    border: 1px solid var(--border-color) !important;
    border-radius: 12px !important;
    padding: 24px !important;
    margin-bottom: 25px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02) !important;
    box-sizing: border-box !important;
}

/* Títulos de secciones */
.mec-fes-form .mec-title,
.mec-fes-form h4,
.mec-fes-form h5.mec-title,
.mec-fes-form .mec-form-subtitle {
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    color: var(--dark-color) !important; /* Texto oscuro de alto contraste */
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    padding: 0 0 10px 0 !important;
    border-bottom: 2px solid #f1f5f9 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    background: transparent !important;
}

/* Filas y Etiquetas del Formulario (Contraste Mejorado) */
.mec-fes-form .mec-form-row {
    margin-bottom: 20px !important;
    position: relative !important;
    box-sizing: border-box !important;
}

.mec-fes-form label,
.mec-fes-form span.mec-label,
.mec-fes-form .mec-form-row label {
    font-family: var(--font-heading) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    color: var(--dark-color) !important; /* Forzar color oscuro para que sea legible */
    margin-bottom: 6px !important;
    display: inline-block !important;
    line-height: normal !important;
}

/* Corregir texto explicativo / descripciones */
.mec-fes-form .description,
.mec-fes-form p.description,
.mec-fes-form .mec-meta-box-fields,
.mec-fes-form .mec-meta-box-fields * {
    color: #475569 !important; /* Gris oscuro para textos explicativos */
    font-size: 13px !important;
    line-height: 1.5 !important;
}

.mec-fes-form .mec-required {
    color: #ef4444 !important;
    font-weight: bold !important;
    margin-left: 3px !important;
}

/* Inputs, Textareas y Selects (Unificación Estética) */
.mec-fes-form input[type="text"],
.mec-fes-form input[type="email"],
.mec-fes-form input[type="number"],
.mec-fes-form input[type="url"],
.mec-fes-form input[type="date"],
.mec-fes-form select,
.mec-fes-form textarea {
    padding: 10px 14px !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 8px !important;
    background-color: #ffffff !important;
    color: var(--dark-color) !important;
    font-size: 14px !important;
    font-family: inherit !important;
    box-sizing: border-box !important;
    box-shadow: none !important; /* Elimina la sombra celeste interior por defecto de MEC */
    transition: border-color 0.2s, box-shadow 0.2s, background-color 0.2s !important;
    height: auto !important;
    line-height: normal !important;
}

/* Ancho del 100% solo para inputs que NO sean de columnas específicas del grid de MEC */
.mec-fes-form input[type="text"]:not([class*="mec-col-"]),
.mec-fes-form input[type="email"]:not([class*="mec-col-"]),
.mec-fes-form input[type="number"]:not([class*="mec-col-"]),
.mec-fes-form input[type="url"]:not([class*="mec-col-"]),
.mec-fes-form input[type="date"]:not([class*="mec-col-"]),
.mec-fes-form select:not([class*="mec-col-"]),
.mec-fes-form textarea:not([class*="mec-col-"]) {
    width: 100% !important;
}

/* Enfoque (Focus) de Inputs */
.mec-fes-form input[type="text"]:focus,
.mec-fes-form input[type="email"]:focus,
.mec-fes-form input[type="number"]:focus,
.mec-fes-form input[type="url"]:focus,
.mec-fes-form input[type="date"]:focus,
.mec-fes-form select:focus,
.mec-fes-form textarea:focus {
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 4px rgba(46, 125, 50, 0.1) !important;
    outline: none !important;
    background-color: #ffffff !important;
}

/* Ajustes de columnas y adaptabilidad del formulario FES */
@media (min-width: 768px) {
    /* Mantener el diseño horizontal para inputs con clases de columnas de MEC en escritorio (ej. Horarios) */
    .mec-fes-form input[class*="mec-col-"],
    .mec-fes-form select[class*="mec-col-"] {
        display: inline-block !important;
        float: left !important;
        margin-right: 1.5% !important;
    }

    /* Anchos de columnas de MEC en el formulario en escritorio */
    .mec-fes-form .mec-col-1  { width: 6.8% !important; }
    .mec-fes-form .mec-col-2  { width: 15.1% !important; }
    .mec-fes-form .mec-col-3  { width: 23.5% !important; }
    .mec-fes-form .mec-col-4  { width: 31.8% !important; }
    .mec-fes-form .mec-col-5  { width: 40.1% !important; }
    .mec-fes-form .mec-col-6  { width: 48.5% !important; }
    .mec-fes-form .mec-col-7  { width: 56.8% !important; }
    .mec-fes-form .mec-col-8  { width: 65.1% !important; }
    .mec-fes-form .mec-col-9  { width: 73.5% !important; }
    .mec-fes-form .mec-col-10 { width: 81.8% !important; }
    .mec-fes-form .mec-col-11 { width: 90.1% !important; }
    .mec-fes-form .mec-col-12 { width: 100% !important; }
}

@media (max-width: 767px) {
    /* Apilar columnas en pantallas móviles para que los campos no se achiquen */
    .mec-fes-form input[class*="mec-col-"],
    .mec-fes-form select[class*="mec-col-"] {
        display: block !important;
        float: none !important;
        margin-right: 0 !important;
        width: 100% !important;
    }
    
    .mec-fes-form .mec-col-1,
    .mec-fes-form .mec-col-2,
    .mec-fes-form .mec-col-3,
    .mec-fes-form .mec-col-4,
    .mec-fes-form .mec-col-5,
    .mec-fes-form .mec-col-6,
    .mec-fes-form .mec-col-7,
    .mec-fes-form .mec-col-8,
    .mec-fes-form .mec-col-9,
    .mec-fes-form .mec-col-10,
    .mec-fes-form .mec-col-11,
    .mec-fes-form .mec-col-12 {
        width: 100% !important;
        float: none !important;
        margin-right: 0 !important;
    }
    
    /* Disminuir padding de tarjetas FES en móvil */
    .mec-fes-form .mec-box,
    .mec-fes-form .box,
    .mec-fes-form .mec-event-tab-content,
    .mec-fes-form .mec-meta-box-fields {
        padding: 16px !important;
        margin-bottom: 18px !important;
    }
}

/* Ajustes para select */
.mec-fes-form select {
    appearance: none !important;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23475569%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    background-size: 16px !important;
    padding-right: 40px !important;
}

/* Listas de Checkboxes y Radios (Categorías, Etiquetas) */
.mec-fes-form ul#mec_bfixed_form_fields,
.mec-fes-form ul#mec_reg_form_fields,
.mec-fes-form .mec-form-row ul {
    background: transparent !important; /* Quita el fondo celeste de las listas */
    border: none !important;
    padding: 0 !important;
    margin: 10px 0 !important;
}

.mec-fes-form ul#mec_bfixed_form_fields li,
.mec-fes-form ul#mec_reg_form_fields li,
.mec-fes-form .mec-form-row ul li {
    background: transparent !important; /* Quita el fondo de los items */
    border: none !important;
    padding: 6px 0 !important;
    margin: 0 !important;
    list-style: none !important;
    clear: both !important;
}

.mec-fes-form input[type="checkbox"],
.mec-fes-form input[type="radio"] {
    margin: 4px 8px 0 0 !important;
    float: left !important;
    width: auto !important;
    height: auto !important;
}

/* Forzar que las etiquetas junto a checkboxes/radios no sean bloques */
.mec-fes-form input[type="checkbox"] + label,
.mec-fes-form input[type="radio"] + label,
.mec-fes-form label.label-checkbox {
    display: inline-block !important;
    font-weight: 500 !important;
    margin-bottom: 0 !important;
    vertical-align: middle !important;
    cursor: pointer !important;
    color: var(--dark-color) !important;
}

/* Área del editor de texto de WordPress */
.mec-fes-form .wp-editor-wrap {
    border: 1px solid var(--border-color) !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

.mec-fes-form .wp-editor-container {
    border: none !important;
}

.mec-fes-form .quicktags-toolbar {
    background-color: #f8fafc !important;
    border-bottom: 1px solid var(--border-color) !important;
    padding: 8px !important;
}

.mec-fes-form .wp-editor-area {
    padding: 12px !important;
    border-radius: 0 0 8px 8px !important;
    font-family: inherit !important;
    color: var(--dark-color) !important;
}

/* Botón de envío principal (Submit Event) */
.mec-fes-submit-wide {
    text-align: right !important;
    margin-top: 30px !important;
    width: 100% !important;
    clear: both !important;
}

.mec-fes-form .mec-fes-sub-button {
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    padding: 14px 36px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    border: none !important;
    transition: background-color 0.2s, transform 0.15s, box-shadow 0.2s !important;
    box-shadow: 0 4px 12px rgba(46, 125, 50, 0.15) !important;
    cursor: pointer !important;
    display: inline-block !important;
}

.mec-fes-form .mec-fes-sub-button:hover {
    background-color: var(--primary-hover) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 16px rgba(46, 125, 50, 0.25) !important;
}

/* Botones secundarios (Añadir hora, locaciones, etc.) */
.mec-fes-form .mec-add-hourly-schedule-button,
.mec-fes-form .mec-add-hourly-schedule-day-button,
.mec-fes-form .mec-hourly-schedule-remove-day-button,
.mec-fes-form button.mec-dash-remove-btn,
.mec-fes-form button.mec_fes_location_remove_image_button,
.mec-fes-form button.mec_fes_organizer_remove_image_button {
    background-color: #f1f5f9 !important;
    color: #334155 !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 6px !important;
    padding: 8px 16px !important;
    font-family: var(--font-heading) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
    display: inline-block !important;
    margin-right: 8px !important;
}

.mec-fes-form .mec-add-hourly-schedule-button:hover,
.mec-fes-form .mec-add-hourly-schedule-day-button:hover {
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
    border-color: var(--primary-color) !important;
}

.mec-fes-form .mec-hourly-schedule-remove-day-button:hover,
.mec-fes-form button.mec-dash-remove-btn:hover {
    background-color: #ef4444 !important;
    color: #ffffff !important;
    border-color: #ef4444 !important;
}

/* Secciones de fecha y hora */
.mec-fes-datetime .time-dv {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    float: left !important;
}

/* Controles de carga de imágenes (Thumbnail Upload) */
.mec-thumbnail-row {
    background-color: #f8fafc !important;
    border: 1px dashed var(--border-color) !important;
    border-radius: 8px !important;
    padding: 20px !important;
    text-align: center !important;
}

/* Mensajes de notificación (Éxito y Error) */
#mec_fes_form_message,
.mec-error {
    border-radius: 8px !important;
    padding: 16px 20px !important;
    font-family: var(--font-heading) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    margin-bottom: 24px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    clear: both !important;
}

#mec_fes_form_message.mec-success {
    background-color: #f0fdf4 !important;
    border: 1px solid #bbf7d0 !important;
    color: #166534 !important;
}

#mec_fes_form_message.mec-error,
.mec-error {
    background-color: #fef2f2 !important;
    border: 1px solid #fca5a5 !important;
    color: #991b1b !important;
}

/* Limitar altura y agregar scroll al listado de categorías en FES */
.mec-fes-form .mec-fes-category {
    box-sizing: border-box !important;
}

.mec-fes-form .mec-fes-category ul {
    max-height: 200px !important;
    overflow-y: auto !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    background-color: #f8fafc !important;
}

.mec-fes-form .mec-fes-category ul::-webkit-scrollbar {
    width: 6px !important;
}

.mec-fes-form .mec-fes-category ul::-webkit-scrollbar-track {
    background: #f1f5f9 !important;
    border-radius: 8px !important;
}

.mec-fes-form .mec-fes-category ul::-webkit-scrollbar-thumb {
    background: #cbd5e1 !important;
    border-radius: 8px !important;
}

.mec-fes-form .mec-fes-category ul::-webkit-scrollbar-thumb:hover {
    background: #94a3b8 !important;
}

/* ==========================================================================
   PÁGINA DE DETALLE DE EVENTO ÚNICO (SINGLE EVENT PAGE)
   ========================================================================== */

/* Contenedor principal de la estructura de evento único */
.mec-single-event.mec-single-modern {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    gap: 0 !important;
    margin-top: 20px !important;
}

/* Columna de Contenido (Izquierda en escritorio, ocupa 65%) */
.mec-single-event.mec-single-modern .col-md-8 {
    order: 1 !important;
    flex: 0 0 65% !important;
    max-width: 65% !important;
    width: 65% !important;
    float: none !important;
    box-sizing: border-box !important;
}

/* Columna de Barra Lateral (Derecha en escritorio, ocupa 32%) */
.mec-single-event.mec-single-modern .col-md-4 {
    order: 2 !important;
    flex: 0 0 32% !important;
    max-width: 32% !important;
    width: 32% !important;
    float: none !important;
    box-sizing: border-box !important;
}

/* Responsividad para móviles: apilamiento estándar */
@media (max-width: 960px) {
    .mec-single-event.mec-single-modern {
        flex-direction: column !important;
        gap: 20px !important;
    }
    .mec-single-event.mec-single-modern .col-md-8,
    .mec-single-event.mec-single-modern .col-md-4 {
        order: initial !important;
        flex: 1 1 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}

/* Tarjetas de la barra lateral (Widgets / Información general) */
.mec-single-event .mec-frontbox {
    background-color: #ffffff !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 12px !important;
    padding: 24px !important;
    margin-bottom: 25px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02) !important;
    box-sizing: border-box !important;
    border-left: 4px solid var(--primary-color) !important; /* Línea de acento verde principal */
}

/* Títulos de las tarjetas de barra lateral */
.mec-single-event .mec-frontbox h3,
.mec-single-event .mec-frontbox h4 {
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    color: var(--dark-color) !important;
    margin-top: 0 !important;
    margin-bottom: 15px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
    border-bottom: 1px solid #f1f5f9 !important;
    padding-bottom: 8px !important;
}

/* Contenido de texto y enlaces de las tarjetas */
.mec-single-event .mec-frontbox ul,
.mec-single-event .mec-frontbox dl,
.mec-single-event .mec-frontbox p {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 13.5px !important;
    color: #475569 !important; /* Gris oscuro legible */
    line-height: 1.5 !important;
}

.mec-single-event .mec-frontbox li,
.mec-single-event .mec-frontbox dd {
    margin-bottom: 10px !important;
    list-style: none !important;
}

.mec-single-event .mec-frontbox li:last-child,
.mec-single-event .mec-frontbox dd:last-child {
    margin-bottom: 0 !important;
}

.mec-single-event .mec-frontbox a {
    color: var(--primary-color) !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    transition: color 0.2s ease !important;
}

.mec-single-event .mec-frontbox a:hover {
    color: var(--primary-hover) !important;
}

/* Imagen del organizador/locación en la tarjeta */
.mec-single-event .mec-frontbox img {
    border-radius: 8px !important;
    margin-bottom: 15px !important;
    border: 1px solid var(--border-color) !important;
}

/* Cinta de Fecha y Hora (Ribbon) */
.mec-single-event-bar {
    background-color: #f8fafc !important; /* Fondo gris-azul muy suave */
    border: 1px solid var(--border-color) !important;
    border-radius: 10px !important;
    padding: 20px !important;
    margin-bottom: 25px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    align-items: center !important;
    box-sizing: border-box !important;
}

.mec-single-event-bar > div {
    flex: 1 1 200px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.mec-single-event-bar i {
    color: var(--primary-color) !important;
    font-size: 18px !important;
    margin-right: 8px !important;
    vertical-align: middle !important;
}

.mec-single-event-bar h3 {
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    color: #475569 !important;
    text-transform: uppercase !important;
    margin: 0 0 4px 0 !important;
    letter-spacing: 0.05em !important;
}

.mec-single-event-bar dd {
    margin: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    color: var(--dark-color) !important;
}

/* Título del evento */
.mec-single-title {
    font-family: var(--font-heading) !important;
    font-size: 32px !important;
    font-weight: 800 !important;
    color: var(--dark-color) !important;
    margin-top: 0 !important;
    margin-bottom: 18px !important;
    line-height: 1.2 !important;
    letter-spacing: -0.02em !important;
}

/* Cuerpo de la descripción */
.mec-single-event-description.mec-events-content {
    font-family: var(--font-body) !important;
    font-size: 15.5px !important;
    line-height: 1.65 !important;
    color: #334155 !important; /* Gris carbón para óptima lectura */
    margin-bottom: 30px !important;
}

.mec-single-event-description.mec-events-content p {
    margin-bottom: 16px !important;
}

/* Módulo de Compartir en Redes Sociales (Social Share) */
.mec-single-modern .mec-events-meta-group-social {
    background-color: #ffffff !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 10px !important;
    padding: 16px 20px !important;
    margin-bottom: 25px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 15px !important;
}

.mec-single-modern .mec-events-meta-group-social h4 {
    margin: 0 !important;
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    color: var(--dark-color) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

/* Módulo de Exportar Evento */
.mec-events-meta-group-export,
.mec-single-modern .mec-event-exporting {
    background-color: #ffffff !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 10px !important;
    padding: 16px 20px !important;
    margin-bottom: 25px !important;
    box-sizing: border-box !important;
}

.mec-single-modern .mec-event-exporting .mec-export-details {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    align-items: center !important;
    margin-top: 10px !important;
}

.mec-single-modern .mec-event-exporting .mec-export-details a {
    background-color: #ffffff !important;
    color: var(--dark-color) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 6px !important;
    padding: 8px 16px !important;
    font-family: var(--font-heading) !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    box-shadow: none !important;
}

.mec-single-modern .mec-event-exporting .mec-export-details a:hover {
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
    border-color: var(--primary-color) !important;
}

/* Módulo de Cuenta Regresiva (Countdown) */
.mec-events-meta-group-countdown {
    background-color: #ffffff !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 12px !important;
    padding: 24px !important;
    margin-bottom: 25px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.01) !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.mec-events-meta-group-countdown h4 {
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    color: var(--dark-color) !important;
    text-transform: uppercase !important;
    margin-top: 0 !important;
    margin-bottom: 15px !important;
    letter-spacing: 0.05em !important;
}

.mec-events-meta-group-countdown .mec-countdown-item {
    background-color: #f8fafc !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    min-width: 60px !important;
    display: inline-block !important;
    margin: 0 4px !important;
}

.mec-events-meta-group-countdown .mec-countdown-item span {
    font-family: var(--font-heading) !important;
    font-weight: 800 !important;
    font-size: 24px !important;
    color: var(--primary-color) !important;
    display: block !important;
    line-height: 1.1 !important;
}

.mec-events-meta-group-countdown .mec-countdown-item label {
    font-size: 10px !important;
    font-weight: 600 !important;
    color: #64748b !important;
    text-transform: uppercase !important;
    margin: 4px 0 0 0 !important;
    display: block !important;
}



/* --- SECCIÓN DE AGENDA DE EVENTOS EN PORTADA --- */
.lomas-home-events-section {
    background-color: #ffffff;
    border-radius: 12px;
    border: 1px solid var(--border-color);
    padding: 30px;
    margin-top: 10px;
    margin-bottom: 35px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.01);
}

.lomas-home-events-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 25px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--border-color);
}

.lomas-home-events-title {
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 !important;
    color: var(--dark-color);
}

.lomas-home-events-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

@media (max-width: 768px) {
    .lomas-home-events-section {
        padding: 15px;
    }
    .lomas-home-events-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
}

.lomas-home-event-card {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--border-color);
    border-radius: 10px;
    overflow: hidden;
    background-color: #f8fafc;
    transition: transform 0.2s, box-shadow 0.2s;
}

.lomas-home-event-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.03);
}

.lomas-home-event-img {
    height: 145px;
    background-size: cover;
    background-position: center;
    position: relative;
}

.lomas-home-event-body {
    padding: 18px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.lomas-home-event-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
}

.lomas-home-event-date-badge {
    background-color: var(--primary-color);
    color: #ffffff;
    font-family: var(--font-heading);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 4px 8px;
    border-radius: 4px;
    line-height: 1;
}

.lomas-home-event-time {
    font-size: 11px;
    color: var(--accent-color);
    font-weight: 700;
}

.lomas-home-event-title {
    font-family: var(--font-heading);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 10px 0 !important;
}

.lomas-home-event-title a {
    color: var(--dark-color);
    text-decoration: none;
    transition: color 0.15s;
}

.lomas-home-event-title a:hover {
    color: var(--primary-color);
}

.lomas-home-event-location {
    font-size: 12px;
    color: var(--text-muted);
    font-weight: 500;
    margin-top: auto;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* --- PUBLICIDADES EN SIDEBAR (Advanced Ads Widgets) --- */
.sidebar .widget_advanced_ads,
.sidebar .lomas-sidebar-ad,
.sidebar .advads-ad {
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    text-align: center;
    margin-bottom: 25px !important;
}

.sidebar .widget_advanced_ads img,
.sidebar .lomas-sidebar-ad img,
.sidebar .advads-ad img {
    max-width: 100%;
    height: auto;
    display: inline-block;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
    transition: transform 0.2s ease;
}

.sidebar .widget_advanced_ads img:hover,
.sidebar .lomas-sidebar-ad img:hover,
.sidebar .advads-ad img:hover {
    transform: scale(1.01);
}

/* --- WIDGETS DE CONTENIDO DE LA BARRA LATERAL (Últimas y Populares) --- */
.lomas-sidebar-widget {
    background-color: #ffffff;
    border-radius: 12px;
    padding: 20px;
    border: 1px solid var(--border-color);
    margin-bottom: 25px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.01);
}

.lomas-sidebar-widget-title {
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0 0 15px 0 !important;
    padding-bottom: 6px;
    border-bottom: 2px solid var(--primary-color);
    display: inline-block;
    color: var(--dark-color);
}

.lomas-sidebar-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.lomas-sidebar-item {
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 12px;
}

.lomas-sidebar-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.lomas-sidebar-thumb {
    width: 65px;
    height: 65px;
    flex-shrink: 0;
    border-radius: 6px;
    overflow: hidden;
    background-color: #f1f5f9;
}

.lomas-sidebar-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.lomas-sidebar-item-body {
    flex-grow: 1;
    min-width: 0;
}

.lomas-sidebar-item-title {
    font-family: var(--font-heading);
    font-size: 13.5px;
    font-weight: 600;
    line-height: 1.35;
    margin: 0 0 4px 0 !important;
}

.lomas-sidebar-item-title a {
    color: var(--dark-color) !important;
    text-decoration: none !important;
    transition: color 0.15s;
}

.lomas-sidebar-item-title a:hover {
    color: var(--primary-color) !important;
}

.lomas-sidebar-item-meta {
    font-size: 11px;
    color: var(--text-muted);
    font-weight: 500;
    display: block;
}

/* --- REJILLA DE ARCHIVOS (Category, Archive, Tag, Date Pages) y Feed Paginado --- */
.archive .site-main,
.category .site-main,
.tag .site-main,
.date .site-main,
.paged .lomas-feed-list {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 30px !important;
    padding: 0 !important;
}

/* Ensure headers and pagination span full width */
.archive .page-header, .category .page-header, .tag .page-header, .date .page-header,
.archive .nav-links, .category .nav-links, .tag .nav-links, .date .nav-links,
.archive .paging-navigation, .category .paging-navigation,
.paged .lomas-pagination {
    grid-column: 1 / -1 !important;
}

@media (max-width: 768px) {
    .archive .site-main,
    .category .site-main,
    .tag .site-main,
    .date .site-main,
    .paged .lomas-feed-list {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
}

/* Tarjetas de artículos individuales (Archivos) */
.archive article,
.category article,
.tag article,
.date article {
    margin: 0 !important;
    background: #ffffff !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.01) !important;
    transition: transform 0.2s, box-shadow 0.2s !important;
}

.archive article:hover,
.category article:hover,
.tag article:hover,
.date article:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.03) !important;
}

.archive .inside-article,
.category .inside-article,
.tag .inside-article,
.date .inside-article {
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

/* Imagen Destacada del Post */
.archive .post-image,
.category .post-image,
.tag .post-image,
.date .post-image {
    order: 1 !important;
    margin: 0 !important;
    height: 240px !important;
    overflow: hidden !important;
    border-bottom: 1px solid var(--border-color) !important;
}

.archive .post-image img,
.category .post-image img,
.tag .post-image img,
.date .post-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Contenedor del header (Título y fecha) */
.archive .entry-header,
.category .entry-header,
.tag .entry-header,
.date .entry-header {
    display: contents !important; /* Promueve título y meta a hijos directos de inside-article */
}

/* Si las categorías están en el pie de página (footer) de la tarjeta, posicionarlo arriba del título */
.archive footer.entry-meta,
.category footer.entry-meta,
.tag footer.entry-meta,
.date footer.entry-meta {
    order: 2 !important; /* Renderiza entre imagen (1) y título (3) */
    display: block !important;
    padding: 20px 24px 0 24px !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
}

.archive footer.entry-meta .cat-links,
.category footer.entry-meta .cat-links {
    display: block !important;
}

/* Formatear el badge de categorías */
.archive .cat-links a,
.category .cat-links a,
.tag .cat-links a,
.date .cat-links a {
    display: inline-block !important;
    background-color: #ff3f00 !important;
    color: #ffffff !important;
    font-family: var(--font-heading) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 4px 10px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    line-height: 1 !important;
}

.archive .cat-links a:hover,
.category .cat-links a:hover,
.tag .cat-links a:hover,
.date .cat-links a:hover {
    background-color: #e03700 !important;
}

/* Título de la nota */
.archive .entry-title,
.category .entry-title,
.tag .entry-title,
.date .entry-title {
    order: 3 !important;
    font-family: var(--font-heading) !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    margin: 0 0 10px 0 !important;
    padding: 10px 24px 0 24px !important;
}

.archive .entry-title a,
.category .entry-title a,
.tag .entry-title a,
.date .entry-title a {
    color: var(--dark-color) !important;
    text-decoration: none !important;
    transition: color 0.15s !important;
}

.archive .entry-title a:hover,
.category .entry-title a:hover,
.tag .entry-title a:hover,
.date .entry-title a:hover {
    color: var(--primary-color) !important;
}

/* Primeras líneas de texto (Extracto o Excerpt) */
.archive .entry-summary,
.category .entry-summary,
.tag .entry-summary,
.date .entry-summary {
    order: 4 !important;
    display: block !important;
    font-size: 14px !important;
    color: #475569 !important;
    line-height: 1.55 !important;
    margin: 0 0 14px 0 !important;
    padding: 0 24px !important;
}

.archive .entry-summary p,
.category .entry-summary p {
    margin: 0 !important;
}

/* Metadatos (Fecha) */
.archive .entry-meta,
.category .entry-meta,
.tag .entry-meta,
.date .entry-meta {
    order: 5 !important;
    margin: 0 !important;
    padding: 0 24px 20px 24px !important;
    background: transparent !important;
    border: none !important;
    font-size: 13px !important;
    color: var(--text-muted) !important;
    font-family: var(--font-body) !important;
    display: flex !important;
    align-items: center !important;
    margin-top: auto !important; /* Empuja la fecha al fondo de la tarjeta */
}

.archive .posted-on,
.category .posted-on,
.tag .posted-on,
.date .posted-on {
    display: inline-flex !important;
    align-items: center !important;
    color: var(--text-muted) !important;
}

/* Icono de calendario ante la fecha */
.archive .posted-on:before,
.category .posted-on:before,
.tag .posted-on:before,
.date .posted-on:before {
    content: "🗓" !important;
    font-size: 13px !important;
    margin-right: 6px !important;
}

/* Ocultar "por" y el autor cuando está desactivado */
.archive .byline,
.category .byline,
.tag .byline,
.date .byline,
.archive .author,
.category .author {
    display: none !important;
}

/* Ocultar elementos sobrantes en la tarjeta para mantenerla limpia */
.archive .tags-links, .category .tags-links,
.archive footer.entry-meta .tags-links, .category footer.entry-meta .tags-links,
.archive .comments-link, .category .comments-link {
    display: none !important;
}


/* --- ESTILOS PARA EL FEED ACTIVO PAGINADO (Home page/2/) --- */
.paged .lomas-feed-item {
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.01) !important;
    padding: 0 !important;
    margin: 0 !important;
    transition: transform 0.2s, box-shadow 0.2s !important;
    height: 100% !important;
}

.paged .lomas-feed-item:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.03) !important;
}

.paged .lomas-feed-thumb {
    width: 100% !important;
    height: 240px !important;
    border-radius: 0 !important;
    border-bottom: 1px solid var(--border-color) !important;
}

.paged .lomas-feed-body {
    padding: 20px 24px 20px 24px !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}

.paged .lomas-feed-meta {
    order: 1 !important;
    margin-bottom: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
}

.paged .lomas-feed-cat {
    display: inline-block !important;
    background-color: #ff3f00 !important; /* Badge naranja */
    color: #ffffff !important;
    font-family: var(--font-heading) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 4px 10px !important;
    border-radius: 4px !important;
    line-height: 1 !important;
}

.paged .lomas-feed-item-title {
    order: 2 !important;
    font-family: var(--font-heading) !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    margin: 0 0 10px 0 !important;
}

.paged .lomas-feed-item-title a {
    color: var(--dark-color) !important;
    text-decoration: none !important;
    transition: color 0.15s !important;
}

.paged .lomas-feed-item-title a:hover {
    color: var(--primary-color) !important;
}

.paged .lomas-feed-excerpt {
    order: 3 !important;
    font-size: 14px !important;
    color: #475569 !important;
    line-height: 1.55 !important;
    margin: 0 0 14px 0 !important;
}

.paged .lomas-feed-time {
    order: 4 !important;
    font-size: 13px !important;
    color: var(--text-muted) !important;
    font-family: var(--font-body) !important;
    display: inline-flex !important;
    align-items: center !important;
    margin-top: auto !important;
    font-weight: 500 !important;
}

.paged .lomas-feed-time:before {
    content: "🗓" !important;
    font-size: 13px !important;
    margin-right: 6px !important;
}


/* --- PAGINACIÓN COHERENTE Y UNIFICADA (Home y Archivos) --- */
.nav-links, .lomas-pagination {
    grid-column: 1 / -1 !important;
    margin-top: 35px !important;
    display: flex !important;
    justify-content: center !important;
    gap: 6px !important;
    clear: both !important;
}

.nav-links .page-numbers, .lomas-pagination .page-numbers {
    padding: 8px 16px !important;
    background: #f1f5f9 !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    color: var(--dark-color) !important;
    font-family: var(--font-heading) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    transition: background 0.2s, color 0.2s !important;
}

.nav-links .page-numbers:hover,
.lomas-pagination .page-numbers:hover,
.nav-links .page-numbers.current,
.lomas-pagination .page-numbers.current {
    background: var(--primary-color) !important;
    color: #ffffff !important;
}

/* ==========================================================================
   NUEVAS OPTIMIZACIONES DE LA AGENDA Y EVENTOS (MEC)
   ========================================================================== */

/* 1. Espaciado Above-the-Fold en la Página de Agenda */
.page-id-31236 .site-content {
    padding-top: 15px !important;
}
.page-id-31236 .entry-header {
    margin-bottom: 10px !important;
}
.page-id-31236 .entry-title {
    font-size: 28px !important;
    margin-bottom: 5px !important;
}
.page-id-31236 .wp-block-buttons {
    margin-bottom: 15px !important;
}
.page-id-31236 h2 {
    margin-top: 15px !important;
    margin-bottom: 10px !important;
    font-size: 20px !important;
}
/* Buscador / Filtro más compacto */
.page-id-31236 .mec-search-form {
    padding: 10px 15px !important;
    margin-bottom: 15px !important;
}
.page-id-31236 .mec-search-form select {
    padding: 8px 12px !important;
    font-size: 13.5px !important;
}

/* 2. Selector de Pestañas (Tabs) en la Página de Agenda */
.ldt-agenda-toggles {
    display: flex !important;
    gap: 12px !important;
    margin-bottom: 25px !important;
    border-bottom: 2px solid var(--border-color) !important;
    padding-bottom: 12px !important;
}
.ldt-agenda-toggle-btn {
    background: #ffffff !important;
    color: var(--dark-color) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 8px !important;
    padding: 10px 20px !important;
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.02) !important;
}
.ldt-agenda-toggle-btn i {
    font-size: 15px !important;
    color: var(--text-muted) !important;
}
.ldt-agenda-toggle-btn:hover {
    border-color: var(--primary-color) !important;
    color: var(--primary-color) !important;
}
.ldt-agenda-toggle-btn.active {
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
    border-color: var(--primary-color) !important;
    box-shadow: 0 4px 12px rgba(46, 125, 50, 0.15) !important;
}
.ldt-agenda-toggle-btn.active i {
    color: #ffffff !important;
}

/* Ocultar/Mostrar pestañas */
.ldt-agenda-tab-content {
    display: none !important;
}
.ldt-agenda-tab-content.active {
    display: block !important;
}

.ldt-calendar-heading {
    margin-bottom: 20px !important;
    font-size: 20px !important;
    font-family: var(--font-heading) !important;
    font-weight: 800 !important;
    color: var(--dark-color) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

/* 3. Estilización del Calendario Mensual (MEC) */
.mec-wrap .mec-calendar {
    background-color: #ffffff !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02) !important;
}
.mec-wrap .mec-calendar table.mec-table-calendar {
    border-collapse: collapse !important;
}
.mec-wrap .mec-calendar .mec-calendar-day-head {
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    color: var(--dark-color) !important;
    text-transform: uppercase !important;
    padding: 10px !important;
    border-bottom: 2px solid var(--border-color) !important;
}
.mec-wrap .mec-calendar .mec-table-dday {
    font-family: var(--font-heading) !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    color: var(--dark-color) !important;
}
.mec-wrap .mec-calendar .mec-selected-day {
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
    border-radius: 50% !important;
}
.mec-wrap .mec-calendar .mec-has-event {
    background-color: rgba(46, 125, 50, 0.08) !important;
    border-radius: 50% !important;
    color: var(--primary-color) !important;
}

/* 4. Contraste de Fecha en las Tarjetas del Listado */
.mec-wrap .event-grid-modern-head .mec-event-date,
.mec-wrap .event-grid-modern-head .mec-event-date i {
    color: #ffffff !important;
}

/* 5. Centrado del texto en los botones "Ver Detalle" */
.mec-wrap .mec-event-detail a,
.mec-wrap .mec-booking-button,
.mec-wrap .mec-event-footer a.mec-booking-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 42px !important;
    line-height: 1 !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
}

/* 6. Altura Equivalente de las Tarjetas en Fila y Alineación de Botones */
.mec-wrap .row {
    display: flex !important;
    flex-wrap: wrap !important;
}
.mec-wrap .row > [class*="col-"] {
    display: flex !important;
    flex-direction: column !important;
}
.mec-wrap .mec-event-article {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    height: 100% !important;
    margin-bottom: 24px !important;
}
.mec-wrap .mec-event-content {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
}
.mec-wrap .mec-event-footer {
    margin-top: auto !important; /* Empuja el footer al fondo */
}

/* 7. Cabecera Banner al 100% de Ancho y Recorte (Crop) en Evento Único */
.mec-events-event-image {
    width: 100% !important;
    flex: 1 1 100% !important; /* Forzar el ancho completo dentro del contenedor flexbox */
    margin-bottom: 25px !important;
    overflow: hidden !important;
    border-radius: 12px !important;
    text-align: center !important;
}
.mec-events-event-image img {
    width: 100% !important;
    height: 400px !important; /* Recorte con altura de banner */
    object-fit: cover !important; /* Recorta la imagen igual que en una entrada */
    border-radius: 12px !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
    display: block !important;
}

/* 8. Tarjetas Laterales Limpias (Widgets sin borde izquierdo verde grueso) */
.mec-single-event .mec-frontbox {
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important; /* Borde sutil y fino */
    border-left: none !important; /* Elimina la línea verde del costado */
    border-radius: 12px !important;
    padding: 20px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
    box-sizing: border-box !important;
}

/* Títulos de widgets laterales */
.mec-single-event .mec-frontbox h3,
.mec-single-event .mec-frontbox h4 {
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    color: var(--dark-color) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    border-bottom: 1px solid #f1f5f9 !important;
    padding-bottom: 8px !important;
    margin-bottom: 12px !important;
}

/* 9. Ocultar Publicidades Automáticas dentro del texto del Evento */
.mec-single-event-description .advads-ad,
.mec-single-event-description .widget_advanced_ads,
.mec-single-event-description [class*="advads-"] {
    display: none !important;
}

/* 10. Cinta Compacta y Horizontal de Fecha/Hora (Ribbon) */
.mec-single-event-bar {
    background-color: #f8fafc !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 10px !important;
    padding: 12px 20px !important;
    margin-bottom: 20px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 15px 30px !important;
    align-items: center !important;
    box-sizing: border-box !important;
}
.mec-single-event-bar > div {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 1 auto !important;
}
.mec-single-event-bar i {
    color: var(--primary-color) !important;
    font-size: 16px !important;
    margin-right: 8px !important;
    display: inline-block !important;
}
.mec-single-event-bar .mec-date,
.mec-single-event-bar .mec-time,
.mec-single-event-bar .mec-cost {
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    color: #64748b !important;
    text-transform: uppercase !important;
    margin: 0 6px 0 0 !important;
    letter-spacing: 0.05em !important;
    display: inline-block !important;
    line-height: 1 !important;
}
.mec-single-event-bar dl,
.mec-single-event-bar dd {
    display: inline-block !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}
.mec-single-event-bar dd {
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    font-size: 14.5px !important;
    color: var(--dark-color) !important;
}


/* ==========================================================================
   OPTIMIZACIONES DE LECTURA Y ESTILO EN NOTAS INDIVIDUALES (SINGLE POSTS)
   ========================================================================== */

/* Spacing and borders for subheadings inside post content */
.single-post .entry-content h2,
.single-post .entry-content h3,
.single-post .entry-content h4 {
    font-family: var(--font-heading) !important;
    color: var(--dark-color) !important;
    font-weight: 700 !important;
    margin-top: 40px !important;
    margin-bottom: 16px !important;
    line-height: 1.3 !important;
    letter-spacing: -0.02em !important;
}

.single-post .entry-content h2 { font-size: 26px !important; }
.single-post .entry-content h3 { font-size: 22px !important; }
.single-post .entry-content h4 { font-size: 18px !important; }

/* Spacing and styling for bullet and ordered lists inside post content */
.single-post .entry-content ul,
.single-post .entry-content ol {
    margin-top: 0 !important;
    margin-bottom: 24px !important;
    padding-left: 24px !important;
}

.single-post .entry-content li {
    margin-bottom: 8px !important;
    line-height: 1.7 !important;
}

/* Breathing room for floated images inside post content */
.single-post .entry-content img.alignright,
.single-post .entry-content .alignright img,
.single-post .entry-content .alignright {
    margin: 10px 0 24px 24px !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02) !important;
}

.single-post .entry-content img.alignleft,
.single-post .entry-content .alignleft img,
.single-post .entry-content .alignleft {
    margin: 10px 24px 24px 0 !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02) !important;
}

.single-post .entry-content img.aligncenter,
.single-post .entry-content .aligncenter {
    margin: 15px auto 24px auto !important;
    display: block !important;
    border-radius: 8px !important;
}

/* ==========================================================================
   COMPARTIR Y RECOMENDADOS EN NOTAS INDIVIDUALES (SINGLE POST FOOTER)
   ========================================================================== */

.lomas-single-footer-section {
    margin-top: 40px !important;
    border-top: 1px solid var(--border-color);
    padding-top: 30px !important;
}

/* Barra de Compartir */
.lomas-share-bar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    margin-bottom: 40px;
}

.lomas-share-label {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 15px;
    text-transform: uppercase;
    color: var(--dark-color);
    letter-spacing: 0.03em;
}

.lomas-share-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.lomas-share-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 8px;
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 13.5px;
    color: #ffffff !important;
    text-decoration: none !important;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s, transform 0.15s, box-shadow 0.2s;
    box-shadow: 0 2px 4px rgba(0,0,0,0.04);
}

.lomas-share-btn svg {
    display: block;
}

.lomas-share-whatsapp {
    background-color: #25D366;
}
.lomas-share-whatsapp:hover {
    background-color: #128C7E;
    transform: translateY(-1px);
}

.lomas-share-facebook {
    background-color: #1877F2;
}
.lomas-share-facebook:hover {
    background-color: #0d65d9;
    transform: translateY(-1px);
}

.lomas-share-twitter {
    background-color: #000000;
}
.lomas-share-twitter:hover {
    background-color: #222222;
    transform: translateY(-1px);
}

.lomas-share-copy {
    background-color: #64748b;
}
.lomas-share-copy:hover {
    background-color: #475569;
    transform: translateY(-1px);
}

/* Módulo de Recomendados y Pestañas */
.lomas-recommendations-module {
    margin-top: 30px;
}

.lomas-recommendations-header {
    margin-bottom: 25px;
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 20px;
}

.lomas-recommendations-subtitle {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    color: var(--accent-color);
    letter-spacing: 0.05em;
    display: block;
    margin-bottom: 6px;
}

.lomas-recommendations-title {
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 26px;
    color: var(--dark-color);
    margin: 0 0 20px 0 !important;
    letter-spacing: -0.02em;
}

/* Selector de pestañas */
.lomas-tabs-nav {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.lomas-tab-btn {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 14px;
    padding: 10px 20px;
    border-radius: 30px;
    border: 1px solid var(--border-color);
    background-color: #ffffff;
    color: var(--text-muted);
    cursor: pointer;
    transition: all 0.2s ease;
    outline: none;
}

.lomas-tab-btn:hover {
    color: var(--dark-color);
    border-color: var(--text-muted);
}

.lomas-tab-btn.active {
    background-color: var(--primary-color);
    color: #ffffff;
    border-color: var(--primary-color);
    box-shadow: 0 4px 10px rgba(4, 120, 87, 0.2);
}

/* Paneles de Contenido */
.lomas-tab-pane {
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.lomas-tab-pane.active {
    display: block;
    opacity: 1;
}

/* Grid de Recomendados */
.lomas-recommend-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 10px;
}

@media (max-width: 768px) {
    .lomas-recommend-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}

/* Tarjeta Recomendada */
.lomas-recommend-card {
    display: flex;
    flex-direction: column;
    background-color: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02);
}

.lomas-recommend-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
}

.lomas-recommend-thumb {
    height: 160px;
    background-size: cover;
    background-position: center;
    position: relative;
}

.lomas-recommend-link-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

.lomas-recommend-cat {
    position: absolute;
    bottom: 12px;
    left: 12px;
    background-color: var(--accent-color);
    color: var(--dark-color);
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 11px;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 4px;
    letter-spacing: 0.03em;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    z-index: 3;
}

.lomas-recommend-event-badge {
    background-color: var(--primary-color);
    color: #ffffff;
}

.lomas-recommend-body {
    padding: 16px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.lomas-recommend-card-title {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 16px;
    line-height: 1.4;
    color: var(--dark-color);
    margin: 0 0 10px 0 !important;
}

.lomas-recommend-card-title a {
    color: inherit !important;
    text-decoration: none !important;
}

.lomas-recommend-card-title a:hover {
    color: var(--primary-color) !important;
}

.lomas-recommend-date {
    font-family: var(--font-heading);
    font-size: 12.5px;
    color: var(--text-muted);
    font-weight: 500;
    margin-top: auto;
}

/* Evento Meta */
.lomas-recommend-event-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: auto;
}

.lomas-recommend-event-date,
.lomas-recommend-event-loc {
    font-family: var(--font-heading);
    font-size: 13px;
    color: var(--text-muted);
    font-weight: 600;
}

.lomas-no-recommend {
    font-family: var(--font-heading);
    color: var(--text-muted);
    font-style: italic;
    text-align: center;
    padding: 40px 0;
}

/* ================================================
   AGENDA HOME – HERO BANNER & MEC WRAPPER
   Estilos para la portada de agenda/, similar a agenda01/
   ================================================ */

/* Hero banner */
.agenda-home-hero {
    background: linear-gradient(135deg, var(--primary-color) 0%, #065f46 60%, #047857 100%);
    border-radius: 14px;
    padding: 36px 40px;
    margin: 18px 0 28px 0;
    box-shadow: 0 8px 30px rgba(4, 120, 87, 0.18);
    position: relative;
    overflow: hidden;
}

.agenda-home-hero::before {
    content: '📅';
    position: absolute;
    right: 32px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 100px;
    opacity: 0.08;
    line-height: 1;
}

.agenda-home-hero-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    position: relative;
    z-index: 1;
}

.agenda-home-hero-text {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.agenda-home-hero-kicker {
    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 600;
    color: rgba(255,255,255,0.80);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.agenda-home-hero-title {
    font-family: var(--font-heading);
    font-size: 32px;
    font-weight: 800;
    color: #ffffff;
    margin: 0;
    line-height: 1.15;
    letter-spacing: -0.02em;
}

.agenda-home-hero-desc {
    font-family: var(--font-body);
    font-size: 15px;
    color: rgba(255,255,255,0.75);
    margin: 0;
    line-height: 1.5;
    max-width: 520px;
}

.agenda-home-hero-actions {
    flex-shrink: 0;
}

.agenda-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 12px 24px;
    background-color: #ffffff;
    color: var(--primary-color) !important;
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 700;
    border-radius: 8px;
    text-decoration: none !important;
    transition: transform 0.2s, box-shadow 0.2s;
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
    white-space: nowrap;
}

.agenda-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.20);
    color: var(--primary-hover) !important;
}

@media (max-width: 768px) {
    .agenda-home-hero {
        padding: 24px 20px;
        border-radius: 10px;
        margin: 14px 0 20px 0;
    }
    .agenda-home-hero-inner {
        flex-direction: column;
        align-items: flex-start;
    }
    .agenda-home-hero-title {
        font-size: 24px;
    }
    .agenda-home-hero-desc {
        font-size: 14px;
    }
    .agenda-btn-primary {
        width: 100%;
        justify-content: center;
    }
}

/* Wrapper del MEC shortcode */
.agenda-mec-section {
    background: #ffffff;
    border-radius: 14px;
    padding: 28px 32px;
    margin-bottom: 32px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.04);
    border: 1px solid var(--border-color);
}

@media (max-width: 768px) {
    .agenda-mec-section {
        padding: 16px 14px;
        border-radius: 10px;
    }
}

/* Ajustes al MEC dentro de la home para coherencia visual */
.agenda-mec-section .mec-wrap {
    font-family: var(--font-body) !important;
}

.agenda-mec-section .mec-event-title a,
.agenda-mec-section .mec-event-title {
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    color: var(--dark-color) !important;
}

.agenda-mec-section .mec-event-title a:hover {
    color: var(--primary-color) !important;
}

.agenda-mec-section .mec-wrap .mec-booking-button,
.agenda-mec-section .mec-wrap a.mec-detail-btn {
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
    border-color: var(--primary-color) !important;
    border-radius: 6px !important;
    font-family: var(--font-heading) !important;
    font-weight: 600 !important;
    font-size: 12px !important;
    padding: 7px 16px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    transition: background-color 0.2s !important;
}

.agenda-mec-section .mec-wrap .mec-booking-button:hover,
.agenda-mec-section .mec-wrap a.mec-detail-btn:hover {
    background-color: var(--primary-hover) !important;
    border-color: var(--primary-hover) !important;
}

/* Fecha en el listado de eventos */
.agenda-mec-section .mec-event-article .mec-event-date,
.agenda-mec-section .mec-event-article .mec-start-date-details {
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
}

/* Botón de vista cuadrícula/calendario */
.agenda-mec-section .mec-skin-switcher button,
.agenda-mec-section .mec-views-switch a {
    font-family: var(--font-heading) !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    font-size: 13px !important;
}

.agenda-mec-section .mec-skin-switcher button.active,
.agenda-mec-section .mec-views-switch a.active {
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
    border-color: var(--primary-color) !important;
}

/* Filtros laterales */
.agenda-mec-section .mec-events-filter-title,
.agenda-mec-section .mec-event-filter-widget h5 {
    font-family: var(--font-heading) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: var(--dark-color) !important;
}

/* =========================================================
   CORRECCIÓN: VER DETALLE no cortado
   ========================================================= */
.mec-wrap .mec-event-article {
    overflow: visible !important; /* evita que el texto del botón se corte */
}

.mec-wrap .mec-event-detail a,
.mec-wrap .mec-booking-button,
.mec-wrap .mec-event-footer a.mec-booking-button {
    white-space: nowrap !important;
    overflow: visible !important;
}

/* =========================================================
   SECCIÓN HEADER (compartido por Destacados y Todos los Eventos)
   ========================================================= */
.agenda-section-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--primary-color);
}

.agenda-section-title {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--dark-color);
    margin: 0 !important;
    display: flex;
    align-items: center;
    gap: 8px;
}

.agenda-section-star {
    font-size: 18px;
}

/* =========================================================
   EVENTOS DESTACADOS – Grid de tarjetas con imagen
   ========================================================= */
.agenda-destacados-section {
    margin-bottom: 36px;
}

.agenda-destacados-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

@media (max-width: 900px) {
    .agenda-destacados-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 580px) {
    .agenda-destacados-grid {
        grid-template-columns: 1fr;
    }
}

/* Tarjeta */
.agenda-dest-card {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 14px;
    overflow: hidden;
    text-decoration: none !important;
    color: var(--dark-color) !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.04);
    transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.agenda-dest-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 28px rgba(4,120,87,0.14);
    text-decoration: none !important;
}

/* Imagen de la tarjeta */
.agenda-dest-card-img {
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden;
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-hover) 100%);
    flex-shrink: 0;
}

.agenda-dest-card-img .agenda-dest-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.agenda-dest-card:hover .agenda-dest-img {
    transform: scale(1.05);
}

/* Sin imagen: placeholder verde */
.agenda-dest-noimg {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 20px;
    text-align: center;
    background: linear-gradient(135deg, var(--primary-color) 0%, #065f46 100%);
}

.agenda-dest-noimg span:first-child {
    font-size: 48px;
    opacity: 0.6;
}

.agenda-dest-noimg-title {
    color: rgba(255,255,255,0.85);
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 15px;
    line-height: 1.35;
}

/* Badge de fecha (esquina sup. izq. sobre la imagen) */
.agenda-dest-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: var(--primary-color);
    color: #ffffff;
    border-radius: 10px;
    padding: 8px 12px;
    text-align: center;
    min-width: 54px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}

.agenda-dest-badge-day {
    display: block;
    font-family: var(--font-heading);
    font-size: 26px;
    font-weight: 800;
    line-height: 1;
}

.agenda-dest-badge-month {
    display: block;
    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    opacity: 0.9;
    margin-top: 2px;
}

/* Cuerpo de la tarjeta */
.agenda-dest-card-body {
    padding: 18px 20px 20px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex-grow: 1;
}

.agenda-dest-dayname {
    font-family: var(--font-heading);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--primary-color);
}

.agenda-dest-loc {
    font-size: 12px;
    color: var(--text-muted);
    font-weight: 500;
}

.agenda-dest-title {
    font-family: var(--font-heading);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.35;
    color: var(--dark-color);
    margin: 4px 0 8px !important;
}

.agenda-dest-btn {
    display: inline-block;
    background: var(--primary-color);
    color: #ffffff !important;
    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    border-radius: 6px;
    padding: 9px 16px;
    margin-top: auto;
    align-self: flex-start;
    white-space: nowrap;
    transition: background-color 0.2s ease;
}

.agenda-dest-card:hover .agenda-dest-btn {
    background: var(--primary-hover);
}

/* =========================================================
   SECCIÓN MEC (Todos los Eventos)
   ========================================================= */
.agenda-mec-section {
    background: #ffffff;
    border-radius: 14px;
    padding: 28px 28px 32px;
    border: 1px solid var(--border-color);
    box-shadow: 0 2px 12px rgba(0,0,0,0.03);
    margin-bottom: 40px;
}

/* =========================================================
   HERO BANNER (estilos previos – mantenidos)
   ========================================================= */
.agenda-home-hero {
    background: linear-gradient(135deg, var(--primary-color) 0%, #065f46 60%, #047857 100%);
    border-radius: 14px;
    padding: 36px 40px;
    margin: 18px 0 28px 0;
    box-shadow: 0 8px 30px rgba(4, 120, 87, 0.18);
    position: relative;
    overflow: hidden;
}

.agenda-home-hero::before {
    content: '📅';
    position: absolute;
    right: 32px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 100px;
    opacity: 0.08;
    pointer-events: none;
}

.agenda-home-hero-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
}

.agenda-home-hero-kicker {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: rgba(255,255,255,0.80);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 6px;
}

.agenda-home-hero-title {
    font-size: 32px;
    font-weight: 800;
    color: #ffffff;
    margin: 0 0 8px 0 !important;
    line-height: 1.15;
}

.agenda-home-hero-desc {
    font-size: 15px;
    color: rgba(255,255,255,0.75);
    margin: 0;
}

.agenda-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 12px 24px;
    background-color: #ffffff;
    color: var(--primary-color) !important;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 14px;
    border-radius: 8px;
    text-decoration: none !important;
    white-space: nowrap;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    transition: box-shadow 0.2s, transform 0.15s;
}

.agenda-btn-primary:hover {
    box-shadow: 0 8px 20px rgba(0,0,0,0.18);
    transform: translateY(-1px);
}

@media (max-width: 640px) {
    .agenda-home-hero {
        padding: 24px 20px;
    }
    .agenda-home-hero-inner {
        flex-direction: column;
        align-items: flex-start;
    }
    .agenda-home-hero-title {
        font-size: 24px;
    }
    .agenda-mec-section {
        padding: 16px;
    }
}

/* =========================================================
   BARRA: solo AGREGAR EVENTO
   ========================================================= */
.agenda-add-bar {
    display: flex;
    justify-content: flex-end;
    margin: 0 0 20px 0;
}

/* =========================================================
   HEADER "TODOS LOS EVENTOS" con botones de vista inline
   ========================================================= */
.agenda-todos-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 16px !important;
}

.agenda-todos-header .agenda-section-title {
    margin: 0 !important;
}

.agenda-view-btns {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

.agenda-view-btn {
    background: #f1f5f9;
    color: var(--dark-color);
    border: 1px solid var(--border-color);
    border-radius: 7px;
    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 600;
    padding: 9px 16px;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}

.agenda-view-btn:hover {
    background: var(--primary-color);
    color: #ffffff;
    border-color: var(--primary-color);
}

.agenda-view-btn.active {
    background: var(--primary-color);
    color: #ffffff;
    border-color: var(--primary-color);
}

.agenda-toolbar-add-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 18px;
    background: var(--accent-color);
    color: #ffffff !important;
    font-family: var(--font-heading);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-radius: 7px;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background 0.2s, transform 0.15s;
    box-shadow: 0 3px 8px rgba(245,158,11,0.2);
}

.agenda-toolbar-add-btn:hover {
    background: #d97706;
    transform: translateY(-1px);
}

@media (max-width: 640px) {
    .agenda-toolbar {
        flex-direction: column;
        align-items: stretch;
    }
    .agenda-toolbar-add-btn {
        text-align: center;
        justify-content: center;
    }
}

/* =========================================================
   LAYOUT: Eventos (izquierda) + Filtros (derecha)
   ========================================================= */
.agenda-todos-section {
    margin-bottom: 40px;
}

.agenda-todos-layout {
    display: grid;
    grid-template-columns: 1fr 260px;
    gap: 24px;
    align-items: start;
}

@media (max-width: 900px) {
    .agenda-todos-layout {
        grid-template-columns: 1fr;
    }
    .agenda-filter-sidebar {
        order: -1; /* Filtros arriba en móvil */
    }
}

/* =========================================================
   PANEL DE FILTROS
   ========================================================= */
.agenda-filter-sidebar {
    background: #ffffff;
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.03);
    position: sticky;
    top: 20px;
}

.agenda-filter-group {
    margin-bottom: 24px;
}

.agenda-filter-group:last-of-type {
    margin-bottom: 0;
}

.agenda-filter-title {
    font-family: var(--font-heading);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--dark-color);
    margin: 0 0 10px 0 !important;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--primary-color);
}

.agenda-filter-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    max-height: 240px;
    overflow-y: auto;
}

.agenda-filter-list::-webkit-scrollbar {
    width: 4px;
}

.agenda-filter-list::-webkit-scrollbar-thumb {
    background: var(--border-color);
    border-radius: 4px;
}

.agenda-filter-list li {
    border-bottom: none !important;
    padding: 0 !important;
}

.agenda-filter-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 7px 10px;
    border-radius: 6px;
    font-size: 13px;
    color: var(--dark-color) !important;
    text-decoration: none !important;
    font-weight: 500;
    transition: background 0.15s, color 0.15s;
    gap: 6px;
}

.agenda-filter-link:hover {
    background: #f1f5f9;
    color: var(--primary-color) !important;
}

.agenda-filter-link.active {
    background: rgba(4,120,87,0.08);
    color: var(--primary-color) !important;
    font-weight: 700;
}

.agenda-filter-count {
    font-size: 11px;
    color: var(--text-muted);
    background: #f1f5f9;
    border-radius: 10px;
    padding: 1px 7px;
    flex-shrink: 0;
}

.agenda-filter-reset {
    display: block;
    text-align: center;
    margin-top: 16px;
    padding: 8px;
    background: #fef2f2;
    color: #ef4444 !important;
    border: 1px solid #fca5a5;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    font-family: var(--font-heading);
    text-decoration: none !important;
    transition: background 0.15s;
}

.agenda-filter-reset:hover {
    background: #fee2e2;
}

/* =========================================================
   MEC CLASSIC CARDS – ESTÉTICA IDENTICA A EVENTOS DESTACADOS
   ========================================================= */

/* Grid container layout */
.mec-event-grid-classic {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    align-items: stretch !important;
}

/* Cada .row (= un evento) ocupa 1/3 del ancho */
.mec-event-grid-classic > .row {
    flex: 0 0 calc(33.333% - 14px) !important;
    max-width: calc(33.333% - 14px) !important;
    width: calc(33.333% - 14px) !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* El col-md-12 dentro del row ocupa todo el espacio disponible */
.mec-event-grid-classic > .row > [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    float: none !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* 2 columnas en tablet */
@media (max-width: 900px) {
    .mec-event-grid-classic > .row {
        flex: 0 0 calc(50% - 10px) !important;
        max-width: calc(50% - 10px) !important;
        width: calc(50% - 10px) !important;
    }
}

/* 1 columna en móvil */
@media (max-width: 600px) {
    .mec-event-grid-classic > .row {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}

/* Tarjeta – igual que .agenda-dest-card */
.mec-event-grid-classic .mec-event-article {
    background: #ffffff !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 14px !important;
    overflow: hidden !important; /* Corta la imagen con los bordes redondeados */
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    position: relative !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.04) !important;
    transition: transform 0.22s ease, box-shadow 0.22s ease !important;
}

.mec-event-grid-classic .mec-event-article:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 10px 28px rgba(4,120,87,0.14) !important;
}

/* Imagen de la tarjeta */
.mec-event-grid-classic .mec-event-image {
    width: 100% !important;
    height: 200px !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.mec-event-grid-classic .mec-event-image a {
    display: block !important;
    height: 100% !important;
    width: 100% !important;
}

.mec-event-grid-classic .mec-event-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    display: block !important;
    transition: transform 0.4s ease !important;
}

.mec-event-grid-classic .mec-event-article:hover .mec-event-image img {
    transform: scale(1.05) !important;
}

/* Badge de fecha overlay (esquina sup. izq. sobre la imagen) */
.mec-event-grid-classic .mec-event-date.mec-bg-color {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    background: var(--primary-color) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    padding: 6px 12px !important;
    text-align: center !important;
    font-family: var(--font-heading) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2) !important;
    z-index: 10 !important;
    margin: 0 !important;
    align-self: auto !important;
    display: block !important;
}

/* Cuerpo de la tarjeta */
.mec-event-grid-classic .mec-event-content {
    padding: 18px 20px 0px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    flex-grow: 1 !important;
    border: none !important;
    background: transparent !important;
}

/* Título */
.mec-event-grid-classic .mec-event-title {
    font-family: var(--font-heading) !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    color: var(--dark-color) !important;
    margin: 4px 0 8px !important;
}

.mec-event-grid-classic .mec-event-title a {
    color: inherit !important;
    text-decoration: none !important;
}

.mec-event-grid-classic .mec-event-title a:hover {
    color: var(--primary-color) !important;
}

/* Localización */
.mec-event-grid-classic .mec-grid-event-location {
    font-size: 12px !important;
    color: var(--text-muted) !important;
    font-weight: 500 !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
}

.mec-event-grid-classic .mec-grid-event-location::before {
    content: '📍 ' !important;
}

/* Footer de la tarjeta */
.mec-event-grid-classic .mec-event-footer {
    padding: 0 20px 20px 20px !important;
    margin-top: auto !important;
    border-top: none !important;
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    background: transparent !important;
}

/* Ocultar barra de compartir en el listado */
.mec-event-grid-classic .mec-event-sharing-wrap {
    display: none !important;
}

/* Botón VER DETALLE – idéntico a .agenda-dest-btn */
.mec-event-grid-classic .mec-booking-button {
    display: inline-block !important;
    background: var(--primary-color) !important;
    color: #ffffff !important;
    font-family: var(--font-heading) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.07em !important;
    border-radius: 6px !important;
    padding: 9px 16px !important;
    margin: 0 !important;
    align-self: flex-start !important;
    white-space: nowrap !important;
    width: auto !important;
    height: auto !important;
    line-height: normal !important;
    box-shadow: none !important;
    border: none !important;
    text-align: left !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    transition: background-color 0.2s ease !important;
}

.mec-event-grid-classic .mec-event-article:hover .mec-booking-button {
    background: var(--primary-hover) !important;
}



/* ══════════════════════════════════════════════════
   NOTICIAS RECIENTES GRID (front-page.php)
   ══════════════════════════════════════════════════ */
.agenda-news-section {
    margin-top: 50px;
    margin-bottom: 50px;
    padding: 0 20px;
}

.agenda-news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 24px;
    margin-top: 25px;
}

.agenda-news-card {
    display: flex;
    flex-direction: column;
    background: rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 14px;
    overflow: hidden;
    text-decoration: none !important;
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s ease;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.agenda-news-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 30px rgba(0, 92, 40, 0.15);
    border-color: rgba(0, 146, 63, 0.3);
}

.agenda-news-card-img {
    position: relative;
    height: 180px;
    background-size: cover;
    background-position: center;
    transition: transform 0.5s ease;
}

.agenda-news-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 5px 12px;
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    background: #00923f;
    border-radius: 20px;
    letter-spacing: 0.5px;
}

.agenda-news-card-body {
    display: flex;
    flex-direction: column;
    padding: 20px;
    flex-grow: 1;
}

.agenda-news-date {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    color: #8892b0;
    margin-bottom: 8px;
}

.agenda-news-title {
    font-family: 'Outfit', sans-serif;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
    color: #f1f1f1 !important;
    margin: 0 0 20px 0;
    flex-grow: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.agenda-news-btn {
    align-self: flex-start;
    padding: 8px 16px;
    font-family: 'Outfit', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #00923f;
    background: rgba(0, 146, 63, 0.1);
    border: 1px solid rgba(0, 146, 63, 0.2);
    border-radius: 8px;
    text-align: center;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
}

.agenda-news-card:hover .agenda-news-btn {
    background: #00923f;
    color: #fff;
    border-color: #00923f;
}

.agenda-view-more-news {
    font-family: 'Outfit', sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #00923f;
    text-decoration: none !important;
    transition: color 0.3s ease;
}

.agenda-view-more-news:hover {
    color: #00c853;
}