/* ==========================================================================
   public.css — La Boîte de Photos
   Fiche publique d'une photo : ce que voit la famille apres avoir scanne le
   QR code colle au dos d'un tirage. Lecture confortable en priorite.
   ========================================================================== */

.fiche {
  max-width: 46rem;
  padding-bottom: var(--pad-l);
}

.fiche-image {
  margin: 0 0 var(--pad-m);
}

.fiche-image img {
  display: block;
  width: 100%;
  max-height: 75vh;
  /* La photo entiere reste visible : on ne recadre jamais un souvenir. */
  object-fit: contain;
  background: var(--c-surface-douce);
  border: 1px solid var(--c-bordure);
  border-radius: var(--rayon);
}

.fiche-personnes {
  margin: 8px 0 0;
  color: var(--c-texte-doux);
  font-size: 0.95rem;
}

.fiche-entete h1 {
  font-size: 1.9rem;
  margin-bottom: 8px;
}

.fiche-legende {
  font-size: 1.1rem;
  color: var(--c-texte-doux);
}

.fiche-album {
  font-size: 0.95rem;
  color: var(--c-texte-doux);
}

.fiche-histoire {
  margin-block: var(--pad-m);
  font-size: 1.125rem;
  line-height: 1.75;
}

.fiche-histoire p {
  margin-bottom: 1.1em;
}

/* Lettrine discrete sur le premier paragraphe : registre album de famille. */
.fiche-histoire p:first-child::first-letter {
  float: left;
  font-family: var(--f-titre);
  font-size: 3.2rem;
  line-height: 0.85;
  padding: 4px 8px 0 0;
  color: var(--c-primaire);
}

.fiche-mention {
  font-size: 0.9rem;
  color: var(--c-texte-doux);
  border-left: 3px solid var(--c-bordure);
  padding-left: 12px;
}

.fiche-pied {
  margin-top: var(--pad-l);
  padding-top: var(--pad-s);
  border-top: 1px solid var(--c-bordure);
  font-size: 0.95rem;
  color: var(--c-texte-doux);
}

@media (min-width: 640px) {
  .fiche-personnes {
  margin: 8px 0 0;
  color: var(--c-texte-doux);
  font-size: 0.95rem;
}

.fiche-entete h1 { font-size: 2.4rem; }
}

/* Impression : la fiche doit tenir proprement sur une feuille. */
@media print {
  .entete,
  .pied,
  .skip-link,
  .actions { display: none; }

  .fiche-image img { max-height: none; border: none; }

  .fiche-histoire { font-size: 12pt; }
}

/* --- Vitrine publique d'une collection ------------------------------------ */
.vitrine-entete { margin-bottom: var(--pad-s); }

.vitrine-presentation {
  max-width: var(--largeur-texte);
  font-size: 1.05rem;
}

.vitrine-pied {
  margin-top: var(--pad-m);
  padding-top: var(--pad-s);
  border-top: 1px solid var(--c-bordure);
  color: var(--c-texte-doux);
}

/* L'adresse se compose sous les yeux : le prefixe est fixe, le reste se tape. */
.adresse-publique {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
}

.adresse-prefixe {
  color: var(--c-texte-doux);
  font-size: 0.95rem;
  word-break: break-all;
}

.adresse-publique input { flex: 1 1 12rem; min-width: 0; }
