.elementor-kit-8{--e-global-color-primary:#000000;--e-global-color-secondary:#FFFFFF;--e-global-color-text:#000000;--e-global-color-accent:#AE9A66;--e-global-color-0bde72c:#656565;--e-global-color-2a29ed2:#111111;--e-global-color-7878b8b:#E6E6E6;--e-global-color-40c68a2:#FFFFFF;--e-global-color-4443c8f:#FBFBFB;--e-global-color-76dd0ae:#F5F5F5;--e-global-color-ecb6c5b:#2A2A2A;--e-global-typography-primary-font-family:"Karita Font";--e-global-typography-primary-font-size:50px;--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"Karita Font";--e-global-typography-secondary-font-size:22px;--e-global-typography-secondary-font-weight:300;--e-global-typography-text-font-family:"Karita Font";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Karita Font";--e-global-typography-accent-font-weight:400;--e-global-typography-6b80339-font-family:"Poppins";--e-global-typography-6b80339-font-size:16px;--e-global-typography-6b80339-font-weight:normal;--e-global-typography-b0e7d9c-font-family:"Poppins";--e-global-typography-b0e7d9c-font-size:16px;--e-global-typography-b0e7d9c-font-weight:bold;--e-global-typography-d6afa4b-font-family:"Poppins";--e-global-typography-d6afa4b-font-size:14px;--e-global-typography-d6afa4b-font-weight:normal;--e-global-typography-a4c3fc2-font-family:"Author Variable";--e-global-typography-a4c3fc2-font-size:32px;--e-global-typography-a4c3fc2-font-weight:500;--e-global-typography-a4c3fc2-line-height:32px;--e-global-typography-ae340bf-font-family:"Author Variable";--e-global-typography-ae340bf-font-size:18px;--e-global-typography-ae340bf-font-weight:600;--e-global-typography-ae340bf-text-transform:uppercase;--e-global-typography-cc61632-font-family:"Author Variable";--e-global-typography-cc61632-font-size:24px;--e-global-typography-cc61632-font-weight:700;--e-global-typography-cc61632-text-transform:uppercase;color:#FFFFFF;font-family:"Karita Font", Sans-serif;font-weight:400;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-kit-8 h3{font-family:"Karita Font", Sans-serif;}.elementor-kit-8 h4{font-family:"Karita Font", Sans-serif;}.elementor-kit-8 h5{font-family:"Karita Font", Sans-serif;}.elementor-kit-8 h6{font-family:"Karita Font", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1340px;}.e-con{--container-max-width:1340px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}page-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:840px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:480px){.elementor-kit-8{--e-global-typography-6b80339-line-height:1em;--e-global-typography-b0e7d9c-line-height:1em;--e-global-typography-a4c3fc2-line-height:1em;--e-global-typography-ae340bf-line-height:1em;--e-global-typography-cc61632-line-height:1em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* TEXT GLITCH – base */
/* base */
/* TEXT GLITCH — version finale propre */
.text-glitch { /* ne force rien ici */ }

.text-glitch .tg-char {
  display: inline-block;
  vertical-align: baseline;
  color: #fff;
  transition: color .2s ease;
  pointer-events: none;
}

.text-glitch .tg-char.tg-accent {
  color: #e8f716;
}

.contact-button .elementor-button-icon svg{
    transform: rotate(45deg);
    transition: transform .35s cubic-bezier(.4,0,.2,1);
}


.contact-button:hover .elementor-button-icon svg{
    transform: rotate(0deg);
}

/* BOUTON STANDARD */
/* ===== Bouton flèche + texte (avec trait pleine hauteur) ===== */
.cta--arrow-white .elementor-button {
  /* variables faciles à ajuster */
  --px: 16px;   /* padding horizontal du bouton */
  --py:12px;    /* padding vertical du bouton */
  --icon: 18px; /* taille de l'icône */
  --gap: 16px;  /* espace entre icône et trait */
  --sep: 6px;   /* espace entre trait et texte */

  position: relative;                 /* nécessaire pour le trait absolu */
  display: inline-flex;
  align-items: center;
  padding: var(--py) var(--px);
  background: #fff;
  color: #111;
  border: 1px solid #E6E6E6;
  border-radius: 4px;
  box-shadow: 0 1px 2px rgba(0,0,0,.06);
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}

/* contenu interne : pas de gap, on gère l'espace avec le trait */
.cta--arrow-white .elementor-button .elementor-button-content-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 0;
}

/* icône : largeur/hauteur figées pour le calcul du trait */
.cta--arrow-white .elementor-button .elementor-button-icon {
  display: inline-flex;
  width: var(--icon);
  height: var(--icon);
  transform: none;
}
.cta--arrow-white .elementor-button .elementor-button-icon svg {
  width: 100%;
  height: 100%;
  transition: transform .3s ease-in-out;
}

/* rotation uniquement du SVG */
.cta--arrow-white .elementor-button:hover .elementor-button-icon svg,
.cta--arrow-white .elementor-button:focus-visible .elementor-button-icon svg {
  transform: rotate(45deg);
}

/* texte : on réserve l'espace après le trait */
.cta--arrow-white .elementor-button .elementor-button-icon + .elementor-button-text {
  position: relative;
  margin-left: calc(var(--gap) + var(--sep)); /* avant le trait + après le trait */
  padding-left: var(--sep);
}

/* === TRAIT PLEINE HAUTEUR (ignore les paddings du texte) ===
   On le place sur le bouton, en absolu, du haut au bas du bouton. */
.cta--arrow-white .elementor-button::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0; /* colle en haut et en bas => pleine hauteur du bouton */
  left: calc(var(--px) + var(--icon) + var(--gap)); /* padding gauche + icône + espace avant trait */
  width: 1px;
  background: #E5E7EB;
  pointer-events: none;
  z-index: 1;
}

/* hover */
.cta--arrow-white .elementor-button:hover,
.cta--arrow-white .elementor-button:focus-visible {
  background: #f1f1f1 !important;
}
.cta--arrow-white .elementor-button:hover::before,
.cta--arrow-white .elementor-button:focus-visible::before {
  background: #cfd4da;
}

/* accessibilité */
.cta--arrow-white .elementor-button:focus-visible {
  outline: 2px solid #111;
  outline-offset: 2px;
}

/* TEXT GLITCH – base */
/* TEXT GLITCH — version finale propre */
.text-glitch { /* ne force rien ici */ }

.text-glitch .tg-char {
  display: inline-block;
  vertical-align: baseline;
  color: #fff;
  transition: color .2s ease;
  pointer-events: none;
}

.text-glitch .tg-char.tg-accent {
  color: #e8f716;
}


/* Bouton noir flèche + texte */
.cta--arrow .elementor-button,
.cta--arrow .elementor-button:visited,
.cta--arrow .elementor-button:hover,
.cta--arrow .elementor-button:focus,
.cta--arrow .elementor-button:focus-visible,
.cta--arrow .elementor-button:active {
  --px: 16px; --py: 12px; --icon: 18px; --gap: 16px; --sep: 6px;
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: var(--py) var(--px) !important;
  background-color: #111111 !important;
  background: #111111 !important;
  color: #FFFFFF !important;
  border: 1px solid #2A2A2A !important;
  border-radius: 4px;
  box-shadow: 0 1px 2px rgba(0,0,0,.06) !important;
  text-decoration: none !important;
}
.cta--arrow .elementor-button .elementor-button-content-wrapper {
  display: inline-flex; align-items: center; gap: 0;
}
.cta--arrow .elementor-button .elementor-button-text,
.cta--arrow .elementor-button:hover .elementor-button-text,
.cta--arrow .elementor-button:focus .elementor-button-text,
.cta--arrow .elementor-button:focus-visible .elementor-button-text,
.cta--arrow .elementor-button:active .elementor-button-text {
  color: #FFFFFF !important;
}
.cta--arrow .elementor-button .elementor-button-icon {
  display: inline-flex; width: var(--icon); height: var(--icon); transform: none;
}
.cta--arrow .elementor-button .elementor-button-icon svg {
  width: 100%; height: 100%; transition: transform .3s ease-in-out;
}
.cta--arrow .elementor-button .elementor-button-icon svg,
.cta--arrow .elementor-button .elementor-button-icon svg * {
  fill: #FFFFFF !important;
}
.cta--arrow .elementor-button:hover .elementor-button-icon svg,
.cta--arrow .elementor-button:focus-visible .elementor-button-icon svg {
  transform: rotate(45deg);
}
.cta--arrow .elementor-button .elementor-button-icon + .elementor-button-text {
  position: relative;
  margin-left: calc(var(--gap) + var(--sep));
  padding-left: var(--sep);
}
.cta--arrow .elementor-button::before {
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  left: calc(var(--px) + var(--icon) + var(--gap));
  width: 1px;
  background: #2A2A2A !important;
  pointer-events: none;
  z-index: 1;
}
.cta--arrow .elementor-button:hover,
.cta--arrow .elementor-button:focus,
.cta--arrow .elementor-button:focus-visible,
.cta--arrow .elementor-button:active {
  background-color: #111111 !important;
  background-image: none !important;
  color: #FFFFFF !important;
  border-color: #2A2A2A !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.06) !important;
  outline: none !important;
}

/* HOMEPAGE SERVICE ANIM */
/* SECTION PRINCIPALE */

.services-wrapper{
    position:relative;
    overflow:hidden;
}

.services-wrapper::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:var(--service-bg);
    background-size:cover;
    background-position:center;
    opacity:0;
    transition:opacity .5s ease;
    pointer-events:none;
}

.services-wrapper.active-bg::before{
    opacity:1;
}

/* CARTES */

.service-card{
    position:relative;
    overflow:hidden;
    transition:.3s;
}

/* BLOC ICÔNE */

.service-icon-area{
    position:relative;
    overflow:hidden;
}

.service-icon-area::before{
    content:"";
    position:absolute;
    left:var(--mask-x);
    top:var(--mask-y);
    width:var(--wrapper-w);
    height:var(--wrapper-h);
    background-image:var(--service-bg);
    background-size:cover;
    background-position:center;
    opacity:0;
    transition:opacity .5s ease;
    pointer-events:none;
}

.service-card.active .service-icon-area::before{
    opacity:1;
}

/* LOTTIE */

.service-lottie,
.service-lottie * {
  pointer-events: none;
}

.service-lottie{
    position:relative;
    z-index:2;
    transition:.35s ease;
}

.service-card.active .service-lottie{
    filter:brightness(0) invert(1);
}

/*SVG Line height*/

.elementor-icon {
    display: block;
}


/* Hover carte Actu SVG */
.elementor-8136 .elementor-element-f6dc291 .elementor-icon {
    transition: transform .3s ease;
    transform-origin: center;
}

.elementor-8136 .elementor-element-f6dc291:hover .elementor-icon {
    transform: rotate(-45deg) !important;
}

.video-cover video{
	object-fit: cover !important;
	width: 100% !important;
	height: 100% !important;
}
.video-cover .elementor-background-video-container{
	width:100%;
	height:100%;
}

.video-cover .elementor-background-video-container video{
	width:100%;
	height:100%;
	object-fit:cover !important;
}

/* HEADER TRANSITION */
.touring-header {
    background-color: transparent !important;
    transition:
        background-color 0.35s ease,
        backdrop-filter 0.35s ease,
        -webkit-backdrop-filter 0.35s ease;
}

.touring-header.header-scrolled {
    background-color: rgba(17, 17, 17, 0.7) !important;

    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://karita.fr/wp-content/uploads/2025/07/Poppins-Regular.ttf') format('truetype');
}
@font-face {
	font-family: 'Poppins';
	font-style: normal;
	font-weight: bold;
	font-display: auto;
	src: url('https://karita.fr/wp-content/uploads/2025/07/Poppins-SemiBold.ttf') format('truetype');
}
/* End Custom Fonts CSS */