.enbv{--navy:#062b59;--teal:#0498aa;--green:#08775f;--red:#f0333c;--purple:#6339b7;--orange:#ee9e00;max-width:1180px;margin:38px auto;padding:0 16px;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#0b1f43}.enbv *{box-sizing:border-box}.enbv-heading{text-align:center}.enbv-heading h2{font-size:clamp(30px,4vw,50px);line-height:1.05;margin:0 0 12px;font-weight:800}.enbv-heading h2 span{color:var(--teal)}.enbv-heading p{font-size:17px;line-height:1.45}.enbv-now{font-family:"Comic Sans MS",cursive;color:var(--teal);font-size:18px;margin:8px 0 8px 18px;transform:rotate(-3deg);width:max-content}.enbv-topline{display:flex;align-items:center;gap:16px;border:1px solid #dde4ec;border-radius:15px;padding:22px;background:#fff;box-shadow:0 8px 24px rgba(0,20,50,.06);margin-bottom:32px}.enbv-topline>div{flex:1}.enbv-topline b,.enbv-topline small{display:block}.enbv-topline small{font-size:12px;line-height:1.4;margin-top:6px}.enbv-topline i{font-style:normal;font-size:25px}.enbv-cards{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:18px}.enbv-card{position:relative;border:1px solid #dce2e9;border-radius:13px;background:#fff;padding:24px 22px 20px;box-shadow:0 8px 25px rgba(10,25,50,.07);display:flex;flex-direction:column}.enbv-card.premium{border:2px solid var(--orange);padding-top:34px;transform:translateY(-10px)}.badge{position:absolute;top:-2px;left:-2px;right:-2px;background:var(--orange);color:#fff;text-align:center;font-size:12px;font-weight:800;padding:7px;border-radius:11px 11px 0 0}.sym{margin:5px auto 10px;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;font-size:34px;background:#eff7f3}.premium .sym{background:#fff3de}.plus .sym{background:#f3efff}.enbv-card h3{text-align:center;font-size:25px;margin:0 0 3px}.free h3{color:var(--green)}.plus h3{color:var(--purple)}.enbv-card h4{text-align:center;margin:0 0 18px;font-size:15px}.enbv-card ul{list-style:none;margin:0;padding:0}.enbv-card li{position:relative;padding:5px 0 5px 23px;font-size:14px;line-height:1.35}.enbv-card li:before{content:"✓";position:absolute;left:0;top:6px;width:15px;height:15px;border-radius:50%;background:var(--green);color:white;font-size:10px;display:grid;place-items:center}.plus li:before{background:var(--purple)}.push{flex:1;min-height:70px}.gift{margin-top:auto;background:#fff2dc;border-radius:6px;padding:7px;text-align:center;font-size:14px}.price{text-align:center;font-size:42px;font-weight:800;margin:15px 0 5px}.price span{font-size:17px}.green{color:var(--green)}.red{color:var(--red)}.purple{color:var(--purple)}.small{text-align:center;font-size:12px}.btn{display:block;text-decoration:none!important;color:#fff!important;text-align:center;border-radius:7px;padding:13px 11px;font-weight:800;font-size:14px}.greenbg{background:var(--green)}.redbg{background:var(--red)}.purplebg{background:var(--purple)}.navybg{background:var(--navy)}.stripe{text-align:center;font-size:11px;color:#657186;margin-top:10px}.stripe strong{font-size:16px;color:#6258ff}.stripe div{display:flex;justify-content:center;gap:4px;flex-wrap:wrap;margin-top:5px}.stripe span{border:1px solid #dce2e9;padding:2px 5px;border-radius:4px;font-size:9px}.hand{font-family:"Comic Sans MS",cursive;text-align:center;font-size:14px;line-height:1.35;margin-top:13px}.enbv-success{margin-top:24px;background:linear-gradient(135deg,#062e5f,#031d3e);border-radius:14px;color:#fff;display:grid;grid-template-columns:215px 1fr 285px;gap:22px;align-items:end;overflow:hidden;padding-right:16px}.photo{height:345px;overflow:hidden;display:flex;align-items:flex-end;justify-content:center}.photo img{width:238px;height:auto;display:block;transform:translateY(12px)}.success-main{padding:26px 0 22px}.success-main>p{text-align:center;font-size:17px;margin:0 0 5px}.success-main h3{text-align:center;font-size:25px;margin:0 0 4px}.success-main h4{text-align:center;color:#4ed6dd;font-size:22px;margin:0 0 20px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 16px;font-size:12px}.services span{display:block}.invest{border-top:1px solid rgba(80,210,220,.5);margin-top:18px;padding-top:12px;text-align:center;color:#55d8df}.enbv-success aside{background:#fff;color:#0b1f43;border-radius:10px;padding:18px;margin:16px 0;align-self:stretch}.enbv-success aside h3{font-size:22px;margin:0 0 4px}.enbv-success aside p{font-size:14px;line-height:1.4}.enbv-success aside .xp{color:var(--teal);font-weight:700}.phone{display:block;text-align:center;text-decoration:none!important;color:#0b1f43!important;font-size:20px;font-weight:800;margin-top:10px}.bottom-title{text-align:center;font-size:22px;margin:28px 0 12px}.enbv-bottomline{display:flex;align-items:center;gap:7px}.enbv-bottomline>div{flex:1;text-align:center}.enbv-bottomline b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--teal);color:#fff;margin:0 auto 8px}.enbv-bottomline span,.enbv-bottomline small{display:block}.enbv-bottomline span{font-size:12px;font-weight:800}.enbv-bottomline small{font-size:10px;line-height:1.35;margin-top:4px}.enbv-bottomline i{font-style:normal}.reassure{display:flex;justify-content:space-around;gap:12px;flex-wrap:wrap;background:#eef8fb;color:#08758d;border-radius:12px;padding:15px;margin-top:18px;font-size:12px;font-weight:600}
@media(max-width:900px){.enbv-cards{grid-template-columns:1fr}.enbv-card.premium{transform:none}.enbv-topline{overflow-x:auto}.enbv-topline>div{min-width:190px}.enbv-success{grid-template-columns:160px 1fr}.enbv-success aside{grid-column:1/-1;margin:0 16px 16px}.services{grid-template-columns:1fr 1fr}.enbv-bottomline{display:grid;grid-template-columns:1fr 1fr}.enbv-bottomline i{display:none}}
@media(max-width:620px){.enbv-heading h2{font-size:31px}.enbv-heading p{font-size:15px}.enbv-success{grid-template-columns:1fr;padding:0}.photo{height:265px}.photo img{width:205px}.success-main{padding:0 17px 20px}.services{grid-template-columns:1fr 1fr}.enbv-success aside{margin:0 14px 14px}.enbv-bottomline{grid-template-columns:1fr 1fr}.reassure{justify-content:flex-start}}

/* V1.0.1 — intégration automatique dans l'écran Résultat */
.en-result .enbv-auto-mounted,
.enbrs-step .enbv-auto-mounted{margin-top:36px}
.en-result .enbv-auto-mounted .enbv,
.enbrs-step .enbv-auto-mounted .enbv{max-width:none;margin:0;padding:0}


/* V1.0.2 — correctifs mobiles uniquement
   - aucun changement de texte, tarif, lien ou structure commerciale
   - évite les contenus tronqués
   - affiche le nouveau portrait détouré en entier
*/
@media(max-width:620px){
  .enbv{
    width:100%;
    max-width:100%;
    padding-left:12px;
    padding-right:12px;
    overflow:visible;
  }

  .enbv,
  .enbv *{
    min-width:0;
  }

  .enbv h2,
  .enbv h3,
  .enbv h4,
  .enbv p,
  .enbv li,
  .enbv span,
  .enbv small,
  .enbv a{
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
  }

  /* Chronologie haute : plus de défilement horizontal / texte coupé */
  .enbv-topline{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
    overflow:visible;
    padding:16px 18px;
  }

  .enbv-topline>div{
    min-width:0;
    width:100%;
    padding:11px 0;
  }

  .enbv-topline i{
    display:none;
  }

  .enbv-topline small{
    font-size:12px;
    line-height:1.45;
  }

  /* Cartes commerciales */
  .enbv-cards{
    width:100%;
    grid-template-columns:minmax(0,1fr);
    gap:16px;
  }

  .enbv-card,
  .enbv-card.premium{
    width:100%;
    max-width:100%;
    min-width:0;
    transform:none;
    overflow:visible;
  }

  .enbv-card{
    padding-left:18px;
    padding-right:18px;
  }

  .enbv-card.premium{
    padding-left:18px;
    padding-right:18px;
    padding-top:38px;
  }

  .enbv-card .btn{
    width:100%;
    max-width:100%;
    line-height:1.35;
  }

  .badge{
    font-size:10px;
    line-height:1.25;
    padding-left:8px;
    padding-right:8px;
  }

  /* Bloc accompagnement : tout en une colonne, sans découpe */
  .enbv-success{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    width:100%;
    max-width:100%;
    padding:0;
    overflow:hidden;
  }

  .enbv-success .photo{
    order:1;
    width:100%;
    height:auto;
    min-height:0;
    overflow:visible;
    align-items:flex-end;
    justify-content:center;
    padding:18px 14px 0;
  }

  .enbv-success .photo img{
    width:min(86vw,330px);
    max-width:100%;
    height:auto;
    max-height:none;
    object-fit:contain;
    object-position:center bottom;
    transform:none;
    margin:0 auto;
  }

  .enbv-success .success-main{
    order:2;
    width:100%;
    max-width:100%;
    padding:20px 18px 22px;
  }

  .enbv-success .success-main>p,
  .enbv-success .success-main h3,
  .enbv-success .success-main h4{
    width:100%;
    max-width:100%;
  }

  .enbv-success .success-main h3{
    font-size:22px;
    line-height:1.18;
  }

  .enbv-success .success-main h4{
    font-size:19px;
    line-height:1.25;
  }

  .enbv-success .services{
    grid-template-columns:1fr;
    gap:10px;
    width:100%;
  }

  .enbv-success .services span{
    width:100%;
    line-height:1.45;
  }

  .enbv-success .invest{
    line-height:1.45;
  }

  .enbv-success aside{
    order:3;
    width:auto;
    max-width:none;
    margin:0 14px 14px;
    padding:18px;
  }

  .enbv-success aside .btn,
  .enbv-success .phone{
    width:100%;
    max-width:100%;
  }

  .enbv-success .phone{
    font-size:18px;
    overflow-wrap:normal;
  }

  /* Chronologie basse : davantage d'espace pour le texte */
  .enbv-bottomline{
    grid-template-columns:1fr;
    gap:14px;
  }

  .enbv-bottomline>div{
    padding:8px 4px;
  }

  .enbv-bottomline span{
    font-size:13px;
  }

  .enbv-bottomline small{
    font-size:11px;
  }

  .reassure{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    justify-content:stretch;
  }

  .reassure span{
    width:100%;
  }
}


/* V1.0.3 — montage automatique sur le résultat de l'estimateur classique */
.en-estimator .en-result[data-step-panel="7"] > .enbv-auto-mounted{
  width:100%;
  max-width:100%;
  margin-top:38px;
}
.en-estimator .en-result[data-step-panel="7"] > .enbv-auto-mounted > .enbv{
  max-width:none;
  margin:0;
  padding-left:0;
  padding-right:0;
}


/* V1.0.4 — intégration propre dans le résultat classique */
.en-estimator .en-result[data-step-panel="7"] > .enbv-auto-mounted{
  display:block;
  width:100%;
  max-width:100%;
  margin:38px 0 0;
  padding:0;
  overflow:visible;
}
.en-estimator .en-result[data-step-panel="7"] > .enbv-auto-mounted > .enbv{
  display:block;
  width:100%;
  max-width:1180px;
  margin:0 auto;
  box-sizing:border-box;
}
/* Sécurité CSS si le JS a bien identifié l'ancien encart */
.en-estimator .en-result[data-step-panel="7"] .en-offers[aria-hidden="true"]{
  display:none!important;
}


/* V1.0.5 — résultat BRS + visibilité des boutons Stripe
   Aucun changement du contenu commercial du bloc Vente. */

.enbrs-step[data-panel="5"] > .enbv-auto-mounted{
  width:100%;
  max-width:100%;
  margin-top:38px;
}

.enbrs-step[data-panel="5"] > .enbv-auto-mounted > .enbv{
  max-width:none;
  margin:0;
  padding-left:0;
  padding-right:0;
}

/* Sécurise l'affichage des CTA Premium / Premium Plus dans les résultats
   d'estimation, notamment si le CSS de l'estimateur impose des styles aux liens. */
.en-estimator .enbv a.btn,
.enbrs-step[data-panel="5"] .enbv a.btn,
.en-estimator .enbv .btn,
.enbrs-step[data-panel="5"] .enbv .btn{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  visibility:visible !important;
  opacity:1 !important;
  text-decoration:none !important;
  pointer-events:auto !important;
  min-height:46px;
}

/* Les liens Stripe conservent le rendu natif du bloc Vente */
.en-estimator .enbv-card a.btn[href*="stripe.com"],
.enbrs-step[data-panel="5"] .enbv-card a.btn[href*="stripe.com"],
.en-estimator .enbv-card a.btn[href*="buy.stripe.com"],
.enbrs-step[data-panel="5"] .enbv-card a.btn[href*="buy.stripe.com"]{
  display:flex !important;
  width:100%;
  max-width:100%;
  position:relative;
  z-index:2;
}

/* Empêche les styles du résultat BRS de rendre le texte/bouton transparent */
.enbrs-step[data-panel="5"] .enbv-card .btn,
.enbrs-step[data-panel="5"] .enbv-card .btn *{
  opacity:1 !important;
  visibility:visible !important;
}

/* Responsive identique au bloc Vente normal */
@media(max-width:620px){
  .enbrs-step[data-panel="5"] > .enbv-auto-mounted{
    margin-top:28px;
  }
}


/* ==========================================================
   V1.0.6 — CORRECTIF GLOBAL DES BOUTONS DU BLOC VENTE
   Le thème Houzez utilise lui aussi .btn et peut écraser les fonds.
   On namespace donc les CTA à l'intérieur de .enbv avec une priorité
   suffisante, sans modifier aucun autre composant du site.
   ========================================================== */

.enbv a.btn,
.enbv .btn{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100%;
  min-height:46px;
  padding:13px 11px !important;
  border:0 !important;
  border-radius:7px !important;
  text-align:center !important;
  text-decoration:none !important;
  font-weight:800 !important;
  font-size:14px !important;
  line-height:1.3 !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  position:relative;
  z-index:3;
  box-shadow:none !important;
}

/* CTA Annonce gratuite */
.enbv a.btn.greenbg,
.enbv .btn.greenbg{
  background:#08775f !important;
  background-color:#08775f !important;
  color:#fff !important;
  border-color:#08775f !important;
}

/* CTA Premium / Stripe */
.enbv a.btn.redbg,
.enbv .btn.redbg{
  background:#f0333c !important;
  background-color:#f0333c !important;
  color:#fff !important;
  border-color:#f0333c !important;
}

/* CTA Premium Plus / Stripe */
.enbv a.btn.purplebg,
.enbv .btn.purplebg{
  background:#6339b7 !important;
  background-color:#6339b7 !important;
  color:#fff !important;
  border-color:#6339b7 !important;
}

/* CTA prise de rendez-vous dans le bloc bleu */
.enbv a.btn.navybg,
.enbv .btn.navybg{
  background:#062b59 !important;
  background-color:#062b59 !important;
  color:#fff !important;
  border-color:#062b59 !important;
}

/* Même comportement au survol : Houzez ne doit pas rendre le bouton blanc */
.enbv a.btn.greenbg:hover,
.enbv a.btn.greenbg:focus{
  background:#08775f !important;
  background-color:#08775f !important;
  color:#fff !important;
}

.enbv a.btn.redbg:hover,
.enbv a.btn.redbg:focus{
  background:#f0333c !important;
  background-color:#f0333c !important;
  color:#fff !important;
}

.enbv a.btn.purplebg:hover,
.enbv a.btn.purplebg:focus{
  background:#6339b7 !important;
  background-color:#6339b7 !important;
  color:#fff !important;
}

.enbv a.btn.navybg:hover,
.enbv a.btn.navybg:focus{
  background:#062b59 !important;
  background-color:#062b59 !important;
  color:#fff !important;
}

/* Les liens Stripe Premium / Premium Plus sont explicitement sécurisés */
.enbv .enbv-card a[href*="buy.stripe.com"]{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  min-height:46px !important;
  margin-top:0 !important;
}

/* Mobile : le CTA reste dans la largeur de la carte */
@media(max-width:620px){
  .enbv a.btn,
  .enbv .btn{
    width:100% !important;
    max-width:100% !important;
    min-height:48px !important;
    white-space:normal !important;
  }
}


/* ==========================================================
   V1.1.1 — CORRECTIF BLOC CONTACT SUR LES PAGES RÉSULTAT
   ----------------------------------------------------------
   Dans les estimateurs classique/BRS, le bloc Vente est monté
   à l'intérieur d'un conteneur plus étroit que sur une page normale.
   La 3e colonne (.enbv-success aside) pouvait alors sortir du cadre
   ou être masquée par les styles du conteneur résultat.

   Sur les blocs auto-montés seulement :
   - photo + argumentaire sur la première ligne ;
   - fiche contact/Calendly pleine largeur juste dessous ;
   - aucun changement du rendu du shortcode sur les autres pages.
   ========================================================== */

.enbv-auto-mounted .enbv,
.enbv-auto-mounted .enbv *{
  min-width:0;
}

.enbv-auto-mounted .enbv-success{
  display:grid !important;
  grid-template-columns:190px minmax(0,1fr) !important;
  grid-template-areas:
    "photo main"
    "contact contact" !important;
  gap:0 22px !important;
  width:100% !important;
  max-width:100% !important;
  overflow:visible !important;
  padding-right:0 !important;
  align-items:stretch !important;
}

.enbv-auto-mounted .enbv-success .photo{
  grid-area:photo !important;
  min-width:0 !important;
}

.enbv-auto-mounted .enbv-success .success-main{
  grid-area:main !important;
  min-width:0 !important;
  padding-right:18px !important;
}

.enbv-auto-mounted .enbv-success aside{
  grid-area:contact !important;
  grid-column:1 / -1 !important;
  display:flex !important;
  flex-direction:column !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
  margin:0 16px 16px !important;
  padding:18px 20px !important;
  align-self:stretch !important;
  z-index:4 !important;
}

.enbv-auto-mounted .enbv-success aside h3,
.enbv-auto-mounted .enbv-success aside p,
.enbv-auto-mounted .enbv-success aside hr,
.enbv-auto-mounted .enbv-success aside a{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  max-width:100% !important;
}

.enbv-auto-mounted .enbv-success aside .btn.navybg{
  display:flex !important;
  width:100% !important;
  min-height:46px !important;
  align-items:center !important;
  justify-content:center !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  overflow:visible !important;
  white-space:normal !important;
}

.enbv-auto-mounted .enbv-success aside .phone{
  display:block !important;
  width:100% !important;
  visibility:visible !important;
  opacity:1 !important;
  overflow:visible !important;
}

/* BRS : certains styles du résultat peuvent cibler les <aside>.
   On force uniquement l'aside appartenant au Bloc Vente. */
.enbrs-step[data-panel="5"] .enbv-auto-mounted .enbv-success aside,
.en-estimator .en-result[data-step-panel="7"] .enbv-auto-mounted .enbv-success aside{
  display:flex !important;
}

/* Petits écrans : tout en une colonne, contact toujours visible en dernier. */
@media(max-width:700px){
  .enbv-auto-mounted .enbv-success{
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
  }

  .enbv-auto-mounted .enbv-success .photo{
    width:100% !important;
    height:auto !important;
    padding:18px 14px 0 !important;
  }

  .enbv-auto-mounted .enbv-success .success-main{
    width:100% !important;
    padding:18px 17px 20px !important;
  }

  .enbv-auto-mounted .enbv-success aside{
    width:auto !important;
    margin:0 14px 14px !important;
  }
}
