:root{
  /* Typography */
  --font-title: "space-grotesk-variable", sans-serif;
  --font-text: "neue-haas-grotesk-display", sans-serif;

    /* Typography scale */
    --lh-display: .98;
    --lh-title: 1.02;
    --lh-subtitle: 1.12;
    --lh-text: 1.38;
    --lh-meta: 1.3;

    --ls-display: -0.035em;
    --ls-title: -0.03em;
    --ls-subtitle: -0.02em;
    --ls-text: -0.01em;
    --ls-meta: 0;

    --fs-h1: clamp(38px, 4.2vw, 54px);
    --fs-h2: clamp(32px, 3.4vw, 44px);
    --fs-h3: clamp(26px, 2.8vw, 34px);
    --fs-h4: clamp(20px, 2.2vw, 28px);
    --fs-h5: clamp(16px, 1.8vw, 22px);
    --fs-h6: clamp(14px, 1.4vw, 16px);
    --fs-p: clamp(16px, 1.8vw, 23px);
    --fs-small: clamp(11px, 1vw, 13px);
    --fs-lead: clamp(20px, 2vw, 28px);    

      /* Colors */
      --color-site-bg: #FFFFFF;
      --color-text: #000000;
      --color-text-dark: #FFFFFF;
      --color-accent: #0036FF;

      --color-surface-black: #FFFFFF;
      --color-surface-dark: #F5F5F5;
      --color-surface-soft: #F2F2F2;
      --color-surface-soft-hover: #E8E8E8;
      --color-surface-white: #000000;

      --color-border-light: rgba(0,0,0,.14);
      --color-border-dark: rgba(255,255,255,.18);

  /* Radius */
  --radius-xs: 3px;
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-pill: 999px;

  /* Spacing */
  --space-2xs: 6px;
  --space-xs: 8px;
  --space-sm: 10px;
  --space-md: 12px;
  --space-lg: 20px;
  --space-xl: 24px;
  --space-2xl: 32px;

  /* Motion */
  --ease-standard: cubic-bezier(.2,.8,.2,1);
  --dur-fast: .18s;
  --dur-base: .25s;
  --dur-slow: .45s;

  /* Layout */
  --ma-footer-h: 230px;
  --ma-header-h: 120px;
  --ma-hero-media-w: 50%;

  /* Z-index */
  --z-footer: 0;
  --z-content: 5;
  --z-header: 9999;
}

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

html{
  scroll-behavior: smooth;
}

bg-trans{
    background-color: transparent !important;
}

body{
  font-family: var(--font-text);
  font-weight: 500;
  color: var(--color-text);
  background-color: var(--color-site-bg);
}

body,
.home,
.page,
/*.wp-page,*/
/*
.elementor,
.elementor-2,
*/
.site,
.site-main,
.single,
#content,
main,
.main
{
  background-color: var(--color-site-bg);
}

:where(h1,h2,h3,h4,h5,h6){
  font-family: var(--font-title);
  color: inherit;
}

:where(p, li){
  color: inherit;
}

:where(p a){
  color: var(--color-text) !important;
  background: transparent;
  text-decoration: underline !important;
}

:where(p a:hover, p a:active){
  color: var(--color-accent) !important;
}

::-moz-selection{
  color: #FFFFFF;
  background: var(--color-accent);
}

::selection{
  color: #FFFFFF;
  background: var(--color-accent);
}

/* helper simple */
.angle a:hover{
  transform: rotate(-6deg);
}

/* accessibilité motion */
@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

/* mobile */
/* =========================
   TYPO MOBILE COHÉRENTE
   ========================= */
/* =========================
   TYPO MOBILE COHÉRENTE
   ========================= */
@media (max-width: 767px) {

  html {
    font-size: 16px;
  }
  /* legende */
	.ma-acf-gallery__captions{
		font-size:12px !important;
	}
  /* Texte courant */
  body,
  p,
  li,
  .elementor-widget-text-editor,
  .elementor-widget-text-editor p,
  .elementor-widget-theme-post-content,
  .elementor-widget-theme-post-content p {
    font-size: 17px;
    line-height: 1.6;
    letter-spacing: -0.01em;
  }

  /* Titres */
  h1,
  .elementor-heading-title {
    letter-spacing: -0.03em;
    text-wrap: balance;
    margin-bottom: 0.4em;
  }

  h1 {
    font-size: clamp(2.1rem, 8vw, 2.6rem)!important;   /* env. 34px à 42px */
    line-height: 1.02;
  }

  h2 {
    font-size: clamp(1.75rem, 6.8vw, 2.1rem)!important; /* env. 28px à 34px */
    line-height: 1.08;
    letter-spacing: -0.025em;
    text-wrap: balance;
  }

  h3 {
    font-size: clamp(1.45rem, 5.8vw, 1.75rem)!important; /* env. 23px à 28px */
    line-height: 1.15;
    letter-spacing: -0.02em;
    text-wrap: balance;
  }

  h4 {
    font-size: 1.25rem; /* 20px */
    line-height: 1.2;
    letter-spacing: -0.015em;
  }

  h5 {
    font-size: 1.0625rem; /* 17px */
    line-height: 1.3;
  }

  h6 {
    font-size: 0.95rem; /* 15.2px */
    line-height: 1.35;
  }

  /* Espacements verticaux */
  h1 + p,
  h2 + p,
  h3 + p {
    margin-top: 0.6em;
  }

  p + p {
    margin-top: 0.9em;
  }

  /* Largeur de lecture plus confortable */
  p,
  li,
  .elementor-widget-text-editor p {
    /* max-width: 32ch; */
    text-wrap: pretty;
  }

  /* Hero */
  .ma-hero-titre h1 {
    font-size: clamp(2.2rem, 8vw, 2.7rem);
    line-height: 1.02;
    max-width: 11ch;
  }

  .ma-hero-titre p {
    font-size: 1rem;
    line-height: 1.55;
    max-width: 30ch;
  }

  /* Boutons */
  .elementor-button,
  .elementor-button-text {
    font-size: 0.95rem;
    line-height: 1;
  }
  /* legende */
	.ma-acf-gallery__captions {
		font-size:12px !important;
	}	
}
/*CONTACT DIAP*/

.elementor-122 .elementor-element.elementor-element-6680c0f .elementor-slide-button{
	display:none !important;
}

/* TABLETTE */
@media (min-width: 768px) and (max-width: 1024px) {
  p,
  li,
  .elementor-widget-text-editor p {
    font-size: 19px;
    line-height: 1.6;
  }

  h1 {
    font-size: clamp(2.8rem, 6vw, 3.4rem)!important;
    line-height: 1.02;
  }

  h2 {
    font-size: clamp(2.1rem, 4.8vw, 2.6rem)!important;
    line-height: 1.08;
  }

  h3 {
    font-size: clamp(1.6rem, 3.8vw, 2rem)!important;
    line-height: 1.15;
  }
  /* legende */
	.ma-acf-gallery__captions {
		font-size:8px !important;
	}
}
/* justification */
p,
.elementor-widget-text-editor p,
.elementor-post__excerpt p,
.elementor-widget-theme-post-content p {
  text-align: justify;
  hyphens: auto;
}
.p-center p, .title-center{
	text-align: center !important;
}

@media (min-width: 768px) {
  p,
  .elementor-widget-text-editor p,
  .elementor-post__excerpt p,
  .elementor-widget-theme-post-content p {
    text-align: justify;
  }
.p-center p, .title-center{
	text-align: center !important;
}
}