/*
Theme Name: Twenty Twenty-Five Child
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Template: twentytwentyfive
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Tags: one-column,custom-colors,custom-menu,custom-logo,editor-style,featured-images,full-site-editing,block-patterns,rtl-language-support,sticky-post,threaded-comments,translation-ready,wide-blocks,block-styles,style-variations,accessibility-ready,blog,portfolio,news
Version: 1.0.1738593442
Updated: 2025-02-03 14:37:22

*/


.wp-block-post-title{
display:none!important;
}

#wp--skip-link--target{
margin-top:-14px!important;
}

#wp--skip-link--target > div:first-of-type{
padding-top:0!important;
padding-bottom:0!important;
}

.elementor-19, .elementor-115{
max-width:100%!important;
}

.e-con-inner{
max-width:100%!important;
}

.header-lucas > div:first-of-type, .footer-lucas > div:first-of-type{
max-width:100%;
}

.header-lucas a{
color:#5B3D3F!important;
}


.header-lucas > div:nth-child(1) {
justify-content:center;
}

.header-lucas li a{
transition: transform 0.3s ease-in-out,font-weight 0.1s ease-in-out;

}

.header-lucas li:hover a{
font-weight:700;
transform: translateY(-3px);
text-decoration:none;

}

.header-lucas ul{
gap:50px;
}


#modal-1{
background-color:#FFFCEB!important;
}

#spectre-grand{
height:100%!important;
}

div:has(> #grille-videos) {
    max-width:85%;
}

div:has(> #grille-graphiques) {
    max-width:80%;
}

.elementor-524, .elementor-1393{

    max-width:85%;
}

.elementor-93{

    max-width:80%;
}

.elementor-95{

    max-width:85%;
}



#video-hallo .elementor-wrapper{
--video-aspect-ratio: 1.5;
}




 .elementor-1393 .elementor-button{
width:100%;
}





 .elementor-1393{
    .carousel {
      position: relative;
      width: auto;
      height: 400px;
      overflow: hidden;
      border-radius: 12px;
 
    }

    .carousel-images {
      display: flex;
      transition: transform 0.5s ease;
      height: 100%;
    }

    .carousel-images img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      flex-shrink: 0;
    }

    .carousel:hover {
      cursor: grab;
    }
}


#gallery-test .gallery {
            column-count: 3;
            column-gap: 10px;
        }

        #gallery-test .gallery-item {
            display: inline-block;
            width: 100%;
            margin-bottom: 10px;
            position: relative;
            overflow: hidden;
            border-radius: 17px;

        }

        #gallery-test .gallery-item img {
            width: 100%;
            height: auto;
            display: block;
            border-radius: 10px;
        }


        #gallery-test  .gallery-item .title {
            position: absolute;
            bottom: -50px;
            left: 0;
            width: 100%;
            background: rgba(9, 9, 9, 0.75);
            color: #fffceb;
            text-align: center;
            padding: 0;
            transition: transform 0.5s ease-in-out;
	    padding-bottom:10px;

	p{
	margin-top:5px;
	margin-bottom:0px;
	font-weight:700;
	}
        }

#gallery-test  .gallery-item .title .illu::after{
    content: "";
    display: block;
    width: 50px;
    height: 50px;
color:white;
    background-image: url('https://lucaslavoyer.fr/wp-content/uploads/2025/02/Illustrator_Plan-de-travail-1.svg');
    background-size: contain;
    background-repeat: no-repeat;
}


        #gallery-test  .gallery-item .title span {
            display: block;
            max-height: 0;
            overflow: hidden;
            transition: max-height 0.4s ease-in-out;
	    font-size:11pt;
	    padding-bottom:2px;
	    padding-left:6px;
	    padding-right:6px;

	a{
	font-weight:600;
	transition: 0.2s ease;
	}
	a:hover{
	text-decoration:underline!important;
	background: #fffceb;
  	color: #5b3d3f;
 	padding-left: 5px;
  	padding-right: 5px;
 	border-radius: 4px;
	}
        }

        #gallery-test  .gallery-item:hover .title {
            transform: translateY(-50px);
        }

        #gallery-test  .gallery-item:hover .title span {
            max-height: 65px;
	    overflow-y:auto;
	    
        }
	
	.is-menu-open li{
	text-align :center;
		
		a{
		font-size:15pt
		}
	}

	.is-menu-open ul{
	height:100vh;
	}

	.forminator-button-submit{
font-size: 17px!important;
  font-family: inherit;
  font-weight: 500;
  background-color: #5b3d3f;
  color: #fffceb;
}

.forminator-button-submit:hover{
background-color: #fffceb;
  color: #5b3d3f;
  border: 1px solid #5b3d3f!important;
  font-size: 17px!important;
}

.forminator-textarea{
background-color:#fffceb;
}

.forminator-field label{
font-size:17px;}

#balle_rebond{
left:1030px;
top:0px;
}

.elementor-1393 .elementor-element-6b10110, .elementor-element-c47d223, .elementor-element-145a44b, .elementor-element-5929933   {
padding:0px!important;
}


        @media (max-width: 1535px) {
           #balle_rebond{
		left:835px;
		top:0px;
		}
        }

        @media (max-width: 1247px) {
           #balle_rebond{
		left:700px;
		top:80px;
		}
        }


        @media (max-width: 768px) {
           #gallery-test  .gallery {
                column-count: 2;
            }
        }

        @media (max-width: 480px) {
           #gallery-test  .gallery {
                column-count: 1;
            }

	.elementor-524{
 		max-width:95%;
	}

	div:has(> #grille-videos) {
    		max-width:95%;
	}

	.header-lucas > div:nth-child(1) {
	justify-content:unset;
	}

	.elementor-93{
    	max-width:95%;
	}

	.elementor-1393{
	max-width:100%;
	}

	.elementor-95{

        max-width:95%;
	}

        #balle_rebond{
		left:208px;
		top:-15px;
		width:35%;
	}

	.elementor-1393{
    	   .carousel {
     		position: relative;
      		width: auto;
      		height: 200px;
      		overflow: hidden;
      		border-radius: 12px;
 
    	   }
	}


}

/* section tarifs */


.pricing-section {
      max-width: 100%;
      margin: auto;
      padding: 20px;
      background: white;
      
      border-radius: 12px;
    }

    .pricing-section h2 {
      text-align: center;
      margin-bottom: 30px;
      color: #222;
    }

    table {
      width: 100%;
      border-collapse: collapse;
    }

    thead {
      background-color: #222;
      color: white;
    }

    th, td {
      padding: 16px;
      text-align: left;
      border-bottom: 1px solid #ddd;
    }

    tbody tr:hover {
      background-color: #f0f0f0;
    }

@media (max-width: 768px) {
  table, thead, tbody, th, td, tr {
    display: block;
    width: 100%;
  }

  thead {
    display: none;
  }

  tr {
    margin-bottom: 20px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.05);
    padding: 10px;
  }

  td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    border-bottom: 1px solid #eee;
    font-size: 15px;
  }

  td::before {
    content: attr(data-label);
    font-weight: bold;
    color: #333;
    flex: 1;
    margin-right: 10px;
  }

  td:last-child {
    border-bottom: none;
  }
}

    @media (max-width: 768px) {
      table, thead, tbody, th, td, tr {
        display: block;
      }

      thead {
        display: none;
      }

      tr {
        margin-bottom: 20px;
        background: #fff;
        border-radius: 10px;
        box-shadow: 0 2px 6px rgba(0,0,0,0.05);
        padding: 10px;
      }

      td {
        display: flex;
        justify-content: space-between;
        padding: 10px;
        border: none;
        border-bottom: 1px solid #eee;
      }

      td::before {
        content: attr(data-label);
        font-weight: bold;
        color: #333;
      }
    }




.gallery {
 
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 15px;
}
.gallery-item {
  transition: all 0.4s ease;
  opacity: 1;
  transform: scale(1);
}


.gallery-item.hidden {
  opacity: 0;
display:none !important;
  transform: scale(0.8);
  pointer-events: none;
}

.gallery-item.appear {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.gallery-item.show {
  opacity: 1;
  transform: scale(1);
}
.gallery-item img {
  width: 100%;
  border-radius: 8px;
  display: block;
}
.title {
  margin-top: 8px;
  font-size: 14px;
  text-align: center;
}

/* Boutons */
.filter-buttons {
  margin-bottom: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  position: relative;
  justify-content: center;
  width: 100%;
}
.filter-buttons button {
  padding: 8px 14px;
  border: none;
  background: #5b3d3f;
  color: #fffceb;
  cursor: pointer;
  border-radius: 10px;
  transition: background 0.3s, transform 0.2s;
  border: 2px solid #5b3d3f;
}
.filter-buttons button:hover {
  background: #fffceb;
  transform: scale(1.05);
  color:#5b3d3f;
}

/* === MEDIA QUERIES === */

/* Petits écrans (smartphones) */
@media (max-width: 600px) {
  .gallery {
    grid-template-columns: 1fr; /* une seule colonne */
    gap: 12px;
  }
  .title {
    font-size: 12px;
  }
  .filter-buttons {
    justify-content: center;
  }
  .filter-buttons button {
    flex: 1 1 40%; /* deux boutons par ligne */
    font-size: 12px;
  }

.gallery-item::after{
content:"+";
position: absolute;
  bottom: 5px;                   /* coin bas/droite */
  right: 8px;
  width: 24px;                   /* petit badge rond (optionnel) */
  height: 24px;
  display: grid;
  place-items: center;
  font-weight: 600;
  line-height: 1;
  border-radius: 15px;
  background: #5b3d3f;              /* style du badge */
  color: white;
  pointer-events: auto; 
}

/*
.gallery-item.clicked::after{
opacity:0;
}
*/


}

/* Tablettes */
@media (min-width: 601px) and (max-width: 1024px) {
  .gallery {
    grid-template-columns: repeat(2, 1fr); /* deux colonnes */
  }
  .title {
    font-size: 13px;
  }
}

/* Grands écrans (PC) */
@media (min-width: 1025px) {
  .gallery {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  }
}

