     
            /* ========== VERSION AVEC GRILLE 3 PAR LIGNE ========== */
            :root {
                --frev-primary: #39b54a;
                --frev-primary-dark: #2d8f3c;
                --frev-primary-light: #e8f5e9;
                --frev-accent-orange: #FF9933;
                --frev-accent-pink: #EC4899;
                --frev-bg: #F0F2FF;
                --frev-white: #FFFFFF;
                --frev-text-dark: #1a1a2e;
                --frev-text-mid: #374151;
                --frev-text-light: #6B7280;
                --frev-border: #E5E7EB;
                --frev-card-shadow: 0 4px 24px rgba(91, 79, 232, 0.10);
                --frev-radius-card: 16px;
                --frev-radius-btn: 40px;
                --frev-transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1);
            }

            .frev-section {
                background: var(--frev-bg);
                position: relative;
                padding: 40px 0 48px;
                overflow: hidden;
                font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Poppins', sans-serif;
            }

            .frev-bg-overlay {
                position: absolute;
                inset: 0;
                background: radial-gradient(ellipse 60% 50% at 70% 40%, rgba(91, 79, 232, 0.07) 0%, transparent 70%);
                pointer-events: none;
            }

            .frev-inner {
                max-width: 1280px;
                margin: 0 auto;
                padding: 0 16px;
                display: flex;
                flex-direction: column;
                gap: 32px;
            }

            /* Version desktop */
            @media (min-width: 1024px) {
                .frev-inner {
                    padding: 0 32px;
                    display: grid;
                    grid-template-columns: 1fr 400px;
                    gap: 48px;
                    align-items: start;
                }
            }

            .frev-left-col {
                display: flex;
                flex-direction: column;
                gap: 20px;
            }

            .frev-main-title {
                font-size: clamp(1.5rem, 5vw, 2.6rem);
                font-weight: 800;
                color: var(--frev-text-dark);
                line-height: 1.2;
                margin: 0;
                text-align: center;
            }

            @media (min-width: 768px) {
                .frev-main-title {
                    text-align: left;
                }
            }

            .frev-title-highlight {
                color: var(--frev-primary);
            }

            .frev-subtitle {
                color: var(--frev-text-mid);
                font-size: clamp(0.85rem, 3vw, 0.95rem);
                margin: 8px 0 0;
                line-height: 1.5;
                text-align: center;
            }

            @media (min-width: 768px) {
                .frev-subtitle {
                    text-align: left;
                }
            }

            .frev-country-title {
                font-size: 0.85rem;
                font-weight: 600;
                color: var(--frev-text-mid);
                margin: 0 0 10px 0;
                text-transform: uppercase;
                letter-spacing: 0.5px;
            }

            /* ========== FILTRES PAYS - GRILLE 3 PAR LIGNE ========== */
            .frev-country-section {
                margin-bottom: 4px;
            }

            .frev-country-filters {
                display: grid;
                grid-template-columns: repeat(2, 1fr);
                gap: 12px;
                padding: 4px 0;
            }

            /* Responsive pour petits écrans */
            @media (max-width: 640px) {
                .frev-country-filters {
                    grid-template-columns: repeat(2, 1fr);
                    gap: 8px;
                }
            }

            @media (max-width: 480px) {
                .frev-country-filters {
                    grid-template-columns: repeat(2, 1fr);
                    gap: 6px;
                }
            }

            .frev-country-btn {
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 8px;
                padding: 12px 8px;
                border-radius: var(--frev-radius-btn);
                border: 1.5px solid var(--frev-border);
                background: var(--frev-white);
                color: var(--frev-text-mid);
                font-size: 0.85rem;
                font-weight: 600;
                font-family: inherit;
                cursor: pointer;
                transition: var(--frev-transition);
                width: 100%;
                text-align: center;
            }

            @media (max-width: 480px) {
                .frev-country-btn {
                    padding: 10px 4px;
                    font-size: 0.7rem;
                    gap: 4px;
                }
            }

            @media (min-width: 768px) {
                .frev-country-btn {
                    padding: 12px 12px;
                    font-size: 0.9rem;
                }
            }

            .frev-country-btn--active {
                background: var(--frev-primary);
                border-color: var(--frev-primary);
                color: var(--frev-white) !important;
                box-shadow: 0 4px 12px rgba(57, 181, 74, 0.3);
            }

            .frev-country-name {
                flex: 1;
                text-align: center;
            }

            /* Optimisation pour très petits écrans */
            @media (max-width: 380px) {
                .frev-country-btn {
                    padding: 8px 4px;
                    font-size: 0.65rem;
                    gap: 3px;
                }

                .frev-country-icon svg {
                    width: 10px;
                    height: 10px;
                }
            }

            /* ========== FILTRES RÉGION (TITRES) - GRILLE 3 PAR LIGNE ========== */
            .frev-city-filters {
                display: grid;
                grid-template-columns: repeat(2, 1fr);
                gap: 12px;
                padding: 4px 0;
            }

            @media (max-width: 640px) {
                .frev-city-filters {
                    grid-template-columns: repeat(2, 1fr);
                    gap: 8px;
                }
            }

            @media (max-width: 480px) {
                .frev-city-filters {
                    grid-template-columns: repeat(2, 1fr);
                    gap: 6px;
                }
            }

            .frev-city-btn {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                gap: 6px;
                padding: 10px 8px;
                border-radius: var(--frev-radius-btn);
                border: 1.5px solid var(--frev-border);
                background: var(--frev-white);
                color: var(--frev-text-mid);
                font-size: 0.8rem;
                font-weight: 600;
                font-family: inherit;
                cursor: pointer;
                transition: var(--frev-transition);
                white-space: normal;
                word-break: break-word;
                text-align: center;
                line-height: 1.3;
            }

            @media (max-width: 480px) {
                .frev-city-btn {
                    padding: 8px 4px;
                    font-size: 0.7rem;
                    gap: 4px;
                }
            }

            @media (min-width: 768px) {
                .frev-city-btn {
                    padding: 10px 12px;
                    font-size: 0.85rem;
                }
            }

            .frev-city-btn--active {
                background: var(--frev-primary);
                border-color: var(--frev-primary);
                color: var(--frev-white) !important;
            }

            /* Status et reset */
            .frev-filter-status {
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 8px;
                font-size: 0.8rem;
                color: var(--frev-text-mid);
                flex-wrap: wrap;
                padding: 8px 0;
            }

            @media (min-width: 768px) {
                .frev-filter-status {
                    justify-content: flex-start;
                }
            }

            .frev-status-dot {
                width: 8px;
                height: 8px;
                border-radius: 50%;
                background: var(--frev-primary);
                flex-shrink: 0;
            }

            .frev-reset-btn {
                display: inline-flex;
                align-items: center;
                gap: 4px;
                background: none;
                border: none;
                color: var(--frev-text-light);
                font-size: 0.75rem;
                font-family: inherit;
                cursor: pointer;
                padding: 4px 8px;
                border-radius: 6px;
                transition: var(--frev-transition);
            }

            .frev-reset-btn:hover {
                background: var(--frev-primary-light);
                color: var(--frev-primary);
            }

            /* Header événements */
            .frev-events-header {
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 12px;
                flex-wrap: wrap;
                flex-direction: column;
                text-align: center;
            }

            @media (min-width: 640px) {
                .frev-events-header {
                    flex-direction: row;
                    text-align: left;
                }
            }

            .frev-events-title {
                font-size: clamp(1.1rem, 4vw, 1.3rem);
                font-weight: 700;
                color: var(--frev-text-dark);
                margin: 0;
            }

            .frev-events-count-badge {
                background: var(--frev-primary-light);
                padding: 4px 12px;
                border-radius: 20px;
                font-size: 0.8rem;
                font-weight: 600;
                color: var(--frev-primary);
            }

            /* Grille des cartes - 3 par ligne sur desktop */
            .frev-cards-wrapper {
                overflow: visible;
                position: relative;
                width: 100%;
            }

            .frev-cards-track {
                display: grid;
                grid-template-columns: repeat(2, 1fr);
                gap: 20px;
                padding: 4px 0 8px;
            }

            @media (max-width: 1024px) {
                .frev-cards-track {
                    grid-template-columns: repeat(2, 1fr);
                    gap: 16px;
                }
            }

            @media (max-width: 640px) {
                .frev-cards-track {
                    grid-template-columns: 1fr;
                    gap: 16px;
                }
            }

            .frev-event-card {
                background: var(--frev-white);
                border-radius: var(--frev-radius-card);
                overflow: hidden;
                box-shadow: var(--frev-card-shadow);
                transition: var(--frev-transition);
                display: flex;
                flex-direction: column;
                position: relative;
                width: 100%;
            }

            .frev-event-card:hover {
                transform: translateY(-4px);
                box-shadow: 0 8px 24px rgba(57, 181, 74, 0.15);
            }

            .frev-card-clickable {
                cursor: pointer;
                display: block;
                text-decoration: none;
                color: inherit;
                height: 100%;
            }

            .frev-card-image-wrap {
                position: relative;
                height: 180px;
                overflow: hidden;
                background: #e8eaef;
            }

            @media (max-width: 480px) {
                .frev-card-image-wrap {
                    height: 200px;
                }
            }

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

            .frev-event-card:hover .frev-card-img {
                transform: scale(1.05);
            }

            .frev-card-city-badge {
                position: absolute;
                top: 10px;
                left: 10px;
                background: rgba(255, 255, 255, 0.95);
                backdrop-filter: blur(4px);
                color: var(--frev-text-mid);
                font-size: 0.7rem;
                font-weight: 600;
                padding: 4px 8px;
                border-radius: 20px;
                display: flex;
                align-items: center;
                gap: 4px;
                max-width: calc(100% - 80px);
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
            }

            .frev-card-date {
                position: absolute;
                bottom: 10px;
                right: 10px;
                background: rgba(255, 255, 255, 0.95);
                backdrop-filter: blur(4px);
                border-radius: 8px;
                padding: 4px 8px;
                text-align: center;
                line-height: 1;
            }

            .frev-card-day {
                display: block;
                font-size: 1rem;
                font-weight: 800;
                color: var(--frev-text-dark);
            }

            .frev-card-month {
                display: block;
                font-size: 0.6rem;
                font-weight: 600;
                color: var(--frev-primary);
                text-transform: uppercase;
                margin-top: 1px;
            }

            .frev-card-year {
                display: block;
                font-size: 0.55rem;
                color: var(--frev-text-light);
            }

            .frev-card-body {
                padding: 12px;
                display: flex;
                flex-direction: column;
                gap: 6px;
                flex: 1;
            }

            @media (min-width: 768px) {
                .frev-card-body {
                    padding: 14px 16px 16px;
                }
            }

            .frev-card-title {
                font-size: 0.85rem;
                font-weight: 700;
                color: var(--frev-text-dark);
                margin: 0;
                line-height: 1.35;
            }

            @media (min-width: 768px) {
                .frev-card-title {
                    font-size: 0.88rem;
                }
            }

            .frev-card-excerpt {
                font-size: 0.7rem;
                color: var(--frev-text-light);
                margin: 0;
                line-height: 1.4;
                display: -webkit-box;
                -webkit-line-clamp: 2;
                -webkit-box-orient: vertical;
                overflow: hidden;
            }

            @media (min-width: 768px) {
                .frev-card-excerpt {
                    -webkit-line-clamp: 3;
                }
            }

            .frev-card-location {
                display: flex;
                align-items: center;
                gap: 4px;
                font-size: 0.7rem;
                color: var(--frev-accent-pink);
            }

            /* Colonne droite responsive */
            .frev-right-col {
                display: flex;
                flex-direction: column;
                gap: 20px;
            }

            @media (min-width: 1024px) {
                .frev-right-col {
                    position: sticky;
                    top: 80px;
                }
            }

            .frev-map-container {
                background: var(--frev-white);
                border-radius: 20px;
                padding: 16px;
                box-shadow: var(--frev-card-shadow);
                display: flex;
                align-items: center;
                justify-content: center;
                min-height: 250px;
            }

            @media (min-width: 768px) {
                .frev-map-container {
                    min-height: 300px;
                    padding: 24px;
                }
            }

            .frev-country-map {
                width: 100%;
                height: auto;
                border-radius: 12px;
                display: block;
            }

            .frev-map-placeholder {
                text-align: center;
                color: var(--frev-text-light);
                padding: 40px 20px;
            }

            /* Features box responsive */
            .frev-features-box {
                background: var(--frev-white);
                border-radius: 20px;
                padding: 16px;
                box-shadow: var(--frev-card-shadow);
                display: flex;
                flex-direction: column;
                gap: 12px;
            }

            @media (min-width: 768px) {
                .frev-features-box {
                    padding: 20px 22px;
                    gap: 16px;
                }
            }

            @media (min-width: 640px) and (max-width: 1024px) {
                .frev-right-col {
                    flex-direction: row;
                    flex-wrap: wrap;
                }

                .frev-map-container {
                    flex: 1;
                }

                .frev-features-box {
                    flex: 1;
                }
            }

            .frev-feature-item {
                display: flex;
                align-items: flex-start;
                gap: 12px;
            }

            .frev-feature-icon {
                width: 36px;
                height: 36px;
                border-radius: 10px;
                display: flex;
                align-items: center;
                justify-content: center;
                flex-shrink: 0;
                background: var(--frev-primary-light);
                color: var(--frev-primary);
            }

            @media (min-width: 768px) {
                .frev-feature-icon {
                    width: 42px;
                    height: 42px;
                }
            }

            .frev-feature-icon--blue {
                background: #EFF6FF;
                color: #3B82F6;
            }

            .frev-feature-icon--orange {
                background: #FFF7ED;
                color: var(--frev-accent-orange);
            }

            .frev-feature-icon--teal {
                background: #F0FDFA;
                color: #14B8A6;
            }

            .frev-feature-text strong {
                display: block;
                font-size: 0.8rem;
                font-weight: 700;
                color: var(--frev-text-dark);
                margin-bottom: 4px;
            }

            .frev-feature-text span {
                font-size: 0.7rem;
                color: var(--frev-text-light);
                line-height: 1.4;
            }

            /* États vides et animations */
            .frev-empty-state {
                text-align: center;
                padding: 40px 20px;
                color: var(--frev-text-light);
                grid-column: 1 / -1;
                display: flex;
                flex-direction: column;
                align-items: center;
                gap: 12px;
            }

            @keyframes frev-card-in {
                from {
                    opacity: 0;
                    transform: translateY(20px);
                }

                to {
                    opacity: 1;
                    transform: translateY(0);
                }
            }

            .frev-event-card.frev-visible {
                animation: frev-card-in 0.4s ease-out both;
            }

            /* Optimisations tactiles pour mobile */
            @media (max-width: 768px) {

                .frev-country-btn,
                .frev-city-btn,
                .frev-reset-btn,
                .frev-card-clickable {
                    cursor: pointer;
                    -webkit-tap-highlight-color: transparent;
                }

                .frev-country-btn:active,
                .frev-city-btn:active {
                    transform: scale(0.96);
                }
            }

            /* Améliorations accessibilité */
            @media (prefers-reduced-motion: reduce) {
                * {
                    animation-duration: 0.01ms !important;
                    animation-iteration-count: 1 !important;
                    transition-duration: 0.01ms !important;
                }

                .frev-country-btn:active,
                .frev-city-btn:active {
                    transform: none;
                }
            }
 