/*
Theme Name: Hello Elementor Child
Theme URI:  https://sensitofilms.fr
Author:     •Swan•
Author URI: https://swan.paris
Template:   hello-elementor
Version:    1.0
License:    GNU General Public License v2 or later
*/


/* Empêche le rebond vertical (haut et bas) */
html, body {
    overscroll-behavior-y: none;
}

/* Colore le texte des champs non WISIWIG */
.black{
	color: #000000;
}

/* Empeche les balises strong de passer en bold */
.noStrong p strong{
    font-weight: initial;
}

/* Ajuste la taille des <sup> sur mobile */
@media (max-width: 767px) {
    sup {
        font-size:60% !important;
    }
}

/* Header */
/* Détermine la durée des transitions */
#headerContainer{
	transition: background-color 0.1s;
}
#headerLogo,{
	transition: opacity 0,4s, width 0.4s;
}
#headerLogoNegative{
	transition: opacity 0s, width 0.4s;
}
#headerMenu a{
	transition: color 0.1s;
}
#headerMenu a:hover{
	color: #548ECE !important;
}

/* Anchor Offset */
/* Cible le widget "Menu d'ancre" d'Elementor */
.elementor-menu-anchor {
    scroll-margin-top: 139px !important; /* Valeur desktop */
}

@media (max-width: 767px) {
    .elementor-menu-anchor {
        scroll-margin-top: 139px !important; /* Valeur mobile */
    }
}

/* Custom fadein-up animation */
/* Crée une classe .fadeInUpCustom cible la classe d'Elementor */
@keyframes fadeInUpCustomAnimation {
from {
opacity: 0;
transform: translate3d(0, 20px, 0); /* Adjust the translation as needed */
}
to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}
}
.fadeInUpCustom.fadeInUp {
animation-name: fadeInUpCustomAnimation;
animation-duration: 1s; /* Adjust duration as needed */
animation-fill-mode: both;
}

/* Overlay au survols des blocs Youtube-Vimeo-Google Maps */
.overlayContainer:hover .overlay{
    opacity: 0.1;
}

.overlayContainer:hover .overlayText{
    opacity: 0.8;
}

.overlayContainer .overlay,
.overlayContainer .overlayText
{
    opacity: 0;
    transition: opacity 0.5s;
    
}

/* CSS Commun aux carousels */
/* --- Configuration du débordement --- */
.overflow-swiper {
    overflow: visible !important;
    clip-path: inset(0px -5000px 0px -2px);
}

.overflow-swiper .swiper-container, 
.overflow-swiper .swiper {
    overflow: visible !important;
}

.elementor-swiper-button-next,
.elementor-swiper-button-prev{
	transition-duration: 0s !important;
}


/* CSS grille Packery */
/* 1. Structure du conteneur (Anti-Flash) */
.custom-packery-grid .elementor-loop-container {
    display: block !important;
    position: relative;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s;
}

/* Apparition une fois Packery chargé */
.custom-packery-grid .elementor-loop-container.packery-ready { 
    opacity: 1; 
    visibility: visible; 
}

/* 2. Comportement de la Grille (2 colonnes Desktop/Tablet, 1 Mobile) */
.custom-packery-grid .e-loop-item {
    width: 50% !important;
    box-sizing: border-box;
    /* Transition fluide gérée par le navigateur pour le repositionnement des voisins */
    transition: top 0.4s cubic-bezier(0.4, 0, 0.2, 1), left 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

@media (max-width: 767px) {
    .custom-packery-grid .e-loop-item { width: 100% !important; }
}

/* 3. Contenu masqué (Toggle) */
.my-hidden-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-in-out;
}

/* IMPORTANT : Désactive la transition de position sur l'item en cours d'ouverture 
   pour éviter que Packery ne lutte contre le ResizeObserver */
.e-loop-item.is-expanding {
    transition: none !important;
}