.elementor-393 .elementor-element.elementor-element-a871835{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-393 .elementor-element.elementor-element-ec278c6{--spacer-size:149px;}.elementor-393 .elementor-element.elementor-element-534cf23{--display:flex;}:root{--page-title-display:none;}/* Start custom CSS for shortcode, class: .elementor-element-2c5f516 */:root {
        --color-primary: #7d9d88;
        --color-secondary: #c87f5a;
        --color-accent: #e8b59a;
        --color-dark: #2c3e3e;
        --color-light: #f7f5f2;
        --color-white: #ffffff;
        --color-grey: #6a7878;
        --font-serif: 'Libre Baskerville', serif;
        --font-sans: 'Inter', sans-serif;
    }

    /* ========== CONTENEUR PRINCIPAL ========== */
    .kea-video-library {
        max-width: 1400px !important;
        margin: 0 auto !important;
        padding: 3rem 2rem !important;
        position: relative !important;
    }

    /* Formes décoratives en arrière-plan */
    .kea-video-library::before {
        content: '' !important;
        position: absolute !important;
        top: -100px !important;
        right: -100px !important;
        width: 400px !important;
        height: 400px !important;
        background: linear-gradient(135deg, var(--color-primary), var(--color-accent)) !important;
        border-radius: 50% !important;
        opacity: 0.05 !important;
        z-index: -1 !important;
        animation: float 20s ease-in-out infinite !important;
    }

    .kea-video-library::after {
        content: '' !important;
        position: absolute !important;
        bottom: -150px !important;
        left: -150px !important;
        width: 500px !important;
        height: 500px !important;
        background: linear-gradient(135deg, var(--color-secondary), var(--color-accent)) !important;
        border-radius: 50% !important;
        opacity: 0.05 !important;
        z-index: -1 !important;
        animation: float 25s ease-in-out infinite reverse !important;
    }

    @keyframes float {
        0%, 100% { transform: translate(0, 0) rotate(0deg); }
        25% { transform: translate(30px, -30px) rotate(90deg); }
        50% { transform: translate(0, -50px) rotate(180deg); }
        75% { transform: translate(-30px, -30px) rotate(270deg); }
    }

    /* ========== BARRE DE RECHERCHE ========== */
    .kea-library-controls {
        margin-bottom: 3rem !important;
    }

    .kea-search-wrapper {
        display: flex !important;
        justify-content: center !important;
        margin-bottom: 2rem !important;
    }

    #kea-video-search {
        width: 100% !important;
        max-width: 600px !important;
        padding: 1.2rem 2rem 1.2rem 3.5rem !important;
        background: var(--color-white) !important;
        border: 2px solid var(--color-light) !important;
        border-radius: 50px !important;
        font-family: var(--font-sans) !important;
        font-size: 1rem !important;
        color: var(--color-dark) !important;
        transition: all 0.3s ease !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%237d9d88' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") !important;
        background-repeat: no-repeat !important;
        background-position: 1.2rem center !important;
    }

    #kea-video-search:focus {
        outline: none !important;
        border-color: var(--color-accent) !important;
        box-shadow: 0 8px 25px rgba(232, 181, 154, 0.2) !important;
        transform: translateY(-2px) !important;
    }

    #kea-video-search::placeholder {
        color: var(--color-grey) !important;
        opacity: 0.6 !important;
    }

    /* ========== SECTIONS (Vidéos à l'unité / Abonnements) ========== */
    .kea-section {
        margin-bottom: 3rem !important;
        background: var(--color-white) !important;
        border-radius: 25px !important;
        overflow: hidden !important;
        box-shadow: 0 8px 30px rgba(0, 0, 0, 0.06) !important;
        transition: all 0.4s ease !important;
    }

    .kea-section:hover {
        box-shadow: 0 12px 40px rgba(0, 0, 0, 0.1) !important;
        transform: translateY(-3px) !important;
    }

    /* Header des sections */
    .kea-section-header {
        cursor: pointer !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        background: linear-gradient(135deg, var(--color-primary), var(--color-secondary)) !important;
        padding: 1.5rem 2rem !important;
        border: none !important;
        margin: 0 !important;
        color: var(--color-white) !important;
        font-family: var(--font-serif) !important;
        font-size: 1.8rem !important;
        font-weight: 700 !important;
        transition: all 0.3s ease !important;
    }

    .kea-section-header:hover {
        background: linear-gradient(135deg, var(--color-secondary), var(--color-primary)) !important;
    }

    .kea-section-header span:first-child {
        display: flex !important;
        align-items: center !important;
        gap: 1rem !important;
    }

    /* Icônes décoratifs avant les titres */
    .kea-section-unique .kea-section-header span:first-child::before {
      
        font-size: 1.5rem !important;
    }

    .kea-section-sub .kea-section-header span:first-child::before {
      
        font-size: 1.5rem !important;
    }

    /* Icône toggle */
    .kea-toggle-icon {
        font-size: 1.2rem !important;
        transition: transform 0.3s ease !important;
        color: var(--color-white) !important;
    }

    /* Contenu des sections */
    .kea-section-content {
        padding: 2.5rem 2rem !important;
        background: var(--color-light) !important;
    }

    /* ========== GROUPES DE VIDÉOS (Pilates, Kiné, etc.) ========== */
    .kea-type-group,
    .kea-sub-group {
        margin-bottom: 3rem !important;
    }

    .kea-type-group:last-child,
    .kea-sub-group:last-child {
        margin-bottom: 0 !important;
    }

    .kea-type-group > h3,
    .kea-sub-group > h3 {
        font-family: var(--font-serif) !important;
        font-size: 1.6rem !important;
        color: var(--color-primary) !important;
        margin-bottom: 1.5rem !important;
        padding-bottom: 0.8rem !important;
        border-bottom: 3px solid var(--color-accent) !important;
        display: inline-block !important;
    }

    /* ========== GRILLE DE VIDÉOS ========== */
    .kea-grid {
        display: grid !important;
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
        gap: 2rem !important;
        margin-bottom: 2rem !important;
    }

    /* ========== CARTES VIDÉO ========== */
    .kea-filterable-card {
        transition: all 0.3s ease !important;
    }

    .kea-card {
        background: var(--color-white) !important;
        border: none !important;
        border-radius: 20px !important;
        padding: 0 !important;
        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08) !important;
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
        overflow: hidden !important;
        height: 100% !important;
        display: flex !important;
        flex-direction: column !important;
    }

    .kea-card:hover {
        box-shadow: 0 12px 35px rgba(0, 0, 0, 0.15) !important;
        transform: translateY(-8px) !important;
    }

    /* Thumbnail */
    .kea-thumbnail {
        position: relative !important;
        width: 100% !important;
        height: 220px !important;
        overflow: hidden !important;
        background: linear-gradient(135deg, var(--color-light), var(--color-white)) !important;
        margin: 0 !important;
    }

    .kea-thumbnail::before {
        content: '' !important;
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background: linear-gradient(180deg, transparent, rgba(0,0,0,0.1)) !important;
        opacity: 0 !important;
        transition: opacity 0.3s ease !important;
        z-index: 1 !important;
    }

    .kea-card:hover .kea-thumbnail::before {
        opacity: 1 !important;
    }

    .kea-thumbnail img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        transition: transform 0.6s ease !important;
        border-radius: 0 !important;
    }

    .kea-card:hover .kea-thumbnail img {
        transform: scale(1.1) !important;
    }

    /* Badge "Abonnement" sur les vignettes */
    .kea-sub-group .kea-thumbnail::after {
        
        position: absolute !important;
        top: 1rem !important;
        right: 1rem !important;
        background: linear-gradient(135deg, var(--color-secondary), var(--color-accent)) !important;
        color: white !important;
        padding: 0.4rem 1rem !important;
        border-radius: 20px !important;
        font-size: 0.75rem !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        z-index: 2 !important;
        box-shadow: 0 3px 10px rgba(0,0,0,0.2) !important;
    }

    /* Contenu de la carte */
    .kea-card h3 {
        font-family: var(--font-serif) !important;
        font-size: 1.3rem !important;
        color: var(--color-primary) !important;
        margin: 1.5rem 1.5rem 1rem !important;
        line-height: 1.3 !important;
        min-height: 2.6rem !important;
    }

    /* Bouton Visionner */
    .kea-card .button {
        display: block !important;
        width: calc(100% - 3rem) !important;
        margin: 0 1.5rem 1.5rem !important;
        padding: 1rem !important;
        background: linear-gradient(135deg, var(--color-primary), var(--color-secondary)) !important;
        color: var(--color-white) !important;
        text-align: center !important;
        text-decoration: none !important;
        border-radius: 50px !important;
        font-family: var(--font-sans) !important;
        font-size: 0.95rem !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
        transition: all 0.4s ease !important;
        box-shadow: 0 4px 15px rgba(125, 157, 136, 0.3) !important;
        border: none !important;
        margin-top: auto !important;
    }

    .kea-card .button:hover {
        background: linear-gradient(135deg, var(--color-secondary), var(--color-primary)) !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 6px 20px rgba(125, 157, 136, 0.4) !important;
        color: var(--color-white) !important;
    }

    /* ========== ÉTAT VIDE (Aucun résultat) ========== */
    .kea-no-results {
        text-align: center !important;
        padding: 4rem 2rem !important;
        color: var(--color-grey) !important;
    }

    .kea-no-results::before {
        content: '🔍' !important;
        display: block !important;
        font-size: 4rem !important;
        margin-bottom: 1rem !important;
        opacity: 0.3 !important;
    }

    /* ========== RESPONSIVE ========== */
    
    /* Large Desktop (> 1440px) */
    @media (min-width: 1441px) {
        .kea-grid {
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
        }
    }

    /* Desktop (1025px - 1440px) */
    @media (min-width: 1025px) and (max-width: 1440px) {
        .kea-grid {
            grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
        }
    }

    /* Tablet Landscape (769px - 1024px) */
    @media (min-width: 769px) and (max-width: 1024px) {
        .kea-video-library {
            padding: 2rem 1.5rem !important;
        }

        .kea-grid {
            grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
            gap: 1.5rem !important;
        }

        .kea-section-header {
            font-size: 1.5rem !important;
            padding: 1.3rem 1.5rem !important;
        }
    }

    /* Tablet Portrait (481px - 768px) */
    @media (min-width: 481px) and (max-width: 768px) {
        .kea-video-library {
            padding: 2rem 1rem !important;
        }

        #kea-video-search {
            max-width: 100% !important;
            padding: 1rem 1.5rem 1rem 3rem !important;
        }

        .kea-grid {
            grid-template-columns: repeat(2, 1fr) !important;
            gap: 1.5rem !important;
        }

        .kea-section-header {
            font-size: 1.4rem !important;
            padding: 1.2rem 1.3rem !important;
        }

        .kea-section-content {
            padding: 2rem 1.5rem !important;
        }

        .kea-thumbnail {
            height: 180px !important;
        }
    }

    /* Mobile (320px - 480px) */
    @media (max-width: 480px) {
        .kea-video-library {
            padding: 1.5rem 1rem !important;
        }

        .kea-library-controls {
            margin-bottom: 2rem !important;
        }

        #kea-video-search {
            padding: 0.9rem 1.2rem 0.9rem 2.8rem !important;
            font-size: 0.9rem !important;
            background-size: 16px 16px !important;
            background-position: 1rem center !important;
        }

        .kea-section {
            margin-bottom: 2rem !important;
            border-radius: 20px !important;
        }

        .kea-section-header {
            font-size: 1.2rem !important;
            padding: 1rem 1.2rem !important;
        }

        .kea-section-header span:first-child::before {
            font-size: 1.2rem !important;
        }

        .kea-toggle-icon {
            font-size: 1rem !important;
        }

        .kea-section-content {
            padding: 1.5rem 1rem !important;
        }

        .kea-type-group > h3,
        .kea-sub-group > h3 {
            font-size: 1.3rem !important;
            margin-bottom: 1rem !important;
        }

        .kea-grid {
            grid-template-columns: 1fr !important;
            gap: 1.5rem !important;
        }

        .kea-thumbnail {
            height: 200px !important;
        }

        .kea-card h3 {
            font-size: 1.2rem !important;
            margin: 1.2rem 1.2rem 0.8rem !important;
        }

        .kea-card .button {
            width: calc(100% - 2.4rem) !important;
            margin: 0 1.2rem 1.2rem !important;
            padding: 0.9rem !important;
            font-size: 0.85rem !important;
        }

        .kea-video-library::before,
        .kea-video-library::after {
            display: none !important;
        }
    }

    /* Very Small Mobile (< 320px) */
    @media (max-width: 320px) {
        .kea-video-library {
            padding: 1rem 0.8rem !important;
        }

        .kea-section-header {
            font-size: 1.1rem !important;
            padding: 0.9rem 1rem !important;
        }

        .kea-thumbnail {
            height: 180px !important;
        }
    }

    /* ========== ANIMATIONS SUPPLÉMENTAIRES ========== */
    @keyframes fadeIn {
        from {
            opacity: 0;
            transform: translateY(20px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .kea-filterable-card {
        animation: fadeIn 0.5s ease-out !important;
    }

    .kea-filterable-card:nth-child(1) { animation-delay: 0.05s !important; }
    .kea-filterable-card:nth-child(2) { animation-delay: 0.1s !important; }
    .kea-filterable-card:nth-child(3) { animation-delay: 0.15s !important; }
    .kea-filterable-card:nth-child(4) { animation-delay: 0.2s !important; }
    .kea-filterable-card:nth-child(5) { animation-delay: 0.25s !important; }
    .kea-filterable-card:nth-child(6) { animation-delay: 0.3s !important; }

    /* ========== LOADING STATE ========== */
    .kea-video-library.loading .kea-card {
        pointer-events: none !important;
        opacity: 0.6 !important;
    }

    /* ========== SCROLL TO TOP BUTTON ========== */
    .kea-scroll-top {
        position: fixed !important;
        bottom: 2rem !important;
        right: 2rem !important;
        width: 50px !important;
        height: 50px !important;
        background: linear-gradient(135deg, var(--color-primary), var(--color-secondary)) !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: white !important;
        font-size: 1.5rem !important;
        cursor: pointer !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transition: all 0.3s ease !important;
        box-shadow: 0 4px 15px rgba(125, 157, 136, 0.4) !important;
        z-index: 1000 !important;
    }

    .kea-scroll-top.visible {
        opacity: 1 !important;
        visibility: visible !important;
    }

    .kea-scroll-top:hover {
        transform: translateY(-5px) !important;
        box-shadow: 0 6px 20px rgba(125, 157, 136, 0.5) !important;
    }

    /* ========== PRINT STYLES ========== */
    @media print {
        .kea-library-controls,
        .kea-card .button,
        .kea-scroll-top {
            display: none !important;
        }

        .kea-section-content {
            display: block !important;
        }
    }/* End custom CSS */