/* =========================================================
   WEB2WEB Pack BOOSTER — Global CSS (Elementor-friendly)
   Préfixe : .w2w-*  | Aucun min-height 100vh hors hero.
   ========================================================= */
:root{
  --w2w-primary:#4a90b8;
  --w2w-primary-dark:#357a9e;
  --w2w-accent:#c62828;
  --w2w-accent-dark:#a31f1f;
  --w2w-text:#1f2937;
  --w2w-muted:#6b7280;
  --w2w-bg:#ffffff;
  --w2w-bg-soft:#f6f8fb;
  --w2w-border:#e5e7eb;
  --w2w-radius:12px;
  --w2w-shadow:0 6px 24px rgba(17,24,39,.08);
  --w2w-font-head:"Montserrat",system-ui,sans-serif;
  --w2w-font-body:"Open Sans",system-ui,sans-serif;
}

/* Reset doux — ne touche PAS aux conteneurs Elementor */
body{font-family:var(--w2w-font-body);color:var(--w2w-text);background:var(--w2w-bg);}
.w2w-elementor-page h1,.w2w-elementor-page h2,.w2w-elementor-page h3{font-family:var(--w2w-font-head);}

/* Hero — seul autorisé à respirer */
.w2w-hero{min-height:88vh;display:flex;align-items:center;}
@media (max-width:1024px){.w2w-hero{min-height:auto;padding:64px 20px;}}
@media (max-width:600px){.w2w-hero{padding:48px 16px;}}

/* Sections standards — pas de min-height 100vh */
.w2w-section{padding:80px 24px;}
@media (max-width:1024px){.w2w-section{padding:64px 20px;}}
@media (max-width:600px){.w2w-section{padding:48px 16px;}}

/* Boutons */
.w2w-btn{display:inline-block;padding:14px 28px;border-radius:var(--w2w-radius);font-weight:700;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,background .15s;}
.w2w-btn-primary{background:var(--w2w-accent);color:#fff!important;}
.w2w-btn-primary:hover{background:var(--w2w-accent-dark);transform:translateY(-1px);box-shadow:var(--w2w-shadow);}
.w2w-btn-secondary{background:transparent;color:var(--w2w-primary)!important;border:2px solid var(--w2w-primary);}
.w2w-btn-secondary:hover{background:var(--w2w-primary);color:#fff!important;}

/* Cartes / Pricing */
.w2w-card{background:#fff;border:1px solid var(--w2w-border);border-radius:var(--w2w-radius);padding:32px;box-shadow:var(--w2w-shadow);}
.w2w-price-featured{transform:scale(1.03);border:2px solid var(--w2w-primary);position:relative;}
.w2w-price-featured::before{content:"Recommandé";position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--w2w-primary);color:#fff;padding:4px 14px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.5px;}

/* Chat mockup */
.w2w-chat{max-width:420px;background:#fff;border-radius:18px;box-shadow:var(--w2w-shadow);padding:18px;font-family:var(--w2w-font-body);}
.w2w-msg{padding:10px 14px;margin:6px 0;border-radius:14px;max-width:80%;font-size:14px;line-height:1.45;}
.w2w-msg.bot{background:#eef4f9;color:#0f2535;}
.w2w-msg.user{background:var(--w2w-primary);color:#fff;margin-left:auto;}
.w2w-msg.typing::after{content:"●●●";letter-spacing:3px;animation:w2wTyping 1.2s infinite;}
@keyframes w2wTyping{0%{opacity:.2}50%{opacity:1}100%{opacity:.2}}

/* Sticky CTA mobile */
.w2w-sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:9998;background:var(--w2w-accent);color:#fff;text-align:center;padding:14px 16px;font-weight:700;display:none;text-decoration:none;}
@media (max-width:768px){.w2w-sticky-cta.is-visible{display:block;}}

/* Chat widget flottant */
.w2w-fab{position:fixed;right:18px;bottom:18px;z-index:9999;width:60px;height:60px;border-radius:50%;background:var(--w2w-primary);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--w2w-shadow);animation:w2wFloat 3s ease-in-out infinite;text-decoration:none;}
@keyframes w2wFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

/* Garde-fou : empêche les sections Elementor de devenir des trous vides */
.w2w-elementor-page .elementor-section{min-height:0!important;}
