/* ===========================================================================
   WESTPORTS — Typographie (LOT 06)
   Manrope pour les titres, Inter pour le contenu.
   =========================================================================== */

body {
    font-family: var(--wp-font-body);
    font-size: var(--wp-text-base);
    line-height: var(--wp-leading-normal);
    color: var(--wp-text);
    background-color: var(--wp-bg);
    font-feature-settings: 'kern' 1, 'liga' 1, 'cv11' 1;
}

h1, h2, h3, h4, h5, h6,
.wp-display {
    font-family: var(--wp-font-display);
    font-weight: 700;
    line-height: var(--wp-leading-tight);
    letter-spacing: var(--wp-tracking-tight);
    color: var(--wp-text);
    text-wrap: balance;
}

h1, .wp-h1 { font-size: var(--wp-text-4xl); }
h2, .wp-h2 { font-size: var(--wp-text-3xl); }
h3, .wp-h3 { font-size: var(--wp-text-2xl); }
h4, .wp-h4 { font-size: var(--wp-text-xl); line-height: var(--wp-leading-snug); }
h5, .wp-h5 { font-size: var(--wp-text-lg); line-height: var(--wp-leading-snug); }
h6, .wp-h6 { font-size: var(--wp-text-base); line-height: var(--wp-leading-snug); }

.wp-hero-title {
    font-size: var(--wp-text-hero);
    font-weight: 800;
    line-height: 1.02;
    letter-spacing: -0.03em;
}

p {
    text-wrap: pretty;
}

/* Surtitre : petite capitale espacée, précédée d'un filet or. */
.wp-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: var(--wp-space-3);
    font-family: var(--wp-font-display);
    font-size: var(--wp-text-xs);
    font-weight: 700;
    letter-spacing: var(--wp-tracking-caps);
    text-transform: uppercase;
    color: var(--wp-accent);
}

.wp-eyebrow::before {
    content: '';
    width: 28px;
    height: 1px;
    background: currentColor;
    flex: none;
}

.wp-eyebrow--plain::before {
    display: none;
}

/* Chapô : paragraphe d'introduction, plus grand et plus clair. */
.wp-lead {
    font-size: var(--wp-text-lg);
    line-height: var(--wp-leading-relaxed);
    color: var(--wp-text-muted);
    max-width: 62ch;
}

.wp-text-muted { color: var(--wp-text-muted); }
.wp-text-accent { color: var(--wp-accent); }
.wp-text-center { text-align: center; }
.wp-text-balance { text-wrap: balance; }

.wp-measure { max-width: var(--wp-container-text); }
.wp-measure-narrow { max-width: 56ch; }

/* Corps de texte riche provenant du CMS. */
.wp-prose {
    font-size: var(--wp-text-base);
    line-height: var(--wp-leading-relaxed);
    color: var(--wp-text);
    max-width: 68ch;
}

.wp-prose > * + * {
    margin-top: var(--wp-space-4);
}

.wp-prose h2 {
    font-size: var(--wp-text-2xl);
    margin-top: var(--wp-space-7);
}

.wp-prose h3 {
    font-size: var(--wp-text-xl);
    margin-top: var(--wp-space-6);
}

.wp-prose a {
    color: var(--wp-link);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color var(--wp-duration-fast) var(--wp-ease);
}

.wp-prose a:hover {
    color: var(--wp-link-hover);
}

.wp-prose ul,
.wp-prose ol {
    padding-left: var(--wp-space-5);
}

.wp-prose li + li {
    margin-top: var(--wp-space-2);
}

.wp-prose blockquote {
    border-left: 2px solid var(--wp-accent);
    padding-left: var(--wp-space-5);
    font-size: var(--wp-text-lg);
    color: var(--wp-text-muted);
}

.wp-prose strong {
    font-weight: 650;
    color: var(--wp-text);
}

/* Chiffres tabulaires pour les compteurs et les tableaux. */
.wp-tabular {
    font-variant-numeric: tabular-nums;
}
