.elementor-24 .elementor-element.elementor-element-cc7ff5a{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS *//* =========================================================
   HEADER PREMIUM — Elementor FIX + Burger JS + Mobile clair
   Namespace: cw-
========================================================= */

:root{
  --cw-font: system-ui,-apple-system,"Inter",Segoe UI,Roboto,Arial,sans-serif;
  --cw-blue: #1677ff;
  --cw-blue-dark: #0f5fda;

  /* Header (desktop + top mobile) */
  --cw-header-bg: rgba(11,18,32,.96);
  --cw-header-border: rgba(255,255,255,.12);
  --cw-header-text: rgba(255,255,255,.96);
  --cw-header-text-muted: rgba(255,255,255,.72);

  /* Mobile menu (plus clair, “eau/acier”) */
  --cw-mob-bg-1: #f4f8fb;
  --cw-mob-bg-2: #e9eff6;
  --cw-mob-card: #ffffff;
  --cw-mob-text: #0b1220;
  --cw-mob-border: rgba(11,18,32,.12);

  --cw-wrap: 1180px;
  --cw-focus: 0 0 0 4px rgba(22,119,255,.25);
}

/* --- Force wrappers Elementor header à ne pas “boxer” --- */
.elementor-location-header,
.elementor-location-header .elementor-section,
.elementor-location-header .elementor-container,
.elementor-location-header .e-con,
.elementor-location-header .e-con-inner{
  max-width: none !important;
}
.elementor-location-header .elementor-container{
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* --- Header plein écran --- */
.cw-header{
  position: sticky;
  top: 0;
  z-index: 9999;

  width: 100vw;
  left: 50%;
  margin-left: -50vw;

  background: var(--cw-header-bg);
  border-bottom: 1px solid var(--cw-header-border);
  font-family: var(--cw-font);
}

/* --- Contenu centré --- */
.cw-header__wrap{
  max-width: var(--cw-wrap);
  margin: 0 auto;
  padding: 14px 20px;
  display: grid;
  grid-template-columns: auto 1fr auto; /* brand | nav | actions */
  align-items: center;
  gap: 24px;
}

/* --- Brand --- */
.cw-brand{
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none !important;
  color: var(--cw-header-text) !important;
}
.cw-brand__mark{
  width: 40px; height: 40px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--cw-blue), var(--cw-blue-dark));
  box-shadow: 0 12px 30px rgba(22,119,255,.35);
  position: relative;
  flex: 0 0 auto;
}
.cw-brand__mark::after{
  content:"";
  position:absolute;
  inset: 9px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.25);
}
.cw-brand__text{ display:grid; line-height:1.05; }
.cw-brand__name{ font-weight: 900; letter-spacing:-0.02em; }
.cw-brand__loc{ font-size: 12px; margin-top:3px; color: var(--cw-header-text-muted); }

/* --- Nav desktop --- */
.cw-nav{
  display: flex;
  justify-content: center;
  gap: 22px;
  min-width: 0;
}
.cw-nav__link{
  color: var(--cw-header-text) !important;
  text-decoration: none !important;
  font-weight: 800;
  font-size: 14px;
  padding: 10px 12px;
  border-radius: 12px;
  transition: background .15s ease, transform .15s ease;
  white-space: nowrap;
}
.cw-nav__link:hover{
  background: rgba(255,255,255,.10);
  transform: translateY(-1px);
}
.cw-nav__link:focus-visible{ outline:none; box-shadow: var(--cw-focus); }

/* --- Actions --- */
.cw-actions{
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.cw-actions__teltext{ display:inline; }

.cw-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 16px;
  border-radius: 14px;
  font-weight: 900;
  font-size: 13.5px;
  text-decoration: none !important;
  border: 1px solid transparent;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
  white-space: nowrap;
}
.cw-btn:hover{ transform: translateY(-1px); }

.cw-btn--primary{
  color:#fff !important;
  background: linear-gradient(135deg, var(--cw-blue), var(--cw-blue-dark));
  box-shadow: 0 12px 28px rgba(22,119,255,.35);
}
.cw-btn--ghost{
  color: var(--cw-header-text) !important;
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.18);
}
.cw-ico{ font-size:14px; line-height:1; }

/* --- Burger (JS) --- */
.cw-burger{
  display: none; /* desktop */
  width: 44px; height: 44px;
  border-radius: 14px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.18);
  align-items: center;
  justify-content: center;
  gap: 6px;
  cursor: pointer;
  padding: 10px;
}
.cw-burger span{
  display:block;
  width:18px; height:2px;
  background: var(--cw-header-text);
  border-radius:2px;
  transition: transform .2s ease, opacity .2s ease;
}

/* Etat ouvert (croix) */
.cw-header--open .cw-burger span:nth-child(1){ transform: translateY(8px) rotate(45deg); }
.cw-header--open .cw-burger span:nth-child(2){ opacity: 0; }
.cw-header--open .cw-burger span:nth-child(3){ transform: translateY(-8px) rotate(-45deg); }

/* --- Mobile panel : caché par défaut, ouvert via classe JS --- */
.cw-mobile{
  display: none;
}
.cw-header--open .cw-mobile{
  display: block;
}

/* ===== Responsive ===== */
@media (max-width: 980px){
  .cw-header__wrap{
    grid-template-columns: 1fr auto;
    padding: 12px 16px;
  }
  .cw-nav{ display: none; }
  .cw-actions__teltext{ display:none; }
  .cw-burger{ display: inline-flex; }

  /* ✅ Menu mobile plus clair, moins “dark” */
  .cw-mobile{
    background: linear-gradient(180deg, var(--cw-mob-bg-1) 0%, var(--cw-mob-bg-2) 100%);
    border-top: 1px solid rgba(11,18,32,.10);
    box-shadow: 0 24px 60px rgba(11,18,32,.18);
    padding: 10px 0 14px;
  }

  .cw-mobile__wrap{
    max-width: var(--cw-wrap);
    margin: 0 auto;
    padding: 14px 16px 18px;
    display: grid;
    gap: 10px;
  }

  .cw-mobile__wrap a{
    color: var(--cw-mob-text) !important;
    text-decoration: none !important;
    font-weight: 800;
    padding: 14px 14px;
    border-radius: 14px;
    background: var(--cw-mob-card);
    border: 1px solid var(--cw-mob-border);
    box-shadow: 0 12px 26px rgba(11,18,32,.06);
  }

  .cw-mobile__wrap a:hover{
    background: #f0f5fb;
  }

  .cw-mobile__cta{
    width: 100%;
    margin-top: 6px;
    padding: 14px 16px;
    border-radius: 16px;
    font-weight: 900;
  }
}/* End custom CSS */