/* ============================================================
   PS Pattern — Atelier le lieu (16113:4488)
   v2 (S6.3 retours Morgan) : banner avec gradient vers noir,
   eyebrow blanc, body 1+2 paragraphes, bandeau glassy dark +
   bouton rouge, grid 4 photos (col gauche grande verticale +
   col droite 1 paysage haut + 2 carrées bas).
   ============================================================ */

.ps-atelier-lieu-coeur {
  background-color: var(--ps-color-black);
  color: var(--ps-color-white);
}

/* Banner top : photo Figma croppée en haut (object-position: top → masque le titre
   Figma intégré en bas), + titre HTML overlay propre par-dessus. Gradient bas réduit. */
.ps-atelier-lieu-coeur__banner {
  position: relative;
  width: 100%;
  aspect-ratio: 1440 / 420;
  overflow: hidden;
}
.ps-atelier-lieu-coeur__banner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
  display: block;
}
.ps-atelier-lieu-coeur__banner::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
    rgba(0, 0, 0, 0) 30%,
    rgba(0, 0, 0, 0.55) 75%,
    var(--ps-color-black) 100%
  );
  pointer-events: none;
}

/* Titre overlay sur le banner */
.ps-atelier-lieu-coeur__header {
  position: absolute;
  bottom: var(--ps-spacing-48);
  left: 0;
  right: 0;
  z-index: 1;
  padding-inline: clamp(2rem, 3.6vw, 5rem);
  max-width: 1760px;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: var(--ps-spacing-12);
}
.ps-atelier-lieu-coeur__eyebrow {
  margin: 0;
  font-weight: var(--ps-font-weight-bold);
  font-size: var(--ps-font-size-14);
  letter-spacing: var(--ps-letter-spacing-eyebrow);
  color: var(--ps-color-on-dark-62);
}
.ps-atelier-lieu-coeur__title {
  margin: 0;
  font-weight: var(--ps-font-weight-light);
  font-size: clamp(2.25rem, 4.5vw, 60px);
  line-height: 1.12;
  letter-spacing: -0.04em;
  color: var(--ps-color-white);
}

.ps-atelier-lieu-coeur__inner {
  max-width: 1760px;
  margin-inline: auto;
  padding-block: var(--ps-spacing-64) var(--ps-spacing-120);
  padding-inline: clamp(2rem, 3.6vw, 5rem);
  display: flex;
  flex-direction: column;
  gap: var(--ps-spacing-64);
}

/* (sr-title supprimé, titre overlay visible) */

/* Body 2 col : 1 paragraphe à gauche, 2 paragraphes empilés à droite */
.ps-atelier-lieu-coeur__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 80px;
}
.ps-atelier-lieu-coeur__col {
  display: flex;
  flex-direction: column;
  gap: var(--ps-spacing-25);
}
.ps-atelier-lieu-coeur__col p {
  margin: 0;
  font-size: var(--ps-font-size-15);
  line-height: 1.7;
  color: var(--ps-color-on-dark-78);
}
.ps-atelier-lieu-coeur__col p a {
  color: var(--ps-color-action-primary);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

/* Bandeau infos glassy dark + bouton rouge */
.ps-atelier-lieu-coeur__info-bar {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  gap: 24px;
  align-items: center;
  padding: var(--ps-spacing-25) var(--ps-spacing-32);
  border-radius: 16px;
  background-color: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.ps-atelier-lieu-coeur__info {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-left: var(--ps-spacing-16);
  border-left: 1px solid rgba(255, 255, 255, 0.12);
}
.ps-atelier-lieu-coeur__info:first-child {
  padding-left: 0;
  border-left: 0;
}
.ps-atelier-lieu-coeur__info-label {
  font-weight: var(--ps-font-weight-bold);
  font-size: var(--ps-font-size-11);
  letter-spacing: var(--ps-letter-spacing-eyebrow-sm);
  color: var(--ps-color-action-primary);
}
.ps-atelier-lieu-coeur__info-value {
  font-size: var(--ps-font-size-15);
  line-height: 1.4;
  color: var(--ps-color-white);
}
.ps-atelier-lieu-coeur__info-value a {
  color: inherit;
  text-decoration: none;
}

/* Grid 4 photos : col gauche grande verticale + col droite stack (1 paysage / 2 carrées) */
.ps-atelier-lieu-coeur__grid {
  display: grid;
  grid-template-columns: minmax(0, 584fr) minmax(0, 740fr);
  gap: 16px;
}
.ps-atelier-lieu-coeur__media {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  isolation: isolate;
}
.ps-atelier-lieu-coeur__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ps-atelier-lieu-coeur__media--main {
  aspect-ratio: 584 / 600;
}
.ps-atelier-lieu-coeur__media-stack {
  display: grid;
  grid-template-rows: minmax(0, 336fr) minmax(0, 252fr);
  gap: 16px;
}
.ps-atelier-lieu-coeur__media-stack-top {
  aspect-ratio: 740 / 336;
}
.ps-atelier-lieu-coeur__media-stack-bottom {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.ps-atelier-lieu-coeur__media-stack-bottom .ps-atelier-lieu-coeur__media {
  aspect-ratio: 364 / 252;
}

@media (max-width: 900px) {
  .ps-atelier-lieu-coeur__inner { padding-block: var(--ps-spacing-48) var(--ps-spacing-64); }
  .ps-atelier-lieu-coeur__body { grid-template-columns: 1fr; gap: var(--ps-spacing-25); }
  .ps-atelier-lieu-coeur__info-bar {
    grid-template-columns: 1fr;
    gap: var(--ps-spacing-16);
  }
  .ps-atelier-lieu-coeur__info {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    padding-top: var(--ps-spacing-12);
  }
  .ps-atelier-lieu-coeur__info:first-child { border-top: 0; padding-top: 0; }
  .ps-atelier-lieu-coeur__grid { grid-template-columns: 1fr; }
}
