/*
 * Le Cercle 127 — Typographie lisible v7.3.19
 * Chargée après tous les modules.
 * Objectif : une hiérarchie éditoriale cohérente, sans titres géants.
 */

:root{
  --f127-h1-min:2rem;
  --f127-h1-max:3.15rem;
  --f127-h2-min:1.55rem;
  --f127-h2-max:2.25rem;
  --f127-h3-min:1.22rem;
  --f127-h3-max:1.62rem;
}

/* Tous les grands titres de contenu. */
body:not(.wp-admin) main h1,
body:not(.wp-admin) .site-main h1{
  font-size:clamp(var(--f127-h1-min),3.5vw,var(--f127-h1-max)) !important;
  line-height:1.08 !important;
  letter-spacing:-.016em;
  text-wrap:balance;
  overflow-wrap:normal;
}

/* Une seule échelle H2 à travers le site. */
body:not(.wp-admin) main h2,
body:not(.wp-admin) .site-main h2{
  font-size:clamp(var(--f127-h2-min),2.55vw,var(--f127-h2-max)) !important;
  line-height:1.16 !important;
  letter-spacing:-.01em;
  text-wrap:balance;
}

/* H3 : sous-titre, pas deuxième affiche. */
body:not(.wp-admin) main h3,
body:not(.wp-admin) .site-main h3{
  font-size:clamp(var(--f127-h3-min),1.8vw,var(--f127-h3-max)) !important;
  line-height:1.22 !important;
  letter-spacing:0;
  text-wrap:pretty;
}

/* Le Grand Labyrinthe : phrase longue, donc encore plus contenue. */
.grand-labyrinth .gl-gate h1{
  max-width:850px;
  margin-inline:auto;
  font-size:clamp(2rem,3vw,2.8rem) !important;
  line-height:1.1 !important;
  text-wrap:balance;
}

.grand-labyrinth .gl-gate h2{
  font-size:clamp(1.55rem,2.25vw,2rem) !important;
}

.grand-labyrinth .gl-room h2{
  font-size:clamp(1.35rem,1.9vw,1.75rem) !important;
  line-height:1.16 !important;
}

/* Pages au titre historiquement trop grand. */
.oni-oracle-page__intro h1,
.symbol-guide__head h1,
.symbol-single__hero h1,
.dream-account__hero h1,
.dream-article__hero h1,
.hero h1{
  font-size:clamp(2rem,3.4vw,3.1rem) !important;
  line-height:1.08 !important;
}

/* Expériences des Sœurs et produits : même registre H2. */
.oni-alka-system h2,
.oni-astria-natal h2,
.ignis-brasier h2,
.oni-reading-product h2,
.oni-oracle-home__copy h2,
.circle-living__head h2{
  font-size:clamp(1.6rem,2.4vw,2.2rem) !important;
  line-height:1.16 !important;
}

/* Sous-titres des expériences. */
.oni-alka-system h3,
.oni-astria-natal h3,
.ignis-brasier h3,
.oni-reading-product h3,
.circle-living__voice h3{
  font-size:clamp(1.22rem,1.75vw,1.58rem) !important;
  line-height:1.22 !important;
}

/* Largeur de lecture plus confortable pour les grands textes. */
.page-body,
.dream-article__content,
.symbol-single__content{
  line-height:1.72;
}

/* Les titres courts peuvent respirer sur une ligne, sans forcer les longs. */
.i127-section-title--single{
  white-space:nowrap;
}

/* Mobile : aucun titre ne doit envahir l'écran. */
@media(max-width:720px){
  :root{
    --f127-h1-min:1.8rem;
    --f127-h1-max:2.4rem;
    --f127-h2-min:1.45rem;
    --f127-h2-max:1.9rem;
    --f127-h3-min:1.18rem;
    --f127-h3-max:1.48rem;
  }

  body:not(.wp-admin) main h1,
  body:not(.wp-admin) .site-main h1{
    font-size:clamp(1.8rem,8vw,2.4rem) !important;
    line-height:1.1 !important;
  }

  body:not(.wp-admin) main h2,
  body:not(.wp-admin) .site-main h2{
    font-size:clamp(1.45rem,6vw,1.9rem) !important;
    line-height:1.18 !important;
  }

  body:not(.wp-admin) main h3,
  body:not(.wp-admin) .site-main h3{
    font-size:clamp(1.18rem,4.8vw,1.48rem) !important;
  }

  .grand-labyrinth .gl-gate h1{
    font-size:clamp(1.85rem,7.6vw,2.35rem) !important;
  }

  .i127-section-title--single{
    white-space:normal;
  }
}
