/* ── VP Bucket Progress (intro + progression + barre) ── */

/* max-width par défaut 720px ; surchargé par le contrôle « Largeur max »
   du widget (sélecteur Elementor plus spécifique). */
.vp-bl__intro { max-width: 720px; margin: 0 auto; text-align: center; }
.vp-bl__introtxt { font-family: "Montserrat", sans-serif; font-size: 16px; font-weight: 500; color: var(--surface-dark,#4b4b4b); line-height: 1.65; margin: 0 0 32px; }
.vp-bl__progress { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; background: var(--muted,#fdf6f3); border-radius: 16px; padding: 28px 32px; text-align: left; }
.vp-bl__pnum { font-family: "Playfair Display", serif; font-weight: 700; font-size: 32px; color: var(--foreground,#000); }
.vp-bl__ptot { font-family: "Montserrat", sans-serif; font-size: 18px; color: var(--surface-dark,#4b4b4b); }
.vp-bl__plabel { font-family: "Montserrat", sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--surface-dark,#4b4b4b); margin-top: 4px; }
.vp-bl__pct { font-family: "Playfair Display", serif; font-weight: 900; font-style: italic; font-size: clamp(40px,5vw,64px); color: var(--primary,#f1b8a0); line-height: 1; }
.vp-bl__bar { height: 12px; border-radius: 999px; background: var(--border,#ececec); overflow: hidden; margin-top: 16px; }
.vp-bl__barfill { height: 100%; background: linear-gradient(135deg,#fbb4a5 0%,#f49585 50%,#e88273 100%); border-radius: 999px; }

/* Reste en ligne sur la majorité des mobiles (le contenu tient large) ;
   padding/gap resserrés avant de stacker uniquement sur très petits écrans. */
@media (max-width: 480px) {
  .vp-bl__progress { padding: 22px 22px; gap: 12px; }
}
@media (max-width: 360px) {
  .vp-bl__progress { flex-direction: column; align-items: flex-start; gap: 8px; }
}
