/* Typographie des articles V2 — écrite sur les design tokens, indépendante
 * du bundle Tailwind figé. Fournie par le template (ceci est la version du
 * template law-firm) ; un autre template livre sa propre feuille. */

.hv-article-hero {
  padding: 9rem 1.5rem 3rem;
  max-width: 52rem;
  margin: 0 auto;
}
.hv-article-hero .hv-back {
  font-size: .8rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: hsl(var(--muted-foreground));
  text-decoration: none;
}
.hv-article-hero .hv-back:hover { color: hsl(var(--accent)); }
.hv-article-hero h1 {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2rem, 5vw, 3rem);
  line-height: 1.15;
  color: hsl(var(--foreground));
  margin: 1.2rem 0 1rem;
}
.hv-article-meta {
  display: flex;
  gap: 1rem;
  font-size: .85rem;
  color: hsl(var(--muted-foreground));
}

.hv-article {
  max-width: 44rem;
  margin: 0 auto;
  padding: 0 1.5rem 5rem;
  font-size: 1.05rem;
  line-height: 1.85;
  color: hsl(var(--foreground) / .92);
}
.hv-article h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.6rem;
  color: hsl(var(--foreground));
  margin: 3rem 0 1.1rem;
  padding-left: 1rem;
  border-left: 2px solid hsl(var(--accent));
}
.hv-article h3 {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.25rem;
  color: hsl(var(--foreground));
  margin: 2.2rem 0 .8rem;
}
.hv-article p { margin: 0 0 1.4rem; }
.hv-article a {
  color: hsl(var(--accent));
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: hsl(var(--accent) / .5);
}
.hv-article a:hover { text-decoration-color: hsl(var(--accent)); }
.hv-article strong { color: hsl(var(--foreground)); font-weight: 600; }
.hv-article ul, .hv-article ol { margin: 0 0 1.4rem; padding-left: 1.4rem; }
.hv-article li { margin-bottom: .55rem; }
.hv-article blockquote:not([class]) {
  margin: 1.6rem 0;
  padding: .2rem 0 .2rem 1.2rem;
  border-left: 3px solid hsl(var(--border));
  color: hsl(var(--muted-foreground));
}
.hv-article table {
  width: 100%;
  border-collapse: collapse;
  margin: 2rem 0;
  font-size: .92rem;
}
.hv-article thead { border-bottom: 1px solid hsl(var(--accent) / .4); }
.hv-article th {
  text-align: left;
  font-weight: 600;
  color: hsl(var(--foreground));
  padding: .6rem .75rem;
}
.hv-article td {
  padding: .6rem .75rem;
  border-bottom: 1px solid hsl(var(--border) / .6);
}
.hv-article img { max-width: 100%; border-radius: var(--radius); }
.hv-article hr {
  border: 0;
  border-top: 1px solid hsl(var(--border));
  margin: 2.5rem 0;
}
.hv-article code {
  background: hsl(var(--card));
  padding: .15em .4em;
  border-radius: 4px;
  font-size: .9em;
}

/* Cartes de l'index blog (articles publiés par le banc) */
.hv-articles-index {
  max-width: 60rem;
  margin: 0 auto;
  padding: 2rem 1.5rem 4rem;
}
.hv-articles-index h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.5rem;
  color: hsl(var(--foreground));
  margin-bottom: 1.4rem;
}
.hv-article-card {
  display: block;
  background: hsl(var(--card));
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  padding: 1.4rem 1.6rem;
  margin-bottom: 1rem;
  text-decoration: none;
  transition: border-color .2s;
}
.hv-article-card:hover { border-color: hsl(var(--accent)); }
.hv-article-card .hv-card-title {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.2rem;
  color: hsl(var(--foreground));
  margin: 0 0 .4rem;
}
.hv-article-card .hv-card-meta {
  font-size: .8rem;
  color: hsl(var(--muted-foreground));
}
