/* ==========================================================================
   Sterenn Conseil : révision des contenus (octobre 2026)
   Chargée après nouveau-format.css, uniquement par les pages révisées.
   ========================================================================== */

/* Titre de page et lien de langue, sur une ligne (ordinateur) ou l'un sous l'autre (téléphone) */
.contenu .titre-langue { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.2rem 1.5rem; margin-bottom: 0.9em; }
.contenu .titre-langue h1 { margin: 0; }
.contenu a.langue:link, .contenu a.langue:visited {
  font-size: 0.875rem; font-weight: 600; letter-spacing: 0.08em; color: var(--bronze);
  text-decoration: underline; text-decoration-color: var(--taupe); text-underline-offset: 4px;
  white-space: nowrap; padding: 0.4rem 0;
}
.contenu a.langue:hover { color: var(--encre); }

/* Sections pleine largeur sans colonnes : mêmes marges que la grille */
.contenu .am-services > .max, .contenu .am-methode > .max { padding: calc(var(--respiration) / 2) 4%; max-width: 1500px; }
.contenu .am-services { background: #f6f1ec; }
.contenu .am-services h2, .contenu .am-methode h2, .contenu .am-perimetre h2 { display: block; margin-bottom: 1.6em; }

/* Services : grille de quatre blocs, filet bronze au-dessus de chaque titre */
.contenu .grille-services { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 0 3rem; }
/* Chaque bloc occupe deux rangées partagées (titre, texte) : les textes commencent tous à la même hauteur,
   que le titre tienne sur une ligne ou sur deux */
.contenu .service { border-top: 2px solid var(--bronze); padding-top: 1.1rem; margin-bottom: 2rem; display: grid; grid-row: span 2; grid-template-rows: subgrid; row-gap: 0; }
.contenu .service h3 { margin: 0 0 0.5em; }
.contenu .service p { padding: 0; }

/* Stratégies et clients : alignés en haut ; le sur-titre de la seconde colonne reste visible sur téléphone */
.contenu .am-perimetre .max.clr { align-items: flex-start; }
.contenu .am-perimetre .col6 + .col6 > h2:first-child { display: block; }
.contenu .am-perimetre ul { margin-bottom: 0; }

/* Méthode : trois étapes numérotées */
.contenu ol.etapes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 2rem 3rem; counter-reset: none; }
.contenu ol.etapes { row-gap: 0; }
.contenu ol.etapes li { margin: 0 0 2rem; padding: 0; max-width: none; position: relative; display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: 0; justify-items: start; }
.contenu ol.etapes li:before { display: none; }
.contenu ol.etapes .numero {
  display: inline-flex; align-items: center; justify-content: center; width: 2.6rem; height: 2.6rem;
  border: 1.5px solid var(--bronze); border-radius: 50%; color: var(--bronze); font-weight: 600; font-size: 1.05rem; margin-bottom: 0.9rem;
}
.contenu ol.etapes h3 { margin: 0 0 0.4em; }
.contenu ol.etapes p { padding: 0; }

/* Fiche de l'intervenant */
.contenu .personne .courriel { float: right; position: relative; z-index: 2; }
.contenu .mention-registre {
  margin-top: 0.6em; padding: 0.2em 0 0.2em 1.1rem; border-left: 3px solid var(--bronze);
  font-size: calc(var(--texte) * 0.94); line-height: 1.55; color: #3a3530;
}
.contenu .mention-registre strong { font-weight: 600; }

@media (max-width: 960px) {
  .contenu .am-services > .max, .contenu .am-methode > .max { padding: 2.2rem 5%; }
  .contenu .grille-services, .contenu ol.etapes { column-gap: 1.6rem; }
  .contenu .service, .contenu ol.etapes li { margin-bottom: 1.6rem; }
  .contenu .am-perimetre .col6 + .col6 { padding-top: 0; }
}

/* Accroche : taille de chapô quelle que soit sa place ; signification de « Sterenn » (page anglaise) */
.contenu .accroche { font-size: var(--chapo) !important; line-height: 1.5; }
body.contenu > section:first-of-type .col6:first-child p.sens-sterenn {
  font-size: calc(var(--texte) * 0.94); line-height: 1.55; color: #6b5d52; font-style: italic; padding-bottom: 1.1em;
}
.contenu .sens-sterenn em { font-style: normal; font-weight: 600; color: var(--bronze); }
/* « Notre méthode », remontée sous l’introduction (20 octobre) : séparée par un filet */
body.contenu > hr { margin: 0 4%; width: 92%; border: 0; border-bottom: 1px solid #d9cfc5; height: 0; }

/* ==========================================================================
   Contact et mentions légales alignés sur l'Asset Management (20 octobre)
   ========================================================================== */
/* Bloc à filet bronze : même signe que les services de l'Asset Management */
.contenu .bloc-filet { border-top: 2px solid var(--bronze); padding-top: 1rem; margin-bottom: 1.8rem; }
.contenu .bloc-filet h3 { margin: 0 0 0.4em; }
.contenu .bloc-filet p { padding: 0; }
.contenu .bloc-filet:last-child { margin-bottom: 0; }

/* Contact */
.page-contact.contenu .contact-corps .max.clr { align-items: flex-start; }
.page-contact.contenu .contact-corps h1 { font-size: var(--titre-page); margin-bottom: 1em; }
.page-contact.contenu .contact-corps h2 { display: block; margin-bottom: 1.6em; padding-top: 0.9em; }
.page-contact.contenu .coordonnees { display: flex; align-items: center; flex-wrap: wrap; gap: 0.5rem 1.2rem; }
.page-contact.contenu .coordonnees a.courriel img { width: 40px; height: 40px; margin: 0; display: block; }
.page-contact.contenu .liens-carte { padding: 0.8em 0 0; font-size: calc(var(--texte) * 0.94); }
.page-contact.contenu .liens-carte a { color: var(--bronze); }
.page-contact.contenu .grille-acces { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: 0 2rem; margin-top: 2.2rem; }
.page-contact.contenu .grille-acces .bloc-filet { margin-bottom: 1.6rem; }
@media (max-width: 960px) {
  .page-contact.contenu .contact-corps .col7 { padding-top: 0.5rem; }
}

/* Mentions légales */
.legal.contenu .col12 { max-width: 780px; }
.legal.contenu h1 { font-size: var(--titre-page); max-width: none; margin-bottom: 1em; }
.legal.contenu h2 { display: block; border-top: 2px solid var(--bronze); padding-top: 1rem; margin: 2.6em 0 1em; max-width: none; }
.legal.contenu .grille-identite { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 0 3rem; }
.legal.contenu .grille-identite h2 { margin-top: 0; }
.legal.contenu section ul.triangle li:before { background: var(--bronze); height: 3px; width: 10px; top: 0.72em; border: 0; }
.page-contact.contenu section .bloc-filet h3, .page-contact.contenu section .col7 .bloc-filet h3 { margin: 0 0 0.4em; }

/* Page fusionnée « Fiscalité et droit des affaires », provisoirement en cours de mise à jour (20 octobre) */
.en-travaux .travaux .col12 { min-height: calc(100vh - 330px); padding-top: calc(var(--respiration) * 0.8); }
.en-travaux .travaux h1 { font-size: var(--titre-page); max-width: none; border-bottom: 2px solid var(--bronze); padding-bottom: 0.5em; display: inline-block; }
.en-travaux .travaux .accroche { color: #6b5d52; }
/* Menu mobile : un intitulé long (« Fiscalité et droit des affaires ») passe sur deux lignes serrées */
@media (max-width: 1200px) {
  .nouveau-format header #main-menu > li > a { line-height: 1.35 !important; padding-top: 0.95rem !important; padding-bottom: 0.95rem !important; }
}

/* Menu (ordinateur), 20 octobre : trois intitulés de longueurs très inégales.
   Espacement régulier entre les intitulés (et non plus marges internes variables), lettres un peu moins espacées. */
@media (min-width: 1201px) {
  /* Menu ordinateur : intitulés séparés par un point bronze */
  .nouveau-format #navigation ul#main-menu { display: flex; align-items: center; gap: 0; }
  .nouveau-format #navigation ul#main-menu > li { float: none; display: block; position: relative; }
  .nouveau-format #navigation ul#main-menu > li > a { padding: 0.9rem clamp(1.2rem, 0.4rem + 1.3vw, 2.2rem) !important; letter-spacing: 0.14em; font-weight: 500; }
  .nouveau-format #navigation ul#main-menu > li:last-child > a { padding-right: 0 !important; }
  .nouveau-format #navigation ul#main-menu > li + li:before { content: ""; position: absolute; left: 0; top: 50%; width: 5px; height: 5px; margin: -2.5px 0 0 -2.5px; border-radius: 50%; background: #996336; }
  .nouveau-format header #main-menu > li > a:after { left: clamp(1.2rem, 0.4rem + 1.3vw, 2.2rem) !important; right: clamp(1.2rem, 0.4rem + 1.3vw, 2.2rem) !important; }
  .nouveau-format header #main-menu > li:last-child > a:after { right: 0 !important; }
}
