/* ── Widget VP Bucket List (piloté SCF) ── */

.vp-bl { width: 100%; }
.vp-bl__intro { max-width: 720px; margin: 0 auto 40px; 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; }
.vp-bl__eyebrow { font-family: "Montserrat", sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--primary,#f1b8a0); text-align: center; margin: 0 0 24px; }
.vp-bl__gallery { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-bottom: 64px; }
.vp-bl__cardlink { display: block; }
.vp-bl__card { position: relative; height: 240px; border-radius: 12px; overflow: hidden; background-size: cover; background-position: center; }
.vp-bl__cardov { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.6), rgba(0,0,0,0) 60%); }
.vp-bl__cardloc { position: absolute; left: 16px; right: 16px; bottom: 14px; font-family: "Playfair Display", serif; font-style: italic; font-size: 14px; color: #fff; z-index: 1; }
.vp-bl__title { font-family: "Playfair Display", serif; font-weight: 400; font-size: clamp(28px,3.5vw,46px); line-height: 1.15; text-align: center; color: var(--foreground,#000); margin: 0 0 56px; }
.vp-bl__title span { font-weight: 900; font-style: italic; }
.vp-bl__cats { display: grid; grid-template-columns: repeat(3,1fr); gap: 48px; }
.vp-bl__cattitle { font-family: "Montserrat", sans-serif; font-size: 11px; font-weight: 700; letter-spacing: 3px; text-transform: uppercase; color: var(--primary,#f1b8a0); margin: 0 0 16px; padding-bottom: 12px; border-bottom: 1px solid var(--border,#ececec); }
.vp-bl__items { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.vp-bl__item { display: flex; align-items: flex-start; gap: 12px; }
.vp-bl__ico { flex: 0 0 20px; width: 20px; height: 20px; border-radius: 50%; margin-top: 2px; display: flex; align-items: center; justify-content: center; }
.vp-bl__ico--done { background: var(--primary,#f1b8a0); color: #fff; }
.vp-bl__ico--todo { border: 1.5px solid var(--border,#ececec); }
.vp-bl__itemtxt { font-family: "Montserrat", sans-serif; font-size: 14px; line-height: 1.6; color: var(--muted-foreground,#6b6b6b); }
.vp-bl__item.is-done .vp-bl__itemtxt { color: var(--surface-dark,#4b4b4b); font-weight: 500; }
.vp-bl__itemtxt a { color: inherit; text-decoration: none; transition: color .2s; }
.vp-bl__itemtxt a:hover { color: var(--primary,#f1b8a0); }
@media (max-width: 1024px) {
  .vp-bl__cats { grid-template-columns: 1fr; gap: 32px; }
  .vp-bl__gallery { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 600px) {
  .vp-bl__gallery { grid-template-columns: 1fr 1fr; gap: 12px; }
  .vp-bl__progress { flex-direction: column; align-items: flex-start; gap: 8px; }
}
