.elementor-12 .elementor-element.elementor-element-8077912{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-12 .elementor-element.elementor-element-7800109{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-12 .elementor-element.elementor-element-7800109 .elementor-divider-separator{width:100%;}.elementor-12 .elementor-element.elementor-element-7800109 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-12 .elementor-element.elementor-element-3f0a73c{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-12 .elementor-element.elementor-element-6324983{text-align:center;}.elementor-12 .elementor-element.elementor-element-6324983 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:31px;font-weight:600;color:#173A49;}.elementor-12 .elementor-element.elementor-element-ec7da59{--display:flex;}.elementor-12 .elementor-element.elementor-element-48192db{--display:flex;}.elementor-12 .elementor-element.elementor-element-64b4d59{--display:flex;}.elementor-12 .elementor-element.elementor-element-2f4bc6d{--display:flex;}.elementor-12 .elementor-element.elementor-element-8ad82d1{--spacer-size:62px;}:root{--page-title-display:none;}/* Start custom CSS for container, class: .elementor-element-8077912 *//* ===== HERO HOME – NG TRANSACTIONS (CLEAN) ===== */

.ng-hero{
  max-width: 1080px;
  margin: 0 auto;

  /* contrôle fin : top / sides / bottom */
  padding-top: clamp(36px, 4.5vw, 64px);
  padding-right: 20px;
  padding-left: 20px;
  padding-bottom: clamp(28px, 4vw, 52px);

  text-align: center;
}

/* Titre */
.ng-hero h1{
  max-width: 900px;
  margin: 0 auto 14px; /* marge sous H1 */
  font-size: clamp(2.05rem, 3.4vw, 2.7rem);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.02em;
  color: #0b4f6c;
}

/* Sous-titre */
.ng-hero-lead{
  margin: 0 auto 18px;
  font-size: 1.10rem;
  font-weight: 650;
  color: #083b52;
}

/* Pastilles */
.ng-hero-pillars{
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin: 0 0 22px;
}

.ng-hero-pillars span{
  padding: 8px 14px;
  font-size: 0.95rem;
  font-weight: 650;
  border-radius: 999px;
  background: rgba(255, 90, 95, 0.12);
  color: #ff5a5f;
}

/* Texte */
.ng-hero-text{
  max-width: 780px;
  margin: 0 auto;
  font-size: 1.05rem;
  line-height: 1.72;
  color: #5a5a5a;
}

/* ===== MOBILE ===== */
@media (max-width: 768px){
  .ng-hero{
    text-align: left;

    /* souvent, l’espace “en trop” vient d’ici */
    padding-top: 22px;
    padding-bottom: 26px;
  }

  .ng-hero-pillars{
    justify-content: flex-start;
    margin-bottom: 16px;
  }

  .ng-hero h1{
    margin-bottom: 12px;
    font-size: clamp(1.85rem, 7vw, 2.25rem);
  }

  .ng-hero-text{
    font-size: 1.02rem;
    line-height: 1.68;
  }
}
/* ===== HERO – TUNING MOBILE (compact & premium) ===== */
@media (max-width: 768px){

  /* Rythme global du hero */
  .ng-hero{
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }

  /* H1 : moins “bloc”, meilleure lisibilité */
  .ng-hero h1{
    font-size: clamp(1.75rem, 6.6vw, 2.15rem) !important;
    line-height: 1.08 !important;
    margin-bottom: 10px !important;
    letter-spacing: -0.015em !important;
    hyphens: auto;              /* coupe propre si besoin */
    overflow-wrap: anywhere;    /* évite les lignes moches */
  }

  /* Sous-titre : plus dense */
  .ng-hero-lead{
    font-size: 1.02rem !important;
    line-height: 1.35 !important;
    margin-bottom: 12px !important;
  }

  /* Pastilles : compactes + 2 par ligne quand possible */
  .ng-hero-pillars{
    gap: 8px !important;
    margin-bottom: 14px !important;
  }

  .ng-hero-pillars span{
    padding: 6px 10px !important;
    font-size: 0.90rem !important;
    line-height: 1.1 !important;
    border-radius: 999px !important;
    max-width: 100%;
    white-space: normal;
  }

  /* Texte : un poil plus serré */
  .ng-hero-text{
    font-size: 1.00rem !important;
    line-height: 1.58 !important;
    margin-top: 0 !important;
  }
}
/* ===== HERO – TUNING DESKTOP (réduire les blancs) ===== */
@media (min-width: 769px){

  /* Réduit le padding global du hero */
  .ng-hero{
    padding-top: clamp(28px, 3.2vw, 46px) !important;
    padding-bottom: clamp(22px, 2.6vw, 40px) !important;
  }

  /* H1 : un poil plus dense */
  .ng-hero h1{
    margin-bottom: 10px !important;
    line-height: 1.08 !important;
  }

  /* Sous-titre */
  .ng-hero-lead{
    margin-bottom: 14px !important;
  }

  /* Pastilles : moins d’espace dessous */
  .ng-hero-pillars{
    margin-bottom: 16px !important;
    gap: 10px !important;
  }

  /* Texte : réduit l’espace qui suit */
  .ng-hero-text{
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Si Elementor ajoute une marge sous la section */
  .ng-hero + *{
    margin-top: 18px !important;
  }
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-cbb4413 *//* ==============================
   NG – Duo de cartes premium
   ============================== */
.elementor-12 .elementor-element.elementor-element-cbb4413 .ng-cards2{
  --ng-blue:#0B5674;
  --ng-ink:#0f172a;
  --ng-muted:#475569;
  --ng-line:rgba(15,23,42,.10);
  --ng-card:#ffffff;
  --ng-soft:#f6f8fb;
  --ng-accent:#ff5a5f;
  --ng-radius:18px;
  --ng-shadow:0 14px 34px rgba(2,8,23,.08);

  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.elementor-12 .elementor-element.elementor-element-cbb4413 .ng-card2{
  background: linear-gradient(180deg, var(--ng-soft), #fff);
  border: 1px solid var(--ng-line);
  border-radius: var(--ng-radius);
  padding: 20px 20px 18px;
  box-shadow: var(--ng-shadow);
}

.elementor-12 .elementor-element.elementor-element-cbb4413 .ng-card2__kicker{
  margin: 0 0 8px 0;
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 900;
  color: rgba(11,86,116,.92);
}

.elementor-12 .elementor-element.elementor-element-cbb4413 .ng-card2__title{
  margin: 0 0 12px 0;
  font-size: 20px;
  line-height: 1.2;
  font-weight: 950;
  color: var(--ng-ink);
}

.elementor-12 .elementor-element.elementor-element-cbb4413 .ng-card2__text{
  margin: 0 0 14px 0;
  font-size: 15.5px;
  line-height: 1.65;
  color: var(--ng-muted);
}

/* Liste */
.elementor-12 .elementor-element.elementor-element-cbb4413 .ng-card2__list{
  margin: 0;
  padding: 0;
  list-style: none;
  display:grid;
  gap: 10px;
}

.elementor-12 .elementor-element.elementor-element-cbb4413 .ng-card2__list li{
  position: relative;
  padding-left: 18px;
  color: var(--ng-muted);
  line-height: 1.6;
  font-size: 15.5px;
}

.elementor-12 .elementor-element.elementor-element-cbb4413 .ng-card2__list li strong{
  color: var(--ng-ink);
  font-weight: 900;
}

.elementor-12 .elementor-element.elementor-element-cbb4413 .ng-card2__list li:before{
  content:"";
  position:absolute;
  left: 0;
  top: .62em;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--ng-accent);
}

/* Badges */
.elementor-12 .elementor-element.elementor-element-cbb4413 .ng-card2__badges{
  display:flex;
  flex-wrap: wrap;
  gap: 8px;
}

.elementor-12 .elementor-element.elementor-element-cbb4413 .ng-badge2{
  display:inline-flex;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(11,86,116,.18);
  background: rgba(11,86,116,.06);
  color: rgba(11,86,116,.95);
  font-weight: 900;
  font-size: 12.5px;
}

/* Responsive */
@media (max-width: 1024px){
  .elementor-12 .elementor-element.elementor-element-cbb4413 .ng-cards2{
    grid-template-columns: 1fr;
  }
}/* End custom CSS */
/* Start custom CSS *//* Placeholder recherche Estatik – plus visible */
.es-search__address input::placeholder {
  color: #555 !important;      /* gris foncé lisible */
  opacity: 1 !important;       /* force l’opacité (Chrome/Firefox) */
  font-weight: 500;            /* un peu plus présent */
}


/* ==============================
   NG – Bloc Acheter / Vendre
   CSS scoped Elementor (body.elementor-page-12)
   ============================== */

body.elementor-page-12 .ng-av{
  --ng-blue:#0B5674;
  --ng-blue2:#0A3F56;
  --ng-ink:#0f172a;
  --ng-muted:#475569;
  --ng-line:rgba(15,23,42,.10);
  --ng-card:#ffffff;
  --ng-soft:#f6f8fb;
  --ng-accent:#ff5a5f;
  --ng-radius:22px;
  --ng-shadow:0 14px 34px rgba(2,8,23,.08);
  --ng-shadow2:0 10px 26px rgba(2,8,23,.07);

  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-radius: calc(var(--ng-radius) + 8px);
  overflow:hidden;
  border: 1px solid var(--ng-line);
  box-shadow: var(--ng-shadow);
  background: #fff;
}

/* Left column */
body.elementor-page-12 .ng-av__left{
  padding: 26px;
  background: linear-gradient(180deg, var(--ng-soft), #ffffff);
}

body.elementor-page-12 .ng-kicker{
  margin: 0 0 8px 0;
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 900;
  color: rgba(11,86,116,.92);
}

body.elementor-page-12 .ng-kicker--light{
  color: rgba(255,255,255,.78);
}

body.elementor-page-12 .ng-av-card{
  background: rgba(255,255,255,.78);
  border: 1px solid var(--ng-line);
  border-radius: var(--ng-radius);
  padding: 20px;
  box-shadow: var(--ng-shadow2);
}

body.elementor-page-12 .ng-av-title{
  margin: 0 0 14px 0;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 950;
  color: var(--ng-ink);
}

body.elementor-page-12 .ng-av-divider{
  height: 1px;
  background: rgba(15,23,42,.10);
  margin: 16px 6px;
}

/* Right column */
body.elementor-page-12 .ng-av__right{
  padding: 30px;
  background: linear-gradient(135deg, var(--ng-blue), var(--ng-blue2));
  color: #fff;
  display:flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  position: relative;
}

body.elementor-page-12 .ng-av__right:before{
  content:"";
  position:absolute;
  inset: 0;
  background:
    radial-gradient(800px 300px at 20% 20%, rgba(255,255,255,.10), transparent 60%),
    radial-gradient(700px 260px at 80% 70%, rgba(255,90,95,.12), transparent 55%);
  pointer-events:none;
}

body.elementor-page-12 .ng-av__right > *{
  position: relative;
  z-index: 1;
}

body.elementor-page-12 .ng-av-title--light{
  color:#fff;
  margin-bottom: 10px;
  font-size: 24px;
}

body.elementor-page-12 .ng-av-list{
  margin: 0 0 14px 0;
  padding: 0;
  list-style: none;
  display:grid;
  gap: 10px;
}

body.elementor-page-12 .ng-av-list li{
  padding-left: 18px;
  position: relative;
  font-weight: 800;
  opacity: .95;
}

body.elementor-page-12 .ng-av-list li:before{
  content:"";
  position:absolute;
  left: 0;
  top: .62em;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--ng-accent);
}

/* Buttons */
body.elementor-page-12 .ng-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 12px 16px;
  border-radius: 14px;
  font-weight: 900;
  font-size: 14px;
  text-decoration: none !important;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
  width: fit-content;
}

body.elementor-page-12 .ng-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(2,8,23,.10);
}

body.elementor-page-12 .ng-btn--primary{
  background: linear-gradient(135deg, var(--ng-blue), var(--ng-blue2));
  color: #fff !important;
  box-shadow: 0 12px 26px rgba(11,86,116,.22);
}

body.elementor-page-12 .ng-btn--ghost{
  background: #fff;
  color: var(--ng-blue) !important;
  border: 1px solid rgba(11,86,116,.20);
}

body.elementor-page-12 .ng-btn--accent{
  background: var(--ng-accent);
  color: #fff !important;
  box-shadow: 0 12px 26px rgba(255,90,95,.25);
}

body.elementor-page-12 .ng-av-btn{
  margin-top: 2px;
}

/* Responsive */
@media (max-width: 1024px){
  body.elementor-page-12 .ng-av{ grid-template-columns: 1fr; }
  body.elementor-page-12 .ng-av__right{ padding: 24px; }
  body.elementor-page-12 .ng-btn{ width: 100%; }
}/* End custom CSS */