.woven-page{
  background: var(--background);
  padding-top: 6rem;
}

/* HERO */
.project-hero{
  position: relative;
  height: min(72vh, 760px);
  overflow: hidden;
}

.project-hero-image{ position: absolute; inset: 0; }
.project-hero-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: saturate(1.05) contrast(1.05);
}

.woven-overlay{
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 65% 65%, rgba(0, 200, 255, .18), rgba(0,0,0,0) 55%),
    linear-gradient(to top, rgba(0,0,0,.80), rgba(0,0,0,.22));
  display: grid;
  align-items: end;
  padding: 6rem 6rem 4rem;
}

.project-hero-content{
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}

.project-category{
  color: rgba(255,255,255,.75);
  font-size: .95rem;
}

.project-title{
  color: var(--near-white);
  font-size: clamp(2.6rem, 5vw, 4.6rem);
  letter-spacing: -0.04em;
  margin: .75rem 0 1rem;
}

.project-meta{
  display: flex;
  gap: .6rem;
  flex-wrap: wrap;
  align-items: center;
}

.project-chip{
  color: rgba(255,255,255,.85);
  padding: .35rem .75rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
}

/* Back link (si pas global) */
.back-link{
  position: absolute;
  top: 2rem;
  left: 2rem;
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  color: var(--near-white);
  text-decoration: none;
  opacity: .85;
  transition: .25s ease;
  z-index: 2;
}
.back-link:hover{ opacity: 1; }
.back-icon{ font-size: 1.1rem; line-height: 1; }

/* Container */
.project-container{
  padding: 5rem 6rem 6rem;
  max-width: 1200px;
  margin: 0 auto;
}

/* Glass */
.glass-card{
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 1.75rem;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 20px 80px rgba(0,0,0,0.35);
}

/* Blocks (style Hubble) */
.project-block{
  padding: 2rem;
  margin-bottom: 1.5rem;
}

.block-head h2{
  margin: 0;
  color: var(--near-white);
}

.block-head p{
  margin: .5rem 0 0;
  color: rgba(255,255,255,.70);
  line-height: 1.7;
  max-width: 85ch;
}

.block-two{
  margin-top: 1.5rem;
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 1.5rem;
  align-items: start;
}

.block-text p{
  margin: 0 0 1rem;
  color: rgba(255,255,255,.74);
  line-height: 1.75;
}

.block-list{
  margin: 0;
  padding-left: 1.2rem;
  color: rgba(255,255,255,.72);
  line-height: 1.75;
}

/* Grille */
.media-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .75rem;
}
.media-single{
  margin-top: 1.5rem;
}

.media-mini{
  display: grid;
  place-items: start;
}

.media-item{
  border: none;
  padding: 0;
  border-radius: 1rem;
  overflow: hidden;
  cursor: pointer;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.08);
}

/* ✅ Par défaut : image visible en entier */
.media-item img{
  width: 100%;
  height: 260px;
  object-fit: contain;         /* IMPORTANT pour voir en entier */
  display: block;
  padding: 1rem;
}

.media-item.is-wide img{
  height: 420px;
}

.media-item:hover img{
  transform: scale(1.03);
}

/* NEXT */
.next-project{
  margin-top: .5rem;
  padding: 2rem;
}
.next-project-link{
  display: block;
  text-decoration: none;
  color: var(--near-white);
}
.next-project-link span{ opacity: .7; }
.next-project-link h3{ margin: .35rem 0 0; }

/* LIGHTBOX */
.lightbox{
  position: fixed;
  inset: 0;
  display: none;
  place-items: center;
  background: rgba(0,0,0,.75);
  z-index: 9999;
  padding: 2rem;
}
.lightbox.is-open{ display: grid; }

.lightbox-inner{
  max-width: min(1100px, 95vw);
  max-height: 85vh;
}
.lightbox-inner img{
  max-width: 100%;
  max-height: 85vh;
  border-radius: 1rem;
}

.lightbox-close,
.lightbox-arrow{
  position: fixed;
  border: none;
  background: rgba(255,255,255,.08);
  color: white;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  cursor: pointer;
  font-size: 28px;
  display: grid;
  place-items: center;
}
.lightbox-close{ top: 20px; right: 20px; }
.lightbox-arrow.left{ left: 20px; top: 50%; transform: translateY(-50%); }
.lightbox-arrow.right{ right: 20px; top: 50%; transform: translateY(-50%); }

/* Responsive */
@media (max-width: 1000px){
  .woven-overlay{ padding: 5rem 2rem 3rem; }
  .project-container{ padding: 3.5rem 2rem 4rem; }
  .block-two{ grid-template-columns: 1fr; }
  .media-item img{ height: 240px; }
  .media-item.is-wide img{ height: 320px; }
}

  /* Responsive */
@media (max-width: 1000px){
  .media-grid{ grid-template-columns: 1fr; }
  .media-item img{ height: 280px; }
  .media-item[data-type="poster"] img{ height: 420px; }
}

/* ===== WOVEN : overrides (force) ===== */

/* Règle de base : ne coupe plus les images */
.media-item[data-type="woven5.png"] img{
  height: 520px;
  padding: 1.25rem;
}
.media-item[data-type="woven6.png"] img{
  height: 520px;
  padding: 1.25rem;
}

/* Logo SVG : plus grand */
.media-item[data-type="logowoven.svg"] img{
  height: 420px;
  padding: 2rem;
}

/* Logo PNG : un peu plus petit */
.media-item[data-type="woven2.png"] img{
  height: 240px;
  padding: 1.25rem;
}

/* Wovy : plus petit */
.media-item[data-type="woven3.png"] img{
  height: 180px;
  padding: 1rem;
}
