/* =====================================================
   RESPONSIVE.CSS - Media queries per tutti i componenti
   File: /css/responsive.css
   Versione: 2.0.0 - Fix aggressivi per mobile
   Carica DOPO tutti gli altri CSS
   ===================================================== */


/* =====================================================
   BREAKPOINTS UTILIZZATI:
   - max-width: 1024px → Tablet landscape
   - max-width: 900px  → Tablet portrait
   - max-width: 768px  → Mobile landscape / Small tablet
   - max-width: 600px  → Mobile portrait
   - max-width: 480px  → Mobile piccolo
   ===================================================== */


/* =====================================================
   1. LAYOUT PRINCIPALE - FIX CRITICO
   ===================================================== */

@media (max-width: 1024px) {
    
    /* RESET FORZATO del layout 2 colonne */
    .news-single-layout {
        display: block !important;
        grid-template-columns: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: auto !important;
        gap: 0 !important;
    }
    
    /* Area contenuto */
    .news-content-area {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 15px !important;
        box-sizing: border-box !important;
    }
    
    /* NASCONDI SIDEBAR */
    .sidebar-area {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        height: 0 !important;
        overflow: hidden !important;
    }
    
    /* Fix wrapper eventi */
    .area-events-wrapper,
    .area-calendario-eventi-archive {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }
	
		.separate-containers .site-main {
    margin-top: 20px!important;
    margin-bottom: 20px!important;
}
	.site-header .header-image {
    width: 200px!important;
}
	
	.footer_button svg {
		width: 40px!important;}
}

@media (min-width: 1025px) and (max-width: 1200px) {
    
    /* Layout 2 colonne con sidebar più stretta */
    .news-single-layout {
        grid-template-columns: 1fr 300px !important;
        gap: 30px !important;
    }
    
    .news-content-area {
        padding: 0 20px !important;
    }
	

}


/* =====================================================
   2. FILTRI EVENTI - Fix overflow
   ===================================================== */

@media (max-width: 768px) {
    
    .area-eventi-filtri {
        display: block !important;
        padding: 15px !important;
        margin-bottom: 20px !important;
    }
    
    /* Ricerca */
    .area-eventi-search {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-bottom: 20px !important;
    }
    
    .eventi-search-form {
        display: flex !important;
        width: 100% !important;
    }
    
    .eventi-search-input {
        flex: 1 !important;
        min-width: 0 !important;
    }
    
    /* Categorie */
    .area-eventi-categorie {
        display: block !important;
        width: 100% !important;
    }
    
    .filtri-label {
        display: block !important;
        margin-bottom: 10px !important;
        font-size: 13px !important;
    }
    
    .categorie-pills {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        width: 100% !important;
        justify-content: flex-start !important;
    }
    
    .event-cat-pill,
    a.event-cat-pill {
        font-size: 11px !important;
        padding: 6px 10px !important;
        border-radius: 15px !important;
        white-space: nowrap !important;
        text-decoration: none !important;
        border-bottom: none !important;
    }
	
	.inside-header {
    padding-bottom: 10px 15px 10px 0px!important;
}
}


/* =====================================================
   3. CALENDARIO - Fix tabella
   ===================================================== */

@media (max-width: 768px) {
    
	
	
    #area-calendario-wrapper {
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        margin: 15px 0 !important;
    }
    
    /* Navigazione */
    .area-calendario-nav {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 8px !important;
        padding: 10px 0 !important;
    }
    
    .area-cal-today {
        order: 1 !important;
    }
    
    .area-cal-prev {
        order: 2 !important;
    }
    
    .area-cal-next {
        order: 3 !important;
    }
    
    .area-cal-nav-form {
        order: 4 !important;
        width: 100% !important;
        justify-content: center !important;
        margin-top: 10px !important;
    }
    
    .area-cal-nav-link {
        font-size: 2rem !important;
		        padding: 10px;
    }
    
    /* Tabella calendario */
    .area-calendario {
        width: 100% !important;
        min-width: 280px !important;
        table-layout: fixed !important;
        font-size: 12px !important;
    }
    
    .area-calendario th {
        padding: 8px 2px !important;
        font-size: 10px !important;
        text-align: center !important;
    }
    
    .area-calendario td {
        height: 38px !important;
        padding: 2px !important;
    }
    
    .area-cal-giorno-num-inner {
        width: 28px !important;
        height: 28px !important;
        font-size: 12px !important;
    }
}

@media (max-width: 480px) {
    
    .area-calendario {
        min-width: 260px !important;
    }
    
    .area-calendario th {
        font-size: 9px !important;
        padding: 6px 1px !important;
    }
    
    .area-calendario td {
        height: 34px !important;
    }
    
    .area-cal-giorno-num-inner {
        width: 24px !important;
        height: 24px !important;
        font-size: 11px !important;
    }
}


/* =====================================================
   4. TABS EVENTI
   ===================================================== */

@media (max-width: 768px) {
    
    .area-eventi-tabs {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        gap: 0 !important;
        margin: 20px 0 15px !important;
        border-bottom: 2px solid #e2e8f0 !important;
        scrollbar-width: none !important;
    }
    
    .area-eventi-tabs::-webkit-scrollbar {
        display: none !important;
    }
    
    .area-tab {
        flex: 0 0 auto !important;
        padding: 10px 14px !important;
        font-size: 13px !important;
        white-space: nowrap !important;
    }
    
    .tab-count {
        min-width: 20px !important;
        height: 20px !important;
        font-size: 11px !important;
        padding: 0 5px !important;
        margin-left: 5px !important;
    }
}


/* =====================================================
   5. CARD EVENTI - FIX LAYOUT CRITICO
   Le card mostrano solo parzialmente il contenuto!
   ===================================================== */

@media (max-width: 768px) {
    
    /* Container cards */
    .area-eventi-cards {
        display: block !important;
        width: 100% !important;
    }
    
    /* Card singola */
    .area-event-card {
        grid-template-columns: none !important;
        width: 100% !important;
        padding: 15px !important;
        margin-bottom: 15px !important;
        box-sizing: border-box !important;
        border-radius: 8px !important;
        overflow: visible !important;
		display: flex !important;
    flex-direction: column !important;
    }
    
    /* Data evento - in alto */
    .area-event-card-date {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        margin-bottom: 12px !important;
        text-align: left !important;
		 order: 0 !important;
		width:100%;
    }
    
    .area-event-card-date .event-day {
        font-size: 1.8rem !important;
        line-height: 1 !important;
    }
    
    .area-event-card-date .event-month {
        font-size: 0.75rem !important;
        text-transform: uppercase !important;
    }
    
    /* Contenuto - visibile! */
    .area-event-card-content {
        display: block !important;
        width: 100% !important;
        visibility: visible !important;
        opacity: 1 !important;
		order: 1 !important;
    }
    
    .area-event-card-content .event-title {
        font-size: 16px !important;
        font-weight: 600 !important;
        margin: 0 0 8px !important;
        line-height: 1.3 !important;
    }
    
    .area-event-card-content .event-title a {
        color: inherit !important;
        text-decoration: none !important;
    }
    
    .area-event-card-content .event-time,
    .area-event-card-content .event-location {
        font-size: 13px !important;
        color: #64748b !important;
        margin-bottom: 4px !important;
    }
    
    /* Thumbnail - sotto il contenuto */
    .area-event-card-thumb {
        display: block !important;
        width: 100% !important;
        height: 150px !important;
        border-radius: 6px !important;
        overflow: hidden !important;
		order: -1 !important;  /* Prima di tutto */
    margin-top: 0 !important;
    margin-bottom: 15px !important;
    }
    
    .area-event-card-thumb .event-thumb-img {
        width: 100% !important;
        height: 100% !important;
        background-size: cover !important;
        background-position: center !important;
    }
    
    /* Placeholder per card senza immagine - usa emoji invece di Font Awesome */
    .area-event-card-thumb:empty {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: linear-gradient(135deg, #e2e8f0 0%, #f1f5f9 100%) !important;
        height: 80px !important;
    }
    
    .area-event-card-thumb:empty::before {
        content: '📅' !important;
        font-size: 24px !important;
        font-family: inherit !important;
    }
    
    /* Pulsanti calendario */
    .event-add-cal-wrapper {
        display: flex !important;
        gap: 8px !important;
        margin-top: 15px !important;
        width: 100% !important;
		order: 2 !important;
    flex-wrap: inherit;
    }
    
    .event-add-calendar {
        display: block !important; 
        text-align: center !important;      
        font-size: 13px !important;
        box-sizing: border-box !important;
    }
    
    .event-add-gcal {
        background: #2A5F95 !important;
        color: #fff !important;
    }
    
    .event-add-ics {
        background: #f1f5f9 !important;
        color: #475569 !important;
        border: 1px solid #e2e8f0 !important;
    }
}


/* =====================================================
   6. NEWS CARDS
   ===================================================== */

@media (max-width: 900px) {
    
    .news-card-inner {
        display: block !important;
        grid-template-columns: none !important;
    }
    
    .news-card-image {
        width: 100% !important;
        min-height: auto!important;
    }
    
    .news-card-content {
        padding: 20px !important;
    }
    
    .news-card-title {
        font-size: 18px !important;
    }
    
    .news-card.reverse .news-card-image,
    .news-card.reverse .news-card-content {
        order: unset !important;
    }
}


/* =====================================================
   7. CPT SINGLE (Pagine singole)
   ===================================================== */

@media (max-width: 768px) {
    
    .cpt-single-wrapper {
        margin-bottom: 40px !important;
		margin-top:20px!important;
    }
    
    .cpt-single-article {
        padding: 15px !important;
        min-height: 150px !important;
    }
    
    .cpt-single-title {
        font-size: 1.4rem !important;
    }
    
    .cpt-single-nav {
        flex-direction: column !important;
        gap: 10px !important;
    }
    
    .cpt-nav-link {
        min-width: unset !important;
    }
    
    /* Badge privato */
    .cpt-private-badge {
        font-size: 10px !important;
        padding: 4px 10px !important;
    }
}


/* =====================================================
   8. FOOTER
   ===================================================== */

@media (max-width: 900px) {
    
    .footer-widget-1,
    .footer-widget-2,
    .footer-widget-3,
    .footer-widget-4 {
        width: 100% !important;
        margin-left: 0 !important;
        margin-bottom: 20px !important;
        text-align: left !important;
    }
    
    .footer-widgets-container {
        padding: 25px 15px !important;
    }
    
    .inside-footer-widgets {
        flex-direction: column !important;
    }
}


/* =====================================================
   9. HEADER PAGINA
   ===================================================== */

@media (max-width: 768px) {
    
    .page-header {
        padding: 30px 0px !important;
    }
    
    .page-header h1,
    .page-header .elementor-heading-title {
        font-size: 22px !important;
    }
    
    h1 {
        font-size: 22px !important;
    }
    
    h2 {
        font-size: 24px !important;
    }
}


/* =====================================================
   10. MENU UTENTE
   ===================================================== */

@media (max-width: 768px) {
    
    .menu-item-user-profile {
        margin-left: 0 !important;
        margin-top: 10px !important;
        padding: 10px 0 !important;
    }
    
    .user-profile-link {
        justify-content: center !important;
    }
}


/* =====================================================
   11. BOTTONI
   ===================================================== */

@media (max-width: 600px) {
    
    .load-more-btn,
    .area-news-more .button,
    .elementor-button-link {
        display: block !important;
        width: calc(100% - 30px) !important;
        padding: 12px 20px !important;
        font-size: 14px !important;
        margin: 15px auto !important;
        text-align: center !important;
    }
}


/* =====================================================
   12. USER REGISTRATION
   ===================================================== */

@media (max-width: 768px) {
    
    .user-registration {
        padding: 25px 15px !important;
        margin: 15px !important;
    }
}


/* =====================================================
   13. EVENTO SINGOLO
   ===================================================== */

@media (max-width: 768px) {
    
    .event-single-meta {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
    }
    
    .event-meta-block {
        padding: 15px !important;
    }
    
    .event-single-day {
        font-size: 1.5rem !important;
    }
}


/* =====================================================
   14. OVERFLOW FIX GLOBALE
   Previene scrolling orizzontale
   ===================================================== */

@media (max-width: 768px) {
    
    body,
    html {
        overflow-x: hidden !important;
    }
    
    .site-content,
    .site-main,
    main,
    article {
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }
}