.elementor-kit-6{--e-global-color-primary:#32292F;--e-global-color-secondary:#9DC8D9;--e-global-color-text:#000000;--e-global-color-accent:#016AA4;--e-global-color-9219060:#1B81C4;--e-global-color-c78cd33:#2B4A5E;--e-global-color-686725f:#FFFFFF;--e-global-color-a21df87:#EFEFEF;--e-global-typography-primary-font-family:"myriad-pro";--e-global-typography-primary-font-size:1.125rem;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:1.1;--e-global-typography-secondary-font-family:"myriad-pro";--e-global-typography-secondary-font-size:1rem;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-line-height:1.1;--e-global-typography-text-font-family:"myriad-pro";--e-global-typography-text-font-size:0.875rem;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.2;--e-global-typography-accent-font-family:"myriad-pro";--e-global-typography-accent-font-size:2.875rem;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-line-height:1;--e-global-typography-7953178-font-family:"myriad-pro";--e-global-typography-7953178-font-size:2.375rem;--e-global-typography-7953178-font-weight:700;--e-global-typography-7953178-line-height:1;--e-global-typography-b62e382-font-family:"myriad-pro";--e-global-typography-b62e382-font-size:2rem;--e-global-typography-b62e382-font-weight:700;--e-global-typography-b62e382-line-height:1;--e-global-typography-34bcd86-font-family:"myriad-pro";--e-global-typography-34bcd86-font-size:1.75rem;--e-global-typography-34bcd86-font-weight:600;--e-global-typography-34bcd86-line-height:1;--e-global-typography-f6e0122-font-family:"myriad-pro";--e-global-typography-f6e0122-font-size:1.625rem;--e-global-typography-f6e0122-font-weight:600;--e-global-typography-f6e0122-line-height:1;--e-global-typography-4ab8dac-font-family:"myriad-pro";--e-global-typography-4ab8dac-font-size:1.127rem;--e-global-typography-4ab8dac-font-weight:600;--e-global-typography-4ab8dac-line-height:1.2;color:var( --e-global-color-text );}.elementor-kit-6 e-page-transition{background-color:var( --e-global-color-accent );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1600px;}.e-con{--container-max-width:1600px;--container-default-padding-top:clamp(60px, 3.883vw + 45.44px, 120px);--container-default-padding-right:clamp(10px, 9.708vw - 26.41px, 160px);--container-default-padding-bottom:clamp(60px, 3.883vw + 45.44px, 120px);--container-default-padding-left:clamp(10px, 9.708vw - 26.41px, 160px);}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-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:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ======================
   HOME PAGE
====================== */
/* Smaller, lighter line above the main title */
.title-styling {
  display: block;                     /* forces it onto its own line */
  font-family: "Myriad Pro", sans-serif;
  font-weight: 400;                   /* lighter than main title */
  font-size: 1.125rem;
  line-height: ;
  color: rgba(255, 255, 255, 0.9);    /* soft white on blue overlay */
  text-transform: none;               /* keep natural case */
}

/* ================================
   SERVICE CARD FULL-LINK SETUP
==================================*/

/* Base card container */
.service-card {
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease;
}



/* Prevent background overlay from blocking clicks */
.service-card > .elementor-background-overlay {
  pointer-events: none;
}

/* =========================================
   FULL-SURFACE INVISIBLE BUTTON (OVERLAY)
=========================================*/
.service-card .card-link {
  position: absolute;
  inset: 0;                       /* top/right/bottom/left: 0 */
  z-index: 3;
  margin: 0 !important;
  padding: 0 !important;
}

.service-card .card-link a.elementor-button {
  display: block;
  width: 100%;
  height: 100%;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: transparent !important;   /* hide text color */
  padding: 0 !important;
  transition: none;
}

/* Hide button text but keep icon */
.service-card .card-link .elementor-button-text {
  display: none;
}

/* =========================================
   ARROW ICON POSITION & STYLE
=========================================*/
.service-card .card-link .elementor-button-icon {
  position: absolute;
  right: 20px;
  bottom: 20px;
  pointer-events: none;            /* ensure clicks still hit the link */
  transition: transform 0.25s ease;
}

/* For Lucide / line icons */
.service-card .card-link .elementor-button-icon svg {
  width: 22px;
  height: 22px;
  stroke: #fff;
  stroke-width: 2;
}

/* For solid (Font Awesome) icons */
.service-card .card-link .elementor-button-icon i {
  color: #fff;
  font-size: 20px;
}



/* =========================================
   OPTIONAL FOCUS STYLE (keyboard users)
=========================================*/
.service-card .card-link a.elementor-button:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
  border-radius: 6px;
}



/* ======================
  BUTTON STYLE
====================== */
.button-style svg {
  width: 20px;      /* control icon size */
  height: 20px;
  stroke-width: 2;  /* controls line thickness */
  stroke: currentColor; /* inherits the button’s text color */
  transition: transform 0.3s ease;
}

/* 1. Header section acts as the positioning context */
.hero {
  position: relative;
  overflow: visible; /* allows overlap */
}
/* ======================
   GLOBAL VARIABLES
====================== */
.bleu-word {
color : #016aa4;
}

/* Style only clickable links */
a[href^="mailto:"],
a[href^="tel:"] {
  color: inherit;                  /* keep same text color */
  text-decoration: underline;      /* adds underline */
  text-decoration-thickness: 1px;/* a little thicker for readability */
  text-underline-offset: 3px;      /* small space below text */
  transition: color 0.3s ease, text-decoration-color 0.3s ease;
}

/* Optional: hover color */
a[href^="mailto:"]:hover,
a[href^="tel:"]:hover {
  color: #9DC8D9;                  /* Carré Bleu’s dark tone */
  text-decoration-color: #9DC8D9;
}


/* ======================
   HERO / OVERLAP BLOCK
====================== */
/* anchor */
.hero { position: relative; overflow: visible; }

/* the black block */
.overlap-badge{
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 50%);
  z-index: 5;

  height: 150px;                /* or 164px if you prefer */
  box-sizing: border-box;

  /* responsive width, capped at 1600, respecting the same gutters as your global container */
  width: min(1600px, calc(100% - (clamp(10px, 9.708vw - 26.41px, 160px) * 2)));
 padding: 40px;

  background: #32292F;
  color: #fff;
  display: flex; align-items: center; justify-content: center; text-align: center;

}

/* give space to the next section = half the badge height */
.hero + .elementor-section,
.hero + section { margin-top: 60px; } /* use 82px if height is 164px */


/* ======================
   FOOTER SERVICES MENU STYLING
====================== */


/* Footer "Services" menu layout */
.services-menu-footer .elementor-nav-menu--main .elementor-nav-menu {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)); /* 2 columns on desktop */
  gap: 8px 32px; /* vertical / horizontal spacing */
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Link styling for consistency */
.services-menu-footer .elementor-nav-menu .menu-item > a {
  display: block;
  padding: 4px 0;
  line-height: 1.3;
  text-decoration: none;
}

/* Tablet and below: collapse to 1 column */
@media (max-width: 1024px) {
  .services-menu-footer .elementor-nav-menu--main .elementor-nav-menu {
    grid-template-columns: 1fr;
  }
}/* End custom CSS */