/* ==========================================================================
   Bloc Hero
   ========================================================================== */
.fsh-hero {
  background: var(--c-white);
  border-bottom: 1px solid var(--c-line);
}
.fsh-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 560px) 1fr;
  align-items: center;
  gap: 40px;
  padding-top: clamp(140px, 15vw, 201px);
  padding-bottom: clamp(80px, 10vw, 160px);
}
.fsh-hero__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(48px, 9vw, 120px);
}
.fsh-hero__lead { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.fsh-hero__text { display: flex; flex-direction: column; align-items: flex-start; gap: 26px; width: 100%; }

.fsh-hero__title {
  font-family: var(--font-display);
  font-size: var(--fs-h1);
  line-height: 1.19;         /* 55/46.31 */
  letter-spacing: -0.01em;
  color: var(--c-ink);
  max-width: 100%;
}
.fsh-hero__sub {
  font-size: var(--fs-lead);
  line-height: 1.5;          /* 27/18 */
  color: var(--c-muted);
  max-width: 42ch;
}
.fsh-hero__actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

/* Stores */
.fsh-hero__stores { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.fsh-hero__stores-label { font-size: var(--fs-sm); color: var(--c-muted); }
.fsh-store-badges { display: flex; gap: 8px; flex-wrap: wrap; }
.fsh-store-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 35px;
  padding: 0 18px;
  border-radius: 900px;
  border: 1px solid var(--c-line-2);
  background: var(--c-white);
  color: var(--c-ink);
  font-size: 13px;
  font-weight: 500;
  transition: border-color .15s ease, transform .15s ease;
}
.fsh-store-badge:hover { border-color: #cfcfcf; transform: translateY(-1px); }

.fsh-hero__media {
  align-self: center;
  width: 100%;
  aspect-ratio: 678 / 647;
  max-height: 560px;
  /* Forme en L (encoche haut-gauche) avec TOUS les coins arrondis (r=24). */
  --notch: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 678 647' preserveAspectRatio='none'%3E%3Cpath d='M159.6 0 L654 0 A24 24 0 0 1 678 24 L678 623 A24 24 0 0 1 654 647 L24 647 A24 24 0 0 1 0 623 L0 347.5 A24 24 0 0 1 24 323.5 L111.6 323.5 A24 24 0 0 0 135.6 299.5 L135.6 24 A24 24 0 0 1 159.6 0 Z' fill='%23000'/%3E%3C/svg%3E");
  -webkit-mask: var(--notch) center / 100% 100% no-repeat;
          mask: var(--notch) center / 100% 100% no-repeat;
}
.fsh-hero__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fsh-hero__media--ph { background: #DCDCDC; }

/* Responsive */
@media (max-width: 860px) {
  .fsh-hero__inner {
    grid-template-columns: 1fr;
    padding-top: clamp(120px, 22vw, 150px);
    padding-bottom: 64px;
  }
  .fsh-hero__media { order: -1; }
}
@media (max-width: 520px) {
  .fsh-hero__title { max-width: none; }
  .fsh-hero__actions .fsh-btn { flex: 1 1 auto; }
}
