/* Page Presse (CMS id 9) — porté depuis la maquette presse.html.
   Règles header/nav/banner/footer volontairement omises (gérées par le thème).
   Variables scopées à .pm-presse pour ne rien polluer ailleurs. */

.pm-presse {
  --dk:     #0B0E15;
  --bg2:    #F3F1EC;
  --gold:   #B08A26;
  --border: #E2DFDA;
  --muted:  #787878;
  --text:   #0C0C0C;
  --g:      clamp(16px, 3.5vw, 56px);
  --mw:     1540px;
  --fd:     'Bebas Neue', sans-serif;
  --fb:     'Gilroy', sans-serif;
  --fi:     'Cormorant Garamond', serif;
}

/* ── REVEAL (scopé) ── */
.pm-presse .rv { opacity: 0; transform: translateY(20px); transition: opacity .7s ease, transform .7s ease; }
.pm-presse .rv.on { opacity: 1; transform: none; }
.pm-presse .d1 { transition-delay: .06s; } .pm-presse .d2 { transition-delay: .12s; }
.pm-presse .d3 { transition-delay: .18s; } .pm-presse .d4 { transition-delay: .24s; }

/* ═══ HERO PRESSE ═══ */
.press-hero {
  background: var(--dk);
  padding: clamp(52px,8vw,108px) var(--g) clamp(40px,5vw,72px);
}
.press-hero__inner { max-width: var(--mw); margin: 0 auto; }
.press-hero__bc {
  font: 300 8.5px/1 var(--fb); letter-spacing: .24em; text-transform: uppercase;
  color: rgba(255,255,255,.24); margin-bottom: clamp(24px,3vw,40px);
  display: flex; align-items: center; gap: 8px;
}
.press-hero__bc a { color: rgba(255,255,255,.45); transition: color .2s; }
.press-hero__bc a:hover { color: rgba(255,255,255,.8); }
.press-hero__bc span { color: rgba(255,255,255,.1); }
.press-hero__label {
  font: 300 8px/1 var(--fb); letter-spacing: .36em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 14px; display: block;
}
.press-hero__h1 {
  font-family: var(--fd);
  font-size: clamp(68px,13vw,196px);
  line-height: .86; letter-spacing: .01em; text-transform: uppercase;
  color: #fff;
}
.press-hero__rule { border: none; border-top: 1px solid rgba(255,255,255,.1); margin: clamp(24px,3vw,40px) 0; }
.press-hero__meta {
  font: 300 9px/1 var(--fb); letter-spacing: .22em; text-transform: uppercase;
  color: rgba(255,255,255,.28); line-height: 1.8;
}

/* ═══ GALERIE PRESSE ═══ */
.press-gallery {
  max-width: var(--mw); margin: 0 auto;
  padding: clamp(48px,6vw,88px) var(--g);
}
.press-gallery__intro {
  display: flex; align-items: baseline; justify-content: space-between;
  border-bottom: 1px solid var(--border); padding-bottom: 14px;
  margin-bottom: clamp(32px,4vw,52px);
}
.press-gallery__intro h2 {
  font-family: var(--fd);
  font-size: clamp(28px,3.5vw,48px);
  letter-spacing: .06em; text-transform: uppercase; color: var(--text); line-height: 1;
}
.press-gallery__count {
  font: 300 9px/1 var(--fb); letter-spacing: .2em; text-transform: uppercase; color: var(--muted);
}
.press-gallery__summary {
  max-width: 860px;
  margin-bottom: clamp(28px,3.5vw,48px);
}
.press-gallery__summary p {
  font-family: var(--fi); font-style: italic; font-weight: 300;
  font-size: clamp(13px,1.05vw,15px); line-height: 1.9; color: #5a5a5a;
}
.press-gallery__summary em { font-style: italic; }
.press-gallery__summary strong { font-weight: 400; font-style: normal; color: var(--text); }

.press-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(12px,1.8vw,24px);
}
.press-item {
  display: flex; flex-direction: column;
  border-top: 1px solid var(--border); padding-top: 12px;
  cursor: pointer;
}
.press-item a { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: inherit; }
.press-item__img {
  width: 100%; aspect-ratio: 4/3; overflow: hidden;
  background: var(--bg2); margin-bottom: 10px;
}
.press-item__img img {
  width: 100%; height: 100%; object-fit: cover; object-position: top; display: block;
  transition: transform .52s cubic-bezier(.25,.1,.25,1), filter .3s;
  filter: grayscale(.08);
}
.press-item:hover .press-item__img img { transform: scale(1.04); filter: grayscale(0); }
.press-item__source {
  font-family: var(--fd);
  font-size: clamp(13px,1.4vw,17px);
  letter-spacing: .06em; text-transform: uppercase; color: var(--text);
  line-height: 1; margin-bottom: 4px;
}
.press-item__tag {
  font: 300 8px/1 var(--fb); letter-spacing: .2em; text-transform: uppercase;
  color: var(--muted); margin-bottom: 8px;
}
.press-item__quote {
  font-family: var(--fi); font-style: italic; font-weight: 300;
  font-size: clamp(11px,.95vw,13px); line-height: 1.65; color: #555;
  overflow: hidden; display: -webkit-box;
  -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical;
}
.press-item__pub { display: flex; align-items: center; gap: 7px; margin-bottom: 4px; }
.press-item__logo {
  height: 22px; width: auto; max-width: 80px;
  object-fit: contain; flex-shrink: 0;
  filter: grayscale(1); opacity: .6;
  transition: filter .32s, opacity .32s;
}
.press-item:hover .press-item__logo { filter: grayscale(0); opacity: 1; }
.press-item__pub .press-item__source { margin-bottom: 0; }

/* ═══ CTA ═══ */
.press-cta {
  background: var(--dk);
  padding: clamp(56px,7vw,96px) var(--g);
  text-align: center;
}
.press-cta__inner { max-width: 680px; margin: 0 auto; }
.press-cta__label {
  font: 300 8px/1 var(--fb); letter-spacing: .28em; text-transform: uppercase;
  color: rgba(255,255,255,.26); margin-bottom: 16px; display: block;
}
.press-cta__h {
  font-family: var(--fd); font-size: clamp(36px,5vw,72px);
  letter-spacing: .02em; text-transform: uppercase; color: #fff;
  line-height: .88; margin-bottom: clamp(20px,2.5vw,32px);
}
.press-cta__p {
  font-family: var(--fi); font-style: italic;
  font-size: clamp(13px,1.2vw,16px); color: rgba(255,255,255,.35);
  line-height: 1.7; margin-bottom: clamp(24px,3vw,40px);
}
.press-cta__links { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.press-cta__btn {
  display: inline-flex; align-items: center; gap: 9px;
  font: 300 9px/1 var(--fb); letter-spacing: .2em; text-transform: uppercase;
  border: 1px solid rgba(255,255,255,.4); color: #fff;
  padding: 14px 28px; transition: all .22s; text-decoration: none;
}
.press-cta__btn:hover { background: #fff; color: var(--dk); }
.press-cta__btn--filled { background: #fff; color: var(--dk); border-color: #fff; }
.press-cta__btn--filled:hover { background: transparent; color: #fff; }
.press-cta__btn svg { width: 11px; height: 11px; fill: none; stroke: currentColor; stroke-width: 2; }

/* ═══ RESPONSIVE ═══ */
@media (max-width: 1100px) { .press-grid { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 768px)  { .press-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 480px)  { .press-grid { grid-template-columns: 1fr 1fr; } }
