/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme
 * Author: Creative Themes
 * Template: blocksy
 * Text Domain: blocksy
 */



.stk-block-carousel__dots {
	z-index:0!important;
}

.box-shadowed {
	box-shadow: 5px 5px 13px -1px rgba(0,0,0,0.77);
}

/* section menu */
/* OVERLAY */
.custom-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.4);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 9998;
}

.custom-overlay.active {
  opacity: 1;
  pointer-events: all;
}

/* OFFCANVAS */
.custom-offcanvas {
  position: fixed;
  top: 0;
  right: 0;
  width: 35%;
  max-width: 520px;
  height: 100vh;
  background: rgba(237, 143, 143, 0.8);
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(.77,0,.18,1);
  z-index: 9999;
  padding: 60px 30px; /* inside-space */
  box-shadow: -10px 0 30px rgba(0,0,0,0.1);
}

.custom-offcanvas.open {
  transform: translateX(0);
}

/* BOUTON FERMER */
.close-menu {
  position: absolute;
  top: 50px;
  right: 20px;
  background: none;
  border: none;
  font-size: 30px;
  cursor: pointer;
}

/* MENU */
.custom-menu ul {
  list-style: none;
  padding: 0 0 0 40px;
  margin-top: 30px;
}

.custom-menu li {
  margin-bottom: 30px;
}

.custom-menu a {
  margin-top:20px;
  font-weight:bolder;
  color: #333333;
  transition: all 0.2s ease;
}

.custom-menu a>span{
  font-size-adjust:1.2;
}

.custom-menu a:hover {
  color: #fff;
  padding-left: 5px;
}

.additional-links li{
	margin-bottom:4px;
}

.additional-links a{
	color: #fff;
	text-decoration:underline;
	margin-top:5px;
	font-weight:normal;
	line-height:3px;
}

.custom-menu2 a {
  margin-top:10px;
  font-weight:bolder;
  color: #333333;
  transition: all 0.2s ease;
}

.custom-menu2 a>span{
  font-size-adjust:0.8;
}

/* Header fixe */
#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  background: #fff; /* header color adjust*/
  box-shadow: 0 2px 10px rgba(0,0,0,0.1); /* optionnal */
}

/* space-behind header */
body {
  padding-top: 80px; /* adjust to header */
}

/* end section menu */


/* section story-tell */
.story-section {
  position: relative;
  height: 200vh; /* scroll double height */
}

.story-bg {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100vh;
  background-size: cover;
  background-position: center;
  z-index: 1;
  transition: opacity 3.6s ease; /* img fade */
}

.story-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 200vh;
  background: linear-gradient(0deg,rgba(237, 143, 143, 0.5) 0%, rgba(237, 143, 143, 0) 100%);
  opacity: 0;
  z-index: 2;
  transition: opacity 3s ease;
}

.story-content {
  position: absolute;
  width:100%;
  margin-top:20vh;
  height:100vh;
  top: 60%;
  left: 100%;
  transform: translate(-50%,50px);
  opacity: 0;
  z-index: 99;
  text-align: left;
  color: white;
  text-shadow: 4px 3px 4px rgba(0,0,0,0.5);
  max-width: 100%;
  transition: transform 3s ease, opacity 1s ease;
}

.story-content h2,h4{
	color: white;
	line-height: 2 !important;
}

.story-content h4{
	font-size:26px;
}

.story-2nd h4{
  line-height: 1.8 !important;
   margin-top:-80px;
}


 @media only screen and (max-width: 600px) {
  .story-content {
  position: relative;
  width:75%;
  margin-top:20vh;
  height:100vh;
  top: 60%;
  left: 50%;
  transform: none;
  opacity: 0;
  z-index: 99;
  text-align: left;
  color: white;
  text-shadow: 4px 3px 4px rgba(0,0,0,0.5);
  max-width: 90%;
  transition: transform 3s ease, opacity 1s ease;
  }
  .story-content h2,h4{
	color: white;
	line-height: 1.5 !important;
}

.story-content h4{
	font-size:22px;
}

.story-2nd h4{
  line-height: 1.2 !important;
   margin-top:-80px;
}
}	 

/*end section story-tell */


/* === Scroll Section fixed-right === */
.scroll-section-clean {
    display: flex;
    max-width: inherit;
  }
  
  .column-left {
    width: 45%;
  }
  
  .column-right {
    width: 55%;
  }
  
  .column-left {
      text-align: center;
  }
  
  .column-right {
      padding:0 80px 40px 20px;
  }
  
  .column-right-scroll-title{
      text-align: center;
      padding: 200px 0 300px 0;
  }
  
  .sticky-block {
    position: sticky;
    top: 0px;
  }
  
  .scrolling-reason{
      padding-top: 25vh;
  }
  
  .scrolling-reason h2{
      padding: 10px 20px 10px 20px;
	  font-size:26px;
  }
  
  
  /* Responsive mobile */
  @media (max-width: 768px) {
    .scroll-section-clean {
      flex-direction: column;
    }
  
    .column-left,
    .column-right {
      width: 100%;
    }
      .column-right-scroll-title{
      text-align: center;
      padding: 50px 0 40px 0;
  }
      
     .column-right {
       padding:0 0 40px 10px;
     }
      .column-right img{
          height: 100px;
      }
  
    .sticky-block {
      position: static;
      top: 0px;
    }
	  
	.scrolling-reason{
    margin-top: -150px;
	  }
  
  .scrolling-reason h2{
      padding: 10px 20px 10px 20px;
	  font-size:20px;
  }
}


/* insta loop */

.infinite-scroll {
    overflow: hidden;
	background-color: #ED8F8F;
	padding:1.5em;
	border-radius:50px;
    width: 70vw;
	margin: 0 auto;
	box-shadow: 3px 3px 3px rgba(45, 45, 45, 0.5);
}

.infinite-track {
	color: #F3F2EC;
  display: flex;
  animation: scrollLoop 25s linear infinite;
}

.infinite-group {
  display: flex;
  gap: 60px;
  white-space: nowrap;
	padding-right: 100px;
}

.infinite-group span {
  font-size: 2rem;
  flex-shrink: 0;
}

.infinite-scroll:hover{
  transform: scale(1.03);
	background-color:#EB6D6D;
}

/* animation clean */
@keyframes scrollLoop {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-80%);
  }
}

@media only screen and (max-width: 768px) {
   .infinite-scroll {
	   width:130%;
	   margin: 0px 0px -20px -40px;
	}
	
	.infinite-group span {
  font-size: 1.2rem;
  flex-shrink: 0;
	}
	.infinite-track {
         animation: scrollLoop2 8s linear infinite;
	  }
	  
      @keyframes scrollLoop2 {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-80%);
  }
}
}


/* end insta loop */



/* floating btn */
.floating-buttons {
    position: fixed; 
    top: 100px;      
    right: 20px;     
    display: flex;  
	flex-direction: column;
    gap: 0px;      
    z-index: 10;  
}
.floating-buttons2 {
	position: fixed;
	top: 286.5px;
	right:20px;
	display: flex;  
	flex-direction: row;
    z-index: 10; 
}

/* btn style */
.float-btn {
	margin-top:10px;
	padding: 50px 10px 30px 10px;
	width: 110px;
    height: 150px;
    border-radius: 55px 55px 0 0; 
    background: #1BB8CE;      
    color: #ffffff;             
    display: flex;
	flex-direction: column;  
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-weight: 600;
	font-size: 18px;        
    box-shadow: 0 4px 12px rgba(0,0,0,0.2); 
    transition: all 0.3s ease;
	line-height: 1;
	text-align:center;
}

.float-btn span{
	padding-top:5px;
	font-size:8px;
}

.float-btn:hover {
	color: #000!important;
	opacity:0.9;
}

.btn-second {
	padding: 10px 12.5px;
    background: #DFDBD4; /*2nd */
	opacity:0.8;
}

@media only screen and (max-width: 600px) {
    .floating-buttons {
		top:10%;      /* sous le menu sticky, ajuste si nécessaire */
        left: 10px;     /* à droite de l'écran */
        display: flex; 
        flex-direction: row; /* ou column si tu veux vertical */
        gap: 10px;
    }
    .float-btn {
        width: 80px;           /* laisse le texte décider de la largeur */
        min-width: 60px;       /* minimum pour garder un cercle approximatif */
        height: 80px;          /* ajuste la hauteur au contenu */
        padding: 5px 6px;    /* espace autour du texte */
        font-size: 12px;       /* lisible sur mobile */
        flex-direction: column; /* empile texte + sous-texte */
        justify-content: center;
        align-items: center;
        border-radius: 50%;    /* reste rond si possible, sinon ovale */
    }
}



/*contact form*/

#checkbox{
  display:flex;
	  flex-direction: column;
}

.wpcf7-list-item {
	margin-left: 0; !important
}

table{
	border-collapse: separate;
	border-spacing:5px;
	margin-bottom: 75px;
	border:none !important;
}

.full_wide{
	width:80% !important;
	height: !important;
	background-color: #F3F2EC !important;
	border:1px solid #707070 !important;
}

td {
	border:none !important;
	text-align:left;
}

.centered {
display:block;
text-align:center;
margin-top:30px;
}
.centered2 {
display: block;
text-align: center;
}
.centered2 input{
	background: #ED8F8F;
	padding: 10px 30px;
	border-radius: 100px;
	border: 2px black;
	margin-left : 40%;
}
.centered2 input:hover{
	background: #F5BDBB;
	border: none;
	color: #FFF8E8;
}

.p_policy{
	padding:4%;
	height:400px;
	background:#F3F2EC !important;
	overflow:scroll;
	border:1px solid #707070 !important;
	margin-bottom:10px;
}
.p_policy h5{
	text-align:center;
}


@media only screen and (max-width: 768px){
td{
font-size: 12px;
}
.full_wide{
	width:100%;
}	
	.jp_bk{
		background-position: contain;
	}
}	
/*end of contact*/