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

@font-face {
	font-family: 'Overpass';
	src: url('/wp-content/uploads/2026/01/Overpass-Regular.woff2') format('woff2'),
		url('/wp-content/uploads/2026/01/Overpass-Regular.woff') format('woff');
	font-weight: 400; 
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Overpass';
	src: url('/wp-content/uploads/2026/01/Overpass-Bold.woff2') format('woff2'),
		url('/wp-content/uploads/2026/01/Overpass-Bold.woff') format('woff');
	font-weight: 700; 
	font-style: normal;
	font-display: swap;
}
section[id], div[id]{
  scroll-margin-top: 90px!important;
}

/* Quand le offcanvas n'est PAS actif, il ne doit pas intercepter les clics */
#offcanvas:not(.active){
  pointer-events: none !important;
  visibility: hidden !important;
}

/* Quand il est actif, on rétablit */
#offcanvas.active{
  pointer-events: auto !important;
  visibility: visible !important;
}

.gform_wrapper.gravity-theme .ginput_container_date input {
    width: 100%!important;
}

.brz-a span {
	text-transform: uppercase!important;
}


h2 em {
	display: block!important;
	font-style: normal!important;
}

/* Gravity Forms inputs */
#gform_1 input[type="text"],
#gform_1 input[type="email"],
#gform_1 input[type="tel"],
#gform_1 textarea,
#gform_1 select

{
  border-radius: 8px !important;
  border: 1px solid #fff !important;
	color: #fff !important;
}

#gform_1,
#gform_1 label,
#gform_2,
#gform_2 label{
  font-weight: 400 !important;
  color: #fff !important;
}

::placeholder {
	color: #fff!important;
	opacity: 1!important;
}

.gform_required_legend {
	display: none!important;
}

#gform_submit_button_1 {
    border-radius: 8px !important;
    color: #b5b17e !important;
	font-weight: 700!important;
	text-transform: uppercase!important;
    font-size: 16px !important;
    padding: 10 30px !important;
    margin-bottom: 0px !important;
    background: #fff !important;
}

select{
  -webkit-appearance: none!important;
  -moz-appearance: none!important;
  appearance: none!important;

  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")!important;
  background-repeat: no-repeat!important;
  background-position: right 14px center!important;
  background-size: 12px 8px!important;

  padding-right: 40px!important;
}


/* 1) enlever les puces natives */
.list-custom-link{
  list-style: none;
  margin: 0;
  padding: 0;
}

.list-custom-link ul {
	margin-left: 0px!important;
}

.list-custom-link li{
  margin:0px;
  list-style-type:none!important;
    margin-inline-start: 0px!important;
}

.list-custom-link li:before{
  display: none!important;
	
}

.list-custom-link li a{
  position: relative;
  padding-left: 22px;
  transition: padding-left .3s ease;
background-color: transparent!important;
}

.list-custom-link li a::before{
  content: "→";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: transform .3s ease;
}

.list-custom-link li a:hover{
  padding-left: 28px;
	text-decoration: none!important;
}

.list-custom-link li a:hover::before{
  transform: translateY(-50%) translateX(6px);
}

@media (min-width: 1001px){
.key-animation{
  cursor: pointer;
}

/* fermé */
.text-animation{
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-8px);
  transition:
    max-height .45s ease,
    opacity .4s ease,
    transform .4s ease;
}

/* ouvert */
.key-animation:hover .text-animation{
  max-height: 500px; /* valeur safe */
  opacity: 1;
  transform: translateY(0);
  transition:
    max-height .45s ease,
    opacity .55s ease .30s,   /* 👈 texte plus lent + délai */
    transform .55s ease .30s;
}
	}
.title-custom em {
	font-weight: 700!important;
	font-style: normal!important;
	color: #A3A574 !important;
	font-size: 35px!important;
}

.blur-effect .brz-bg {
	backdrop-filter: blur(2px)!important;
}


.fixed-cta {
		z-index: 30;
		display: flex;
		flex-direction: column;
		position: fixed;
		top: 50%;
		right: 1%;
		transform: translateY(-50%);
		gap: 10px;
	  }

	  .fixed-cta svg {
		transition: 0.2s;
	  }

	  .fixed-cta a:hover {
		transform: scale(1.09);
		  transition: all 0.2s ease-out;
	  }

	  .fixed-cta a {
		display: flex;
		border-radius: 0px;
		height: 48px;
		justify-content: center;
		align-items: center;
		width: 48px;
		cursor: pointer;
		  transform: scale(1);
		  transition: all 0.2s ease-out;
	  }

	  .fixed-cta a {
		background-color: #b5b17e;
	  }

	  .fixed-cta a span {
		display: none;
	  }

	  .recontact {
		position: fixed;
		right: 0;
		top: 50%;
		z-index: 31;
		background-color: white;
		padding: 20px;
		border: 2px solid #887e78;
		width: 325px;
		transform: translate(100%, -50%);
		opacity: 0;
		transition: 0.4s;
		z-index: 1000 !important;
	  }

	  .recontact .gform_legacy_markup_wrapper {
		margin: 0 !important;
	  }

	  .recontact-open {
		transform: translate(calc(0% - 85px), -50%) !important;
		opacity: 1;
	  }

	  .recontact,
	  .recontact form {
		display: flex;
		flex-direction: column;
		gap: 0px;
		align-items: center;
	  }

	  .recontact form {
		width: 100% !important;
	  }

	  .recontact form li {
		padding: 0 !important;
		margin: 0 !important;
	  }

	  .recontact #gform_wrapper_5 {
		width: 100%;
	  }

	  .recontact form .gform_footer {
		width: fit-content !important;
		margin: 0 !important;
	  }

	  .recontact label {
		font-size: 25px;
		margin: 0;
		text-transform: uppercase;
	  }

	  .recontact [type="submit"] {
		margin: 0 auto !important;
	  }
		
		.close-popup {
			position: absolute;
			right: 10px;
			top: 10px;
			cursor: pointer;
		}
		


	  @media screen and (max-width: 767px) {
		.fixed-cta {
		  flex-direction: row;
		  width: 100%;
		  bottom: 0;
		  justify-content: CENTER;
		  top: unset;
		  padding: 5px;
		  transform: translatey(0);
		  background: #bcbaa1;
			right:0;
			gap:5px;
		}
		
		.fixed-cta-programme {
		  padding: 10px 10px 55px 10px !important;
		}

		.recontact-open {
			transform: translate(-50%, -50%) !important;
			left: 50%;
		  }

		.fixed-cta a {
		height: 45px;
        width: fit-content;
        padding: 0;
        border-color: transparent;
        width: 100%;
        border-radius: 0px;
		}
		  
		  .fixed-cta a:not(.fixed-cta a:last-child) {
			  border-right: 1px solid #bcbaa1;
		  }

		.fixed-cta a span {
		  color: white;
		}

		.fixed-cta a svg {
		  height: 1.3em;
		  margin-right: 7px;
		}
		  
		 .fixed-cta span {
			display: none;
		 }
	  }
		
	  @media screen and (max-width: 400px) {
		  .fixed-cta a svg {
			  width: 20px !important;
		  }
	  }

.hero-section.is-width-constrained {
	display: none!important;
}

.ct-container-full {
	padding: 0px!important;
}

.shadow-generator .brz-bg {
	box-shadow: rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px!important;
}


.fw-footer{
  background-image: url('/wp-content/uploads/2026/01/footer-background.png');
	background-size: cover;
	background-repeat: no-repeat;
  color:#fff;
  padding:75px 0 20px 0;
}

@media (max-width: 1000px){
	.fw-footer{
	  padding:50px 0 20px 0;
	}
  }

@media (max-width: 768px){
	.fw-footer{
	  padding:40px 0 75px 0;
		background-image: none;
	background-color: #53648A!important;
	}
  }


.fw-footer a{ color:inherit; text-decoration:none; }
.fw-footer a:hover,
.fw-footer a:focus-visible{ color: #bebca4 }

.fw-footer__grid{
  display:grid;
  grid-template-columns: 1.1fr 1fr 1fr 1.5fr;
  gap:36px;
  align-items:start;
  padding-bottom:26px;
  border-bottom:1px solid rgba(255,255,255,.14);
}

.fw-footer__title{
  margin:0 0 14px;
  font-size:18px;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-family: "Overpass";
	font-weight: 700;
}

.fw-footer__logo{
  display:inline-flex;
  width:240px;
  max-width:100%;
  height:auto;
}
.fw-footer__logo img{
  width:100%;
  height:auto;
  display:block;
}

/* Menu WP */
.fw-footer__menu{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.fw-footer__menu a{
  font-size:16px;
  font-weight:600;
  opacity:.92;
  font-family: "Overpass";
	font-weight: 400;
}

.fw-footer__cta .brz-a {
	width: fit-content!important;
	font-size: 16px!important;
	    padding: 15px 10px 10px 10px!important;
}

/* Listes légales / contact */
.fw-footer__list{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.fw-footer__link{
  font-size:16px;
  font-weight:600;
  opacity:.9;
  font-family: "Overpass";
	font-weight: 400;
}

/* CTA */
.fw-footer__cta{
  margin-top:16px;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.fw-footer__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 16px;
  border-radius:999px;
  background:#6fd06c;
  color:#102612;
  font-weight:800;
  font-size:14px;
  line-height:1;
  border:1px solid transparent;
  transition:transform .15s ease, filter .15s ease;
  white-space:nowrap;
}
.fw-footer__btn:hover{
  text-decoration:none;
  transform:translateY(-1px);
  filter:brightness(1.02);
}

.fw-footer__btn--ghost{
  background:rgba(255,255,255,.08);
  color:#fff;
  border-color:rgba(255,255,255,.18);
}
.fw-footer__btn--ghost:hover{
  filter:none;
}

/* Bottom */
.fw-footer__bottom{
  margin-top:16px;
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  justify-content:space-between;
  align-items:center;
}
.fw-footer__copyright,
.fw-footer__credits{
  margin:0;
  font-size:12px;
  line-height:1.5;
  opacity:.82;
  font-family: "Overpass";
	font-weight: 400;
}
.fw-footer__credits{
  opacity:.75;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* TABLET : 2 colonnes */
@media (max-width: 1000px){

  .fw-footer__grid{
    grid-template-columns: 0.7fr 0.7fr 1.4fr;
    gap:22px;
  }

  /* Logo en pleine largeur sur la 1ère ligne */
  .fw-footer__col--logo{
    grid-column: 1 / -1;
    display:flex;
    justify-content:center; /* centre horizontalement */
	  margin-bottom: 30px;
  }

  .fw-footer__logo{
    justify-content:center;
    margin:0 auto;
    text-align:center;
  }

  .fw-footer__logo img{
    margin:0 auto;
  }

  /* Menu / legal / contact alignés sur la 2e ligne */
  .fw-footer__col--menu{
    grid-column: 1;
  }
  .fw-footer__col--legal{
    grid-column: 2;
  }
  .fw-footer__col--contact{
    grid-column: 3;
  }

  /* CTA plus compact en tablette (évite la casse sur 1/3) */
  .fw-footer__cta{
    flex-direction:column;
  }

  .fw-footer__btn{
    width:100%;
  }
}

/* MOBILE : 1 colonne */
@media (max-width: 768px){
  .fw-footer__grid{
	display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        gap: 30px;
        align-items: center;
        justify-content: center;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
  }
	
	.fw-footer__list, .fw-footer__menu {
		gap: 2px
	}
	
	.fw-footer__title {
		margin: 0px!important;
	}

  .fw-footer__logo{
    width:200px;
  }

  .fw-footer__cta{
    flex-direction:column;
  }

  .fw-footer__btn{
    width:100%;
  }
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  .fw-footer__btn{ transition:none; }
}

.ct-button {
	border-radius: 0px!important;
}

.btn-footer {
	padding: 10px 15px;
	text-transform: uppercase;
	font-weight: 700;
	width: fit-content!important;
	font-size: 15px;
}

.btn-footer-1 {
	background-color: #b5b17e;
	color: #fff;
	transition: all 0.5s ease-out;
}

.btn-footer-2 {
	background-color: #fff;
	color: #b5b17e!important;
	transition: all 0.5s ease-out;
}

.btn-footer-1:hover {
	background-color: #9d985a;
	color: #fff!important;
	transition: all 0.5s ease-out;
}

.btn-footer-2:hover {
	background-color: transparent;
	color: #fff!important;
	transition: all 0.5s ease-out;
}

@media (max-width: 768px){
	.btn-footer {
	  font-size: 14px;
	}
	
	.fw-footer__col--logo img {
		max-width: 150px;
		margin: 0 auto;
	}
	
	.fw-footer__col--logo, .btn-footer {
		margin: 0 auto;
	}
	
	.fw-footer__nav, .fw-footer__col {
		text-align: center;
	}
    .fw-footer__bottom {
        align-items: center;
		justify-content: center;
		gap: 0px;
    }
  }


.faq-grid{
    display:grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  @media (max-width: 980px){
    .faq-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width: 640px){
    .faq-grid{ grid-template-columns: 1fr; }
  }

  .faq-card{
    overflow: hidden;
    background: #bdb97d;
	  color: #fff;
	  font-family: "Overpass";
  }
  /* paires */
  .faq-card:nth-child(even){
    background: #b5b17e;
  }

  .faq-head{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 14px;
    padding: 16px;
    background: transparent;
    border: 0;
    cursor: pointer;
    text-align: left;
  }

  .faq-left{
    display:flex;
    align-items:center;
    gap: 12px;
    min-width:0
		flex: 1 1 auto; 
  }
  .faq-icon{
    width: 42px;
    height: 42px;
    object-fit: contain;
    flex: 0 0 auto;
	  
  }
  .faq-title{
    font-weight: 700;
    font-size: 18px;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	  color: #fff;
	   overflow-wrap: anywhere;   
	  white-space: normal !important;
  }

  .faq-toggle{
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    border-radius: 999px;
    display:grid;
    place-items:center;
    font-size: 22px;
    line-height: 1;
    user-select:none;
  }
  .faq-toggle .is-minus{ display:none; }
  .faq-card.is-open .faq-toggle .is-plus{ display:none; }
  .faq-card.is-open .faq-toggle .is-minus{ display:block; }
	
	
	.is-minus, .is-plus {
		color: #fff;
	}

  /* ✅ ouverture douce */
  .faq-body{
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transform: translateY(-4px);
    transition: max-height .45s ease, opacity .35s ease, transform .35s ease;
  }
  .faq-card.is-open .faq-body{
    opacity: 1;
    transform: translateY(0);
  }

  .faq-body-inner{
    padding: 0 25px 25px 25px;
    color: #fff;
    font-size: 16px;
    line-height: 1.5;
  }
   .myblog-filters{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
      }
      .myblog-btn{
        border:1px solid rgba(255,255,255,.35);
        background: rgba(255,255,255,.08);
        color:#fff;
        padding:10px 14px;
        font-weight:700;
        cursor:pointer;
		  transition: all 0.5s ease-out;
      }
      .myblog-btn.is-active, .myblog-btn:hover{
        background:#fff;
        color:#111;
        border-color:#fff;
		  transition: all 0.5s ease-out;
      }

      /* spacing slick */
      .myblog-slick .myblog-slide{ padding: 0 12px; }
      .myblog-slick{ margin: 0 -12px; }

      .myblog-card{
        background:#fff;
        border: 10px solid rgba(255,255,255,.75);
        box-shadow: 0 12px 26px rgba(0,0,0,.12);
        text-align:center;
      }
      .myblog-thumb img{ width:100%; height:auto; display:block; }
      .myblog-body{ padding: 18px 18px 22px; }

      .myblog-title{
        margin: 6px 0 10px;
        font-size: 20px;
        line-height:1.2;
        font-weight: 800;
		  font-family: "Overpass";
      }
      .myblog-title a{ color:#111; text-decoration:none; }

      .myblog-excerpt{
        font-size: 14px;
        line-height:1.55;
        color: rgba(0,0,0,.75);
        margin: 0 0 16px;
		  font-family: "Overpass";
      }

      .myblog-more{
        display:inline-block;
        padding: 12px 22px;
        background: #b2ab73;
        color:#fff;
        font-weight:800;
        letter-spacing:.02em;
        text-decoration:none;
      }

      .myblog-wrap.is-loading{ opacity:.7; pointer-events:none; }

      /* arrows */
      .myblog-slick .slick-prev,
      .myblog-slick .slick-next{
        z-index: 2;
      }

/* ✅ Slick: rendre toutes les slides de même hauteur */
.myblog-slick .slick-track{
  display: flex !important;
}
.myblog-slick .slick-slide{
  height: auto !important;
}
.myblog-slick .slick-slide > div{
  height: 100%;
}

.myblog-slide{
  height: 100%;
  display: flex;
}
.myblog-card{
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* ✅ optionnel : pousse le bouton en bas */
.myblog-body{
  flex: 1;
  display: flex;
  flex-direction: column;
}
.myblog-excerpt{
  flex: 1; /* prend l'espace restant */
}
.myblog-more{
  margin-top: auto; /* bouton collé en bas */
}

.slick-dots li.slick-active button:before, .slick-dots li button:before {
	color: #ffffff!important
}

.btn-blog {
	    color: rgba(0, 0, 0, .75)!important;
	transition: all 0.5s ease-out!important;
}

.btn-blog:hover {
	    color: rgba(0, 0, 0, .4)!important;
	transition: all 0.5s ease-out!important;
}