/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Global */

.degrade .elementor-heading-title {
	background: linear-gradient(90deg, var( --e-global-color-f04d741 ) 0%, var( --e-global-color-5511799 ) 100%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

#content .elementor-element.elementor-widget.elementor-widget-image, .page.type-page .elementor-element.elementor-widget.elementor-widget-image {
	background: linear-gradient(0deg, var( --e-global-color-6539abf ) 50%, var( --e-global-color-5511799 ) 100%);
	border-radius: 8px;
}

#content .elementor-loop-container .elementor-element.elementor-widget.elementor-widget-image {
	border-radius: 8px 8px 0 0;
	background: none;
}

#content .elementor-button.elementor-button-link svg, 
footer .elementor-button.elementor-button-link svg,
.page .elementor-button.elementor-button-link svg {
	transform: rotate(-45deg);
	transition: all ease-in-out 0.3s;
}

.page header .elementor-button.elementor-button-link svg,
.page .elementor-popup-modal .elementor-button.elementor-button-link svg {
	transform: rotate(0deg);
	transition: all ease-in-out 0.3s;
}

#content .elementor-button.elementor-button-link:hover svg,
footer .elementor-button.elementor-button-link:hover svg,
.page .elementor-button.elementor-button-link:hover svg {
	transform: rotate(0deg);
}

#content .degrade .elementor-icon {
	background: linear-gradient(90deg, var( --e-global-color-6539abf ) 0%, var( --e-global-color-5511799 ) 100%);
	border-radius: 1em;
	padding: 20px;
}

.degrade .elementor-icon svg {
	max-width: 46px;
	max-height: 46px;
}

.elementor-loop-container .elementor-widget-image a {
	display: block;
}

.elementor-kit-15 .elementor-button-info .elementor-button {
	padding: 0;
	background: none;
	border-radius: 0;
}

.elementor-widget a.elementor-button {
	text-align: left;
}

.elementor-widget-loop-grid .elementor-loop-container .e-loop-item .e-parent .e-child {
	flex: 1;
}

.elementor-widget-n-accordion .e-n-accordion-item {
	background: linear-gradient(90deg, var( --e-global-color-6539abf ) 0%, var( --e-global-color-5511799 ) 100%);
	padding-bottom: 1px;
}
.elementor-widget-n-accordion .e-n-accordion-item-title, .elementor-widget-n-accordion div.elementor-element {
	background: var( --e-global-color-primary );
}

/* =========================
   SUPPRIMER CURSEUR NATIF
========================= */

html, body,
a, button,
.elementor-button-link,
.e-n-accordion-item-title,
[type="submit"] {
  cursor: none !important;
}

/* =========================
   CURSOR BASE
========================= */

.cursor {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999999999999;
  pointer-events: none;
}

.cursor__dot,
.cursor__outline {
  position: fixed;
  top: 0;
  left: 0;
  border-radius: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%);
}

/* DOT CENTRAL */
.cursor__dot {
  width: 10px;
  height: 10px;
  background: #8A38F5;
  transition: 
    background 0.25s ease,
    transform 0.2s ease;
}

/* CERCLE EXTERNE */
.cursor__outline {
  width: 76px;
  height: 76px;
  border: 1px solid #8A38F5;
  background: transparent;
  transition: 
    width 0.3s ease,
    height 0.3s ease,
    background 0.3s ease,
    box-shadow 0.3s ease;
}

/* =========================
   ETAT HOVER
========================= */

.cursor.cursor-hover .cursor__outline {
  width: 42px;
  height: 42px;
  background: rgba(1, 19, 42, 0.5);
	border: none;
  box-shadow: 0 0 20px rgba(138, 56, 245, 0.6);
}

.cursor.cursor-hover .cursor__dot {
  background: #01132A;
  transform: translate(-50%, -50%) scale(1.4);
}


/* =========================
   DESACTIVATION MOBILE
========================= */

@media (pointer: coarse), (prefers-reduced-motion: reduce) {
  .cursor {
    display: none !important;
  }

  html, body {
    cursor: auto !important;
  }
}

/* Header */

.elementor-widget-n-menu .e-n-menu-title .e-n-menu-dropdown-icon {
	background-image: initial;
}

.btn-plane .elementor-button-icon {
	overflow: hidden;
}

.btn-plane a.elementor-button.elementor-button-link svg {
	position: relative;
	transition: all ease-in 0.2s;
	left: 0;
	bottom: 0;
}

.btn-plane a.elementor-button.elementor-button-link:hover svg {
	left: 20px;
	bottom: 20px;
}

.elementor-kit-15 header img, .elementor-kit-15 footer img, .elementor-kit-15 .elementor-popup-modal img {
	opacity: 1;
}

.breadcrumb_last {
	opacity: 0.6;
}

#e-n-menu-content-6061 a .elementor-icon-wrapper .elementor-icon svg {
	transition: all ease-in-out 0.3s;
	position: relative;
	bottom: 0;
}

#e-n-menu-content-6061 a:hover .elementor-icon-wrapper .elementor-icon svg {
	bottom: 4px;
	transition: all ease-in-out 0.3s;
}

@media (max-width: 330px) {
	.elementor-element.elementor-element-822eaa5.header-icon-lkd.elementor-widget-icon {
		display: none;
	}
}

/* Hero */

.home #content .elementor h1.elementor-heading-title, .page .elementor h1.elementor-heading-title {
	background: linear-gradient(90deg, var( --e-global-color-6539abf ) 0%, var( --e-global-color-5511799 ) 100%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.home #content .elementor-element.elementor-element-9f192b4.elementor-widget.elementor-widget-heading {
	mix-blend-mode: plus-lighter;
}

.elementor-element.elementor-absolute.home-hero-video.elementor-widget.elementor-widget-video {
	max-width: 600px;
	left: 0;
	right: 0;
	margin: 0 auto;
	max-height: 700px;
	background: transparent;
	background-image: linear-gradient(0deg, var( --e-global-color-6539abf ) 50%, var( --e-global-color-5511799 ) 100%);
	opacity: 0.8;
}

.elementor-element.elementor-element-a17943f.elementor-absolute.home-hero-video.elementor-widget.elementor-widget-video .e-hosted-video.elementor-wrapper {
	--video-aspect-ratio: 0;
}

.elementor-element.home-hero-video.elementor-widget.elementor-widget-video .elementor-video {
	opacity: 0.5;
}

.home .elementor-widget-media-carousel::before {
	width: 250px;
	height: 250px;
	background: linear-gradient(90deg, rgba(1, 19, 42, 1) 50%, rgba(1, 19, 42, 0) 100%);
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 6;
}

.home .elementor-widget-media-carousel::after {
	width: 250px;
	height: 250px;
	background: linear-gradient(90deg, rgba(1, 19, 42, 0) 50%, rgba(1, 19, 42, 1) 100%);
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 6;
}

.elementor-element-d2a71db .elementor-element.elementor-element-6ef8916 {
	max-height: 310px;
}

@media screen and (max-width: 767px) {
	.elementor-element.elementor-absolute.home-hero-video.elementor-widget.elementor-widget-video {
		max-height: 320px;
    	margin: 0 16px;
    	width: calc(100% - 32px);
    	box-sizing: content-box;
	}
	.home .elementor-widget-media-carousel::before, .home .elementor-widget-media-carousel::after {
		width: 100px;
		height:100px;
	}
	.elementor-element-d2a71db .elementor-element.elementor-element-6ef8916 {
		max-height: 250px;
	}
}


/* Contact */
.wpcf7-list-item-label {
	font-size: 13px;
}
.wpcf7-form .cf7-col100 {
	display: flex;
	gap: 40px;
}
.wpcf7-form {
	gap: 40px;
	display: flex;
	flex-direction: column;
}
.wpcf7-form p {
	margin-bottom: 0;
}
.wpcf7-form  .wpcf7-list-item {
	margin: 0;
}
::placeholder {
	color: var( --e-global-color-text );
	font-size: 16px;
	font-weight: 400;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	border-color: #cbd6ad;
	background: #cbd6ad;
	margin: 40px 0;
	padding: 16px;
}
.wpcf7 form.sent .wpcf7-response-output {
	border-color: #9cc8a0;
	background: #9cc8a0;
	margin: 40px 0;
	padding: 16px;
}
input[type="date"], input[type="email"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="url"], select, textarea {
	border: 1px solid var(--e-global-color-1c20cd8);
}
.wpcf7-form-control.wpcf7-file {
	background: #ffffff;
	border-radius: 4px;
	padding: 10px;
	width: 100%;
	border: none;
	color: #6d81b0;
}
.wpcf7 input[type="file"]::file-selector-button {
	cursor: pointer;
	background: #2F4373;
	border: 2px solid #2F4373;
	padding: 8px 20px;
	border-radius: 50px;
	color: #fff;
}
.wpcf7 input[type="file"]::file-selector-button:hover {
	background: #192951;
	border: 2px solid #192951;
}
.wpcf7-form-control.wpcf7-select {
	background: var(--e-global-color-primary);
	color: var(--e-global-color-text);
	border-bottom: 1px solid #0B294F;
	border-radius: 0;
}
.wpcf7-form .cf7-col100 p {
	width: 100%;
}
.wpcf7-form-control.wpcf7-submit {
	width: 100%;
	border: none;
}
input:focus-visible, input:focus {
	border: 1px solid var(--e-global-color-f04d741) !important;
	outline: none;
}
.wpcf7-form-control.wpcf7-acceptance label {
	display: flex;
	gap: 4px;
	line-height: 23px;
	align-items: start;
	justify-content: center;
	position: relative;
}
.wpcf7-form-control.wpcf7-acceptance label input {
	position: relative;
	top: 4px;
}
.wpcf7-form-control, .wpcf7-form input:not([type="button"]):not([type="submit"]) {
	border: none;
	border-image: linear-gradient(90deg, var( --e-global-color-6539abf ) 0%, var( --e-global-color-5511799 ) 100%);
	border-bottom: 1px solid transparent;
	background: transparent;
	border-image-slice: 1;
}
.wpcf7-form-control.wpcf7-acceptance {
	border-image: none;
}
@media (max-width: 768px) {
	.wpcf7-form .cf7-col100 {
		display: flex;
		gap: 12px;
		flex-direction: column;
	}
	.wpcf7-form {
		gap: 12px;
	}
}



/* Footer */

.footer-gradient {
	background: radial-gradient(farthest-corner at 0px 150%,rgb(242, 159, 197) 0%, rgb(1, 19, 42) 50%, rgb(49, 39, 131) 100%);
}

@media screen and (max-width: 767px) {
	#menu-1-918f51e {
		flex-direction: column;
		margin: 0;
	}
	#menu-1-918f51e li a {
		padding-left: 0;
	}
}

.grecaptcha-badge {
	opacity: 0;
}

/* Correctifs BO */

/* Neutralisation styles globaux Elementor sur l'UI éditeur */
body.elementor-editor-active #elementor-add-new-section button {
    background-image: none !important;
}


