/* ============================================================
   Allure commune du site public (lot G, registre 295).
   Lue par toutes les pages publiques, blog, pages légales et 404
   compris, AVANT la feuille propre de la page.

   - un seul arrondi : var(--rayon), 50 % pour les seuls cercles ;
   - quatre crans de titres, et aucun autre ;
   - au survol, seule la couleur change ;
   - un seul pied de page, celui de l'accueil.
   Gardé par backend/tests/test_allure_site_public.py.
   ============================================================ */

:root {
  --brand-cream: #F5EFE0;
  --brand-bordeaux: #7D2027;
  --brand-bordeaux-hover: #65191F;
  --brand-ink: #1A1615;
  --brand-gold: #B5892A;

  --rayon: 2px;

  /* Les quatre crans de titres. */
  --titre-page: 600 46px/1.15 'Playfair Display', Georgia, serif;
  --titre-section: 500 32px/1.2 'Playfair Display', Georgia, serif;
  --titre-sous-section: 500 22px/1.3 'Playfair Display', Georgia, serif;
  --titre-etiquette: small-caps 400 17px/1.35 'EB Garamond', Georgia, serif;
}
@media (max-width: 640px) {
  :root {
    --titre-page: 600 34px/1.15 'Playfair Display', Georgia, serif;
    --titre-section: 500 26px/1.2 'Playfair Display', Georgia, serif;
  }
}

h1 { font: var(--titre-page); }
h2 { font: var(--titre-section); }
h3 { font: var(--titre-sous-section); }

/* Le filet doré qui remplace les tirets d'ornement. */
.filet-or { display: inline-block; height: 1px; background: var(--brand-gold); vertical-align: middle; }

/* ── Pied de page, le même partout ─────────────────────────── */
.lt-footer { background: var(--brand-ink); color: rgba(245,239,224,0.72); }
.lt-footer-inner { max-width: 1120px; margin: 0 auto; padding: 3.5rem 2rem 2rem;
  display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 2.5rem; }
.lt-footer p { margin: 0; }
.lt-footer-name { font-family: 'Playfair Display', Georgia, serif; font-size: 24px; font-weight: 700; color: var(--brand-cream); margin-bottom: 12px; }
.lt-footer-tagline { font-family: 'EB Garamond', Georgia, serif; font-style: italic; font-size: 15px; color: rgba(245,239,224,0.55); max-width: 300px; line-height: 1.55; margin-top: 12px; }
.lt-footer-fleuron { color: var(--brand-gold); letter-spacing: 8px; font-size: 12px; margin-top: 1.25rem; }
.lt-footer h4 { font: var(--titre-etiquette); letter-spacing: .04em; color: var(--brand-gold); margin: 0 0 1rem; }
.lt-footer ul { list-style: none; padding: 0; margin: 0; }
.lt-footer li { margin-bottom: 9px; }
.lt-footer a { font-family: 'EB Garamond', Georgia, serif; font-size: 15px; color: rgba(245,239,224,0.72); text-decoration: none; transition: color 0.15s ease; }
.lt-footer a:hover { color: var(--brand-cream); }
.lt-footer-bottom { max-width: 1120px; margin: 0 auto; padding: 1.5rem 2rem 2.5rem; border-top: 1px solid rgba(245,239,224,0.12);
  display: flex; align-items: center; justify-content: space-between; gap: 1rem 2rem; flex-wrap: wrap;
  font-family: 'EB Garamond', Georgia, serif; font-style: italic; font-size: 13px; color: rgba(245,239,224,0.5); }
.lt-footer-mentions { display: flex; flex-wrap: wrap; gap: 0 1.5rem; }
@media (max-width: 880px) {
  .lt-footer-inner { grid-template-columns: 1fr 1fr; gap: 2rem 1.5rem; }
  .lt-footer-bottom { flex-direction: column; text-align: center; }
  .lt-footer-mentions { justify-content: center; }
}
@media (max-width: 480px) { .lt-footer-inner { grid-template-columns: 1fr; padding: 3rem 1rem 2rem; } .lt-footer-bottom { padding: 1.5rem 1rem 2.5rem; } }
