/* ============================================================
   MWS CUSTOM — Styles natifs Elementor
   Architecture: CSS classes ciblées sur widgets Elementor
   ============================================================ */

/* ── Variables ─────────────────────────────────────────── */
:root {
  --green:   #16A34A;
  --green-d: #15803D;
  --black:   #0A0A0A;
  --dark:    #0D0D0D;
  --muted:   #6B7280;
  --white:   #FFFFFF;
  --border:  rgba(255,255,255,0.08);
  --card-bg: rgba(255,255,255,0.03);
}

/* ── Page background ───────────────────────────────────── */
body, body.elementor-page { background-color: var(--black) !important; }

/* ── Reveal animation ──────────────────────────────────── */
.reveal { opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity:1; transform:none; }
/* Editor: always visible */
.elementor-editor-active .reveal,
.elementor-editor-active .reveal.visible { opacity:1 !important; transform:none !important; transition:none !important; }

/* ══════════════════════════════════════════════════════════
   SECTION BACKGROUNDS
══════════════════════════════════════════════════════════ */
.mws-hero-section,
.mws-stats-intro,
.mws-stats-counters,
.mws-services-intro,
.mws-services-grid-section,
.mws-process-intro,
.mws-process-steps-section { background-color: var(--black) !important; }

.mws-faq-section      { background-color: #050505 !important; }
.mws-diagnostic-section { background-color: var(--black) !important; }

/* ══════════════════════════════════════════════════════════
   GLOBAL HEADING COLORS (par section)
══════════════════════════════════════════════════════════ */
.mws-hero-section .elementor-heading-title,
.mws-stats-intro .elementor-heading-title,
.mws-services-intro .elementor-heading-title,
.mws-services-grid-section .elementor-heading-title,
.mws-process-intro .elementor-heading-title,
.mws-process-steps-section .elementor-heading-title,
.mws-faq-section .elementor-heading-title,
.mws-diagnostic-section .elementor-heading-title { color: var(--white) !important; }

/* Exceptions: tags verts */
.mws-tag .elementor-heading-title,
.mws-svc-tag .elementor-heading-title { color: var(--green) !important; }

/* Exceptions: numéros d'étapes (contenu inline span) */
.mws-process-steps-section .elementor-col-33:first-child .elementor-heading-title,
.mws-process-steps-section .elementor-col-34 .elementor-heading-title,
.mws-process-steps-section .elementor-col-33:last-child .elementor-heading-title { color: var(--white) !important; }

/* ── Tag badge (heading h6 avec class mws-tag) ───────── */
.mws-tag .elementor-heading-title {
  display:inline-block;
  background:rgba(22,163,74,.12);
  border-radius:100px;
  padding:5px 18px;
  font-size:.75rem;
  font-weight:700;
  letter-spacing:1.8px;
  text-transform:uppercase;
}

/* ══════════════════════════════════════════════════════════
   GLOBAL TEXT EDITOR COLORS
══════════════════════════════════════════════════════════ */
.mws-hero-section .elementor-text-editor p,
.mws-stats-intro .elementor-text-editor p,
.mws-services-intro .elementor-text-editor p,
.mws-services-grid-section .elementor-text-editor p,
.mws-process-steps-section .elementor-text-editor p,
.mws-faq-section .elementor-text-editor p,
.mws-diagnostic-section .elementor-text-editor p { color: var(--muted) !important; }

/* ══════════════════════════════════════════════════════════
   HERO
══════════════════════════════════════════════════════════ */
.mws-hero-section { padding:120px 60px 80px !important; }
.mws-hero-section .elementor-col-55 { padding-right:48px; }

.mws-hero-section h1.elementor-heading-title {
  font-family:'Poppins',sans-serif !important;
  font-size:clamp(2rem,3.5vw,3.4rem) !important;
  font-weight:900 !important;
  line-height:1.12 !important;
  margin:16px 0 !important;
}

.mws-hero-section .elementor-text-editor p {
  font-size:1.05rem !important;
  line-height:1.75 !important;
  font-family:'Lato',sans-serif !important;
}

/* Proof bar */
.mws-proof-bar .elementor-text-editor p {
  font-size:.9rem !important;
  margin:16px 0 !important;
}
.mws-proof-bar strong { color:var(--green) !important; }

/* Dashboard image */
.mws-hero-section .elementor-col-45 img {
  border-radius:20px;
  box-shadow:0 24px 80px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.06);
}

/* ── Buttons ─────────────────────────────────────────── */
.mws-btn-primary,
.mws-btn-ghost { display:inline-block; margin:8px 12px 0 0; }

.mws-btn-primary .elementor-button {
  background:var(--green) !important;
  color:#fff !important;
  border:none !important;
  border-radius:100px !important;
  padding:14px 36px !important;
  font-family:'Poppins',sans-serif !important;
  font-weight:700 !important;
  font-size:15px !important;
  transition:background .2s, transform .2s !important;
}
.mws-btn-primary .elementor-button:hover { background:var(--green-d) !important; transform:translateY(-2px) !important; }

.mws-btn-ghost .elementor-button {
  background:transparent !important;
  color:var(--green) !important;
  border:2px solid var(--green) !important;
  border-radius:100px !important;
  padding:12px 34px !important;
  font-family:'Poppins',sans-serif !important;
  font-weight:700 !important;
  font-size:15px !important;
  transition:all .2s !important;
}
.mws-btn-ghost .elementor-button:hover { background:var(--green) !important; color:#fff !important; transform:translateY(-2px) !important; }

/* ══════════════════════════════════════════════════════════
   STATS COUNTERS
══════════════════════════════════════════════════════════ */
.mws-stats-intro { padding:80px 60px 40px !important; }
.mws-stats-intro h2.elementor-heading-title {
  font-family:'Poppins',sans-serif !important;
  font-size:clamp(1.8rem,3vw,2.6rem) !important;
  font-weight:800 !important;
}

.mws-stats-counters { padding:0 60px 80px !important; }
.mws-stats-counters .elementor-column > .elementor-widget-wrap { text-align:center; padding:20px; }

.mws-counter-widget .elementor-counter-number-wrapper {
  color:var(--green) !important;
  font-family:'Poppins',sans-serif !important;
  font-size:64px !important;
  font-weight:900 !important;
  line-height:1 !important;
}
.mws-counter-widget .elementor-counter-title {
  color:var(--muted) !important;
  font-family:'Lato',sans-serif !important;
  font-size:11px !important;
  font-weight:700 !important;
  text-transform:uppercase !important;
  letter-spacing:1.8px !important;
  margin-top:10px !important;
}

/* ══════════════════════════════════════════════════════════
   SERVICES
══════════════════════════════════════════════════════════ */
.mws-services-intro { padding:80px 60px 40px !important; }
.mws-services-intro h2.elementor-heading-title {
  font-family:'Poppins',sans-serif !important;
  font-size:clamp(1.8rem,3vw,2.6rem) !important;
  font-weight:800 !important;
}

.mws-services-grid-section { padding:0 40px 80px !important; }

/* Card = la colonne entière */
.mws-services-grid-section .elementor-column > .elementor-widget-wrap {
  background:var(--card-bg) !important;
  border:1px solid var(--border) !important;
  border-radius:16px !important;
  padding:28px 24px !important;
  transition:border-color .3s, background .3s !important;
}
.mws-services-grid-section .elementor-column:hover > .elementor-widget-wrap {
  border-color:var(--green) !important;
  background:rgba(22,163,74,.05) !important;
}

/* Tag label */
.mws-svc-tag .elementor-heading-title {
  font-family:'Lato',sans-serif !important;
  font-size:.7rem !important;
  font-weight:900 !important;
  letter-spacing:2.5px !important;
  text-transform:uppercase !important;
  margin-bottom:12px !important;
}

/* Icon box (titre service) */
.mws-service-card .elementor-icon-box-icon { margin-bottom:16px; }
.mws-service-card .elementor-icon { color:var(--green) !important; font-size:28px !important; }
.mws-service-card .elementor-icon-box-title { color:var(--white) !important; font-family:'Poppins',sans-serif !important; font-size:1rem !important; font-weight:700 !important; }

/* Bullets (text-editor liste) */
.mws-services-grid-section .elementor-text-editor ul { list-style:none; padding:0; margin:4px 0 0; }
.mws-services-grid-section .elementor-text-editor li { color:var(--muted); font-size:13px; padding:3px 0; }
.mws-services-grid-section .elementor-text-editor li span[style*='color:#16A34A'] { margin-right:6px; }

/* Badge résultat */
.mws-services-grid-section .elementor-column > .elementor-widget-wrap > .elementor-widget:last-child .elementor-text-editor p {
  font-size:12px !important;
  font-weight:700 !important;
  color:var(--green) !important;
  margin-top:16px !important;
  padding-top:12px !important;
  border-top:1px solid rgba(22,163,74,.2) !important;
}

/* ══════════════════════════════════════════════════════════
   PROCESS STEPS
══════════════════════════════════════════════════════════ */
.mws-process-intro { padding:80px 60px 40px !important; }
.mws-process-intro h2.elementor-heading-title { font-family:'Poppins',sans-serif !important; font-size:clamp(1.6rem,2.5vw,2.2rem) !important; font-weight:800 !important; }

.mws-process-steps-section { padding:0 40px 80px !important; }

/* Card = colonne */
.mws-process-steps-section .elementor-column > .elementor-widget-wrap {
  background:var(--card-bg) !important;
  border:1px solid var(--border) !important;
  border-radius:16px !important;
  padding:40px 32px !important;
  text-align:center !important;
  transition:border-color .3s !important;
}
.mws-process-steps-section .elementor-column:hover > .elementor-widget-wrap { border-color:var(--green) !important; }

/* Numéro (heading h6 avec span green) */
.mws-process-steps-section .elementor-widget-heading:first-child .elementor-heading-title {
  font-family:'Poppins',sans-serif !important;
  font-size:2.5rem !important;
  font-weight:900 !important;
  margin-bottom:16px !important;
}
/* Titre étape */
.mws-process-steps-section .elementor-widget-heading:nth-child(2) .elementor-heading-title {
  font-size:1.1rem !important;
  font-family:'Poppins',sans-serif !important;
  font-weight:700 !important;
  margin-bottom:12px !important;
}

/* ══════════════════════════════════════════════════════════
   FAQ
══════════════════════════════════════════════════════════ */
.mws-faq-section { padding:80px 60px !important; }
.mws-faq-section h2.elementor-heading-title { font-family:'Poppins',sans-serif !important; font-size:clamp(1.8rem,3vw,2.6rem) !important; font-weight:800 !important; text-align:center; }
.mws-faq-section .elementor-text-editor p { text-align:center; margin-bottom:32px; }

.elementor-widget-accordion .elementor-accordion-item { border:1px solid rgba(255,255,255,.08) !important; border-radius:10px !important; margin-bottom:10px !important; overflow:hidden !important; }
.elementor-widget-accordion .elementor-tab-title { background:rgba(255,255,255,.03) !important; border:none !important; padding:18px 24px !important; font-family:'Poppins',sans-serif !important; font-weight:600 !important; font-size:15px !important; color:var(--white) !important; }
.elementor-widget-accordion .elementor-active .elementor-tab-title { color:var(--green) !important; border-bottom:1px solid rgba(22,163,74,.2) !important; }
.elementor-widget-accordion .elementor-tab-content { background:rgba(22,163,74,.04) !important; color:var(--muted) !important; padding:18px 24px !important; border:none !important; font-size:14px !important; line-height:1.75 !important; }
.elementor-widget-accordion .elementor-accordion-icon { color:var(--green) !important; }

/* ══════════════════════════════════════════════════════════
   DIAGNOSTIC FORM
══════════════════════════════════════════════════════════ */
.mws-diagnostic-section { padding:80px 60px 120px !important; }
.mws-diagnostic-section h2.elementor-heading-title { font-family:'Poppins',sans-serif !important; font-size:clamp(1.8rem,3vw,2.6rem) !important; font-weight:800 !important; text-align:center; }
.mws-diagnostic-section .elementor-text-editor p { text-align:center; margin-bottom:32px; }

.mws-diagnostic-section .elementor-form-fields-wrapper { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.mws-diagnostic-section .elementor-field-group { margin-bottom:0 !important; }
.mws-diagnostic-section .elementor-field-group:nth-child(1),
.mws-diagnostic-section .elementor-field-group:nth-child(2),
.mws-diagnostic-section .elementor-field-group:nth-child(3) { grid-column:1/-1; }
.mws-diagnostic-section .elementor-field-group:last-child { grid-column:1/-1; }

.mws-diagnostic-section .elementor-field {
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:10px !important;
  color:var(--white) !important;
  padding:13px 18px !important;
  width:100% !important;
  font-family:'Lato',sans-serif !important;
  transition:border-color .2s !important;
}
.mws-diagnostic-section .elementor-field:focus { border-color:var(--green) !important; outline:none !important; }
.mws-diagnostic-section .elementor-field option { background:#1a1a1a; color:var(--white); }

.mws-diagnostic-section .elementor-button[type=submit] {
  background:var(--green) !important;
  color:#fff !important;
  border:none !important;
  border-radius:100px !important;
  padding:16px 40px !important;
  font-family:'Poppins',sans-serif !important;
  font-weight:700 !important;
  font-size:16px !important;
  width:100% !important;
  cursor:pointer !important;
  transition:background .2s !important;
}
.mws-diagnostic-section .elementor-button[type=submit]:hover { background:var(--green-d) !important; }

/* ══════════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════════ */
@media (max-width:1024px) {
  .mws-hero-section { padding:80px 40px 60px !important; }
  .mws-hero-section .elementor-col-55 { padding-right:24px; }
}
@media (max-width:768px) {
  .mws-hero-section { padding:80px 24px 60px !important; }
  .mws-hero-section .elementor-col-45 { display:none !important; }
  .mws-hero-section .elementor-col-55 { width:100% !important; padding-right:0; }
  .mws-btn-primary, .mws-btn-ghost { display:block; margin-right:0; width:100%; }
  .mws-btn-primary .elementor-button,
  .mws-btn-ghost .elementor-button { width:100%; text-align:center; }
  .mws-stats-intro, .mws-stats-counters { padding-left:24px !important; padding-right:24px !important; }
  .mws-services-grid-section .elementor-column { width:50% !important; }
  .mws-process-steps-section .elementor-column { width:100% !important; margin-bottom:16px; }
  .mws-faq-section, .mws-diagnostic-section { padding-left:24px !important; padding-right:24px !important; }
  .mws-diagnostic-section .elementor-form-fields-wrapper { grid-template-columns:1fr; }
  .mws-diagnostic-section .elementor-field-group { grid-column:1/-1 !important; }
}
@media (max-width:480px) {
  .mws-services-grid-section .elementor-column { width:100% !important; }
  .mws-stats-counters .elementor-column { width:100% !important; margin-bottom:24px; }
}
