/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
Template: hello-elementor
Author: Elementor Team
Author URI: https://elementor.com/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
Description: Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.4.9.1780585426
Updated: 2026-06-04 15:03:46

*/

html {
	font-size:62.5%;
}

body {
	overflow-x:hidden;
}

.page-header { display:none;}

header .elementor-nav-menu--main .elementor-item, .titre-degrade {
  background: linear-gradient(to right, rgba(255,255,255,1), rgba(255,255,255,0.5));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent; /* fallback */
}

:root {
    --navy-800: #1A2545;
    --gold-300: #EDC58C;
    --shadow-gold: 0 8px 40px rgba(191,151,154,.7), 0 0 0 1px rgba(191,151,154,.7);
    --ease: cubic-bezier(.65, 0, .35, 1);
    --dur: .4s;
  }

.btn-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--gold-300);
    border-radius: 10px;
    padding: 5px 14px 5px 5px;
    border: none;
    cursor: pointer;
    text-decoration: none;
    box-shadow: var(--shadow-gold);
    position: relative;
    overflow: hidden;
  }
  .btn-cta:focus-visible {
    outline: 2px solid var(--gold-300);
    outline-offset: 4px;
  }

  /* Carré icône : glisse vers la droite et finit à 5px du bord droit
     (--slide = largeur texte + 19px, posé en JS) */
  .btn-cta .ic {
    width: 34px;
    height: 34px;
    flex-shrink: 0;
    background: var(--navy-800);
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gold-300);
    position: relative;
    z-index: 2;
    transition: transform var(--dur) var(--ease);
  }
  .btn-cta:hover .ic { transform: translateX(var(--slide, 100px)); }

  /* La flèche pivote de 45° pendant le trajet (pointe vers la droite) */
  .btn-cta .ic svg {
    width: 22px;
    height: 22px;
    display: block;
    transition: transform var(--dur) var(--ease);
  }
  .btn-cta:hover .ic svg { transform: rotate(45deg); }

  /* Texte : se cale à 14px du bord gauche */
  .btn-cta .txt {
    font-family: 'DM Sans', sans-serif;
    font-weight: 500;
    font-size: 16px;
    letter-spacing: -0.5px;
    line-height: 26px;
    color: var(--navy-800);
    white-space: nowrap;
    position: relative;
    z-index: 2;
    transition: transform var(--dur) var(--ease);
  }
  .btn-cta:hover .txt { transform: translateX(-40px); }
  /* -35px = (5px + 34px + 10px) de départ → 14px d'arrivée */

  /* Shine */
  .btn-cta::before {
    content: '';
    position: absolute;
    top: 0;
    left: -80%;
    width: 50%;
    height: 100%;
    z-index: 1;
    background: linear-gradient(105deg, transparent, rgba(255,255,255,.5), transparent);
    transform: skewX(-20deg);
    pointer-events: none;
  }
  .btn-cta:hover::before {
    left: 130%;
    transition: left .55s ease-out;
  }

  /* Accessibilité */
  @media (prefers-reduced-motion: reduce) {
    .btn-cta *, .btn-cta::before { transition: none !important; }
    .btn-cta:hover .ic, .btn-cta:hover .txt { transform: none; }
  }


.titre-h1 em {
	color:#EDC58C;
	font-family:"Playfair Display";
	font-weight:500;
}

.titre-2 em {
	color:#455989;
	font-weight:600;
	font-family:"Playfair Display";
}

.titre-2.em-dore em {
	color:#B48A4F;
}

.titre-2.blanc em {
	color:#fff;
}

.txt-degrade2 .elementor-counter-number-wrapper {
background: linear-gradient(to right, #C9A7A9, rgba(255, 255, 255, 0.25));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent; /* fallback */
}

.txt-degrade-dark {
background: linear-gradient(to right, #1A2447, rgba(26, 37, 69, 0.3));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent; /* fallback */
}

.icons-socials .elementor-icon-list-item {
	background: linear-gradient(0.25deg, rgba(0, 85, 254, 0.08) 0%, rgba(153, 153, 153, 0.1) 100%);
	border: 1px solid #FFFFFF0D;
	backdrop-filter: blur(2.5px);
	border-radius:10px;
	padding:6px 14px!important;
}

.icons-socials .elementor-icon-list-text {
	background: linear-gradient(90deg, #FFFFFF 0%, rgba(255, 255, 255, 0.3) 100%);
	  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent; /* fallback */
}

.logos-carousel .elementor-image-carousel-wrapper {
  -webkit-mask-image: linear-gradient(to right, transparent 0, black 25%);
          mask-image: linear-gradient(to right, transparent 0, black 25%);
}
/* Masquer la barre sur Chrome / Safari */

.logos-carousel .elementor-image-carousel-wrapper::-webkit-scrollbar {
  display: none;
}

.logos-carousel img {
	width:228px;
	height:70px;
	object-fit:contain;
}

.carousel-right .swiper-slide {
  direction: ltr;
  text-align: left;
}

.loop-case {
	border: 1px solid;
	border-image-source: linear-gradient(0deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.08)),
	linear-gradient(0deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.08));
}

.case-cat {
	backdrop-filter: blur(6px)
}

.carousel-cases .elementor-swiper-button {
	width: 42px;
    height: 42px;
    border-radius: 8px;
    padding-top: 12px;
    padding-right: 14px;
    padding-bottom: 12px;
    padding-left: 14px;
    gap: 32px;
    opacity: 1;
    border-width: 1px;
    border: 1px solid #FFFFFF0D;
    background: #FFFFFF17;
    align-items: center;
}


.carousel-cases .elementor-swiper-button.elementor-swiper-button-next {
	margin-left:19px;
}

a.elementor-post-info__terms-list-item[href*="interventions"] {
	display:none;
}

@media (min-width:768px) {
	.carousel-cases .swiper {overflow:visible;}
	.carousel-cases .swiper:before {
    content: "";
    display: block;
    width: 500px;
    height: 100%;
    position: absolute;
    right: 100%;
    top: 0;
    background: #b48a4f;
    z-index: 2;
	}
}