/* ── Widget VP Presta Hero (hero prestation + fil d'ariane auto) ──
   Reproduit PageHero variante « dark » : image plein cadre, overlay corail,
   contenu aligné en bas à gauche, fil d'ariane à chevrons. */

.vp-hero {
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  background-color: var(--surface-dark, #2b2b2b);
  color: #fff;
  padding: 0 0 48px;
}

/* Hauteurs (mobile / ≥1024) */
.vp-hero--h-sm { min-height: 360px; }
.vp-hero--h-md { min-height: 440px; }
.vp-hero--h-lg { min-height: 520px; }
@media (min-width: 1024px) {
  .vp-hero--h-sm { min-height: 420px; }
  .vp-hero--h-md { min-height: 540px; }
  .vp-hero--h-lg { min-height: 620px; }
}

/* Overlay corail (foreground/40 + primary/20 multiply + dégradé bas) */
.vp-hero__ov { position: absolute; inset: 0; pointer-events: none; background: rgba(0,0,0,.40); }
.vp-hero__ov::before {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 192px;
  background: linear-gradient(to top, rgba(0,0,0,.5), transparent);
}
.vp-hero__ov::after {
  content: ""; position: absolute; inset: 0;
  background: var(--primary, #f1b8a0); opacity: .20; mix-blend-mode: multiply;
}
.vp-hero--nophoto .vp-hero__ov { background: transparent; }
.vp-hero--nophoto .vp-hero__ov::before { display: none; }

.vp-hero__inner {
  position: relative; z-index: 1;
  width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 24px;
}

/* Fil d'ariane */
.vp-hero__crumb {
  display: flex; align-items: center; flex-wrap: wrap; gap: 8px;
  margin-bottom: 24px;
  font-family: "Montserrat", sans-serif; font-size: 10px; font-weight: 500;
  letter-spacing: 2.5px; text-transform: uppercase; opacity: .7;
}
.vp-hero__crumb a,
.vp-hero__crumb span { color: #fff; text-decoration: none; }
.vp-hero__crumb a { transition: opacity .2s; }
.vp-hero__crumb a:hover { opacity: 1; }
.vp-hero__crumb span:last-child { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vp-hero__sep { flex: 0 0 auto; opacity: .4; }

/* Titre */
.vp-hero__title {
  font-family: "Playfair Display", serif; font-weight: 400; color: #fff; margin: 0 0 12px;
}
.vp-hero__title--large   { font-size: clamp(56px, 9vw, 110px); line-height: .95; }
.vp-hero__title--default { font-size: clamp(44px, 7vw, 84px);  line-height: 1; }
.vp-hero__title--small   { font-size: clamp(26px, 4vw, 52px);  line-height: 1.1; }

/* Sous-titre / punchline */
.vp-hero__sub {
  font-family: "Playfair Display", serif; font-style: italic;
  font-size: clamp(24px, 3.5vw, 36px); color: #fff; opacity: .85;
  max-width: 42rem; margin: 0;
}
