/* CORREÇÃO FINAL E DEFINITIVA DO CALENDÁRIO MOBILE */
/* Esta correção resolve todos os problemas de layout da Agenda Pública no mobile */

/* ===== RESET E CONFIGURAÇÕES BÁSICAS ===== */
@media screen and (max-width: 768px) {
    
    /* Reset completo para evitar conflitos */
    #agenda * {
        box-sizing: border-box !important;
    }
    
    /* CONTAINER PRINCIPAL DA AGENDA - Layout vertical no mobile */
    .agenda-modern-layout {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 10px !important;
        overflow: hidden !important;
        /* Sobrescrever qualquer grid do desktop */
        grid-template-columns: none !important;
        grid-template-rows: none !important;
    }
    
    /* ===== CALENDÁRIO MODERNO ===== */
    .modern-calendar-container {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 15px !important;
        background: #ffffff !important;
        border-radius: 15px !important;
        box-shadow: 0 4px 20px rgba(0,0,0,0.1) !important;
        border: 1px solid #e5e7eb !important;
        overflow: hidden !important;
    }
    
    /* ===== CABEÇALHO DO CALENDÁRIO ===== */
    .calendar-header-modern {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        margin-bottom: 20px !important;
        padding: 0 5px !important;
        width: 100% !important;
    }
    
    /* Título do mês */
    .calendar-month-title,
    #currentMonth {
        font-size: 18px !important;
        font-weight: 700 !important;
        color: #1e40af !important;
        margin: 0 !important;
        text-align: center !important;
        flex: 1 !important;
    }
    
    /* Botões de navegação */
    .calendar-nav-modern,
    #prevMonth,
    #nextMonth {
        width: 35px !important;
        height: 35px !important;
        border: none !important;
        border-radius: 8px !important;
        background: linear-gradient(135deg, #3b82f6, #1e40af) !important;
        color: white !important;
        font-size: 16px !important;
        cursor: pointer !important;
        transition: all 0.3s ease !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 2px 8px rgba(59, 130, 246, 0.3) !important;
    }
    
    .calendar-nav-modern:hover,
    #prevMonth:hover,
    #nextMonth:hover {
        transform: scale(1.05) !important;
        box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4) !important;
    }
    
    /* ===== GRID DO CALENDÁRIO ===== */
    .calendar-grid-modern {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
        overflow: hidden !important;
    }
    
    /* DIAS DA SEMANA - Header do calendário */
    .calendar-weekdays-modern {
        display: grid !important;
        grid-template-columns: repeat(7, 1fr) !important;
        gap: 2px !important;
        margin-bottom: 10px !important;
        width: 100% !important;
        padding: 0 !important;
    }
    
    .weekday-modern {
        text-align: center !important;
        font-weight: 600 !important;
        color: #1e40af !important;
        font-size: 11px !important;
        padding: 8px 2px !important;
        background: #f1f5f9 !important;
        border-radius: 4px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.3px !important;
        min-height: 30px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    /* GRID DOS DIAS - Layout principal */
    .calendar-days-modern,
    #calendarDays {
        display: grid !important;
        grid-template-columns: repeat(7, 1fr) !important;
        gap: 2px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        justify-items: stretch !important;
        align-items: stretch !important;
    }
    
    /* CÉLULAS DOS DIAS */
    .calendar-day-modern {
        aspect-ratio: 1 !important;
        min-height: 35px !important;
        width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        color: #374151 !important;
        background: #ffffff !important;
        border: 1px solid #e5e7eb !important;
        border-radius: 6px !important;
        cursor: pointer !important;
        transition: all 0.2s ease !important;
        position: relative !important;
        overflow: hidden !important;
    }
    
    /* Estados dos dias */
    .calendar-day-modern:hover {
        background: #f3f4f6 !important;
        border-color: #3b82f6 !important;
    }
    
    .calendar-day-modern.current {
        background: linear-gradient(135deg, #3b82f6, #1e40af) !important;
        color: white !important;
        font-weight: 700 !important;
        border-color: #1e40af !important;
        box-shadow: 0 2px 8px rgba(59, 130, 246, 0.3) !important;
    }
    
    .calendar-day-modern.event {
        background: linear-gradient(135deg, #fbbf24, #f59e0b) !important;
        color: white !important;
        font-weight: 600 !important;
        border-color: #f59e0b !important;
    }
    
    .calendar-day-modern.event::after {
        content: '•' !important;
        position: absolute !important;
        top: 2px !important;
        right: 4px !important;
        font-size: 8px !important;
        color: white !important;
    }
    
    .calendar-day-modern.inactive {
        color: #9ca3af !important;
        background: #f9fafb !important;
        border-color: #f3f4f6 !important;
    }
    
    /* ===== CONTAINER DE EVENTOS ===== */
    .modern-events-container {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 15px !important;
        background: #ffffff !important;
        border-radius: 15px !important;
        box-shadow: 0 4px 20px rgba(0,0,0,0.1) !important;
        border: 1px solid #e5e7eb !important;
    }
    
    /* Header dos eventos */
    .events-header-modern {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        margin-bottom: 15px !important;
        flex-wrap: wrap !important;
        gap: 10px !important;
    }
    
    .events-header-modern h3 {
        font-size: 16px !important;
        font-weight: 700 !important;
        color: #1e40af !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
    }
    
    .events-count {
        font-size: 12px !important;
        color: #6b7280 !important;
        font-weight: 500 !important;
        background: #f3f4f6 !important;
        padding: 4px 8px !important;
        border-radius: 12px !important;
    }
    
    /* Lista de eventos */
    .events-list-modern {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        width: 100% !important;
    }
    
    /* Cards dos eventos */
    .event-card-modern {
        display: flex !important;
        gap: 12px !important;
        padding: 12px !important;
        background: #f8fafc !important;
        border-radius: 10px !important;
        border-left: 4px solid #3b82f6 !important;
        transition: all 0.2s ease !important;
    }
    
    .event-card-modern:hover {
        background: #f1f5f9 !important;
        transform: translateX(2px) !important;
    }
    
    .event-date-modern {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 45px !important;
        background: linear-gradient(135deg, #3b82f6, #1e40af) !important;
        color: white !important;
        border-radius: 8px !important;
        padding: 8px 4px !important;
    }
    
    .event-day {
        font-size: 16px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
    }
    
    .event-month {
        font-size: 10px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        opacity: 0.9 !important;
    }
    
    .event-content-modern {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }
    
    .event-content-modern h4 {
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #1f2937 !important;
        margin: 0 0 6px 0 !important;
        line-height: 1.3 !important;
    }
    
    .event-meta {
        display: flex !important;
        gap: 12px !important;
        flex-wrap: wrap !important;
    }
    
    .event-time,
    .event-location {
        font-size: 11px !important;
        color: #6b7280 !important;
        display: flex !important;
        align-items: center !important;
        gap: 4px !important;
    }
    
    .event-time i,
    .event-location i {
        font-size: 10px !important;
        color: #3b82f6 !important;
    }
    
    /* ===== FORÇA APLICAÇÃO EM DISPOSITIVOS PEQUENOS ===== */
    @media screen and (max-width: 480px) {
        .agenda-modern-layout {
            padding: 5px !important;
            gap: 15px !important;
        }
        
        .modern-calendar-container,
        .modern-events-container {
            padding: 12px !important;
            border-radius: 12px !important;
        }
        
        .calendar-day-modern {
            min-height: 32px !important;
            font-size: 12px !important;
        }
        
        .weekday-modern {
            font-size: 10px !important;
            padding: 6px 1px !important;
            min-height: 25px !important;
        }
        
        .calendar-month-title,
        #currentMonth {
            font-size: 16px !important;
        }
        
        .calendar-nav-modern,
        #prevMonth,
        #nextMonth {
            width: 32px !important;
            height: 32px !important;
            font-size: 14px !important;
        }
    }
}

/* ===== FORÇA APLICAÇÃO GLOBAL ===== */
@media screen and (max-width: 768px) {
    /* Garante que a agenda não tenha layout desktop no mobile */
    #agenda .agenda-modern-layout {
        display: flex !important;
        flex-direction: column !important;
    }
    
    /* Remove qualquer grid desktop que possa interferir */
    #agenda .agenda-modern-layout {
        grid-template-columns: unset !important;
        grid-template-rows: unset !important;
        grid-gap: unset !important;
    }
}