/* ─── Espace presse (presse.html, en/press.html) — feuille PROPRE à ces deux pages ─────────────
   Ne redéfinit rien de styles.css : tout est préfixé .px- et s'appuie sur ses jetons (--text, --dim,
   --border, --accent-2…). Règle de la page : rien ne dépasse en largeur à 390 px (URL et empreintes
   coupées n'importe où, aucune table, grilles qui passent à une colonne). */

.px-hero { padding-top: 56px; padding-bottom: 36px; }
.px-hero h1 { font-size: clamp(32px, 5.2vw, 54px); margin: 12px 0 16px; }
.px-hero .lead { max-width: 760px; }
.px-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.px-meta { margin-top: 16px; color: var(--dim); font-size: 14px; max-width: 760px; }
.px-langue { margin-top: 14px; font-size: 14px; }
.px-langue a { color: var(--accent-2); }

.px-h2 { font-size: clamp(24px, 3.4vw, 34px); margin: 8px 0 18px; }
.px-intro { color: var(--dim); max-width: 760px; margin-bottom: 22px; }
.px-intro a { color: var(--accent-2); overflow-wrap: anywhere; }

/* En bref : liste de définitions en deux colonnes, une seule sous 640 px */
.px-faits { display: grid; grid-template-columns: minmax(150px, 230px) 1fr; gap: 0;
  border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; background: rgba(20, 22, 34, 0.86); }
.px-faits dt, .px-faits dd { padding: 13px 18px; border-top: 1px solid var(--border); }
.px-faits dt:first-of-type, .px-faits dt:first-of-type + dd { border-top: none; }
.px-faits dt { color: var(--dim); font-size: 14px; font-weight: 600; }
.px-faits dd { font-size: 15px; min-width: 0; overflow-wrap: anywhere; }
.px-faits a { color: var(--accent-2); }
@media (max-width: 640px) {
  .px-faits { grid-template-columns: 1fr; }
  .px-faits dt { padding-bottom: 2px; }
  .px-faits dd { border-top: none; padding-top: 0; }
}

/* Fonctions : réutilise .grid et .card du site, avec une précision de palier sous le texte */
.px-palier { display: block; margin-top: 10px; font-size: 13px; color: var(--accent-2); }

/* Ce que ce n'est pas */
.px-pas { list-style: none; display: grid; gap: 12px; }
.px-pas li { background: rgba(20, 22, 34, 0.86); border: 1px solid var(--border); border-radius: 12px; padding: 14px 18px;
  color: var(--dim); font-size: 15px; }
.px-pas b { color: var(--text); }

/* Galerie des captures */
.px-galerie { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 22px; }
.px-galerie figure { margin: 0; min-width: 0; }
.px-galerie a.px-vignette { display: block; border-radius: 12px; overflow: hidden; border: 1px solid var(--border);
  background: #0b0d16; transition: border-color 0.25s, transform 0.35s var(--ease-out); }
.px-galerie a.px-vignette:hover { border-color: rgba(167, 139, 250, 0.55); transform: translateY(-3px); }
.px-galerie img { width: 100%; height: auto; }
.px-galerie figcaption { margin-top: 10px; font-size: 14px; color: var(--dim); }
.px-galerie figcaption b { color: var(--text); display: block; font-size: 15px; margin-bottom: 2px; }
.px-hd { display: inline-block; margin-top: 6px; color: var(--accent-2); font-size: 13.5px; font-weight: 600; }

/* Icône et visuel */
.px-fichiers { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 18px; }
.px-fichier { background: rgba(20, 22, 34, 0.86); border: 1px solid var(--border); border-radius: var(--radius); padding: 20px;
  display: flex; flex-direction: column; gap: 12px; align-items: flex-start; min-width: 0; }
.px-fichier .px-apercu { height: 96px; display: flex; align-items: center; }
.px-fichier .px-apercu img { max-height: 96px; width: auto; }
.px-fichier .px-apercu img.px-32 { width: 32px; height: 32px; image-rendering: auto; }
.px-fichier p { color: var(--dim); font-size: 14px; }
.px-fichier a { color: var(--accent-2); font-weight: 600; font-size: 14.5px; }

/* Textes à reprendre */
.px-texte { position: relative; background: rgba(20, 22, 34, 0.92); border: 1px solid var(--border); border-radius: var(--radius);
  padding: 20px 20px 18px; margin-bottom: 18px; }
.px-texte h3 { font-size: 15px; color: var(--dim); font-weight: 700; margin-bottom: 10px; padding-right: 96px; }
.px-texte .px-copie-src p + p { margin-top: 12px; }
.px-texte .px-copie-src { font-size: 15.5px; }
.px-copier { position: absolute; top: 14px; right: 14px; }
.px-copier[hidden] { display: none; }

/* Liens et empreintes : tout se coupe, rien ne déborde */
.px-liens { list-style: none; display: grid; gap: 10px; }
.px-liens li { background: rgba(20, 22, 34, 0.86); border: 1px solid var(--border); border-radius: 12px; padding: 12px 16px;
  font-size: 14.5px; min-width: 0; }
.px-liens a { color: var(--accent-2); overflow-wrap: anywhere; word-break: break-word; }
.px-code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12.5px; color: var(--dim);
  overflow-wrap: anywhere; word-break: break-all; display: block; margin-top: 4px; }

/* Contact */
.px-contact { background: linear-gradient(135deg, rgba(139, 92, 246, 0.16), rgba(96, 165, 250, 0.08));
  border: 1px solid var(--border); border-radius: 22px; padding: 30px 26px; }
.px-contact p { color: var(--dim); max-width: 720px; }
.px-contact p + p { margin-top: 10px; }
.px-contact b, .px-contact strong { color: var(--text); }
.px-contact a:not(.btn) { color: var(--accent-2); overflow-wrap: anywhere; }

.foot-links a[aria-current="page"] { color: var(--text); }

@media (max-width: 480px) {
  .px-hero { padding-top: 36px; }
  .px-actions .btn { width: 100%; }
  .px-texte h3 { padding-right: 0; margin-top: 34px; }
}
@media print {
  .px-actions, .px-copier { display: none !important; }
}
