/**
 * CMS — layout « base » (.somef-cms)
 * Norme : pilotage/NORMES-FIXEES-CMS-CATALOGUE-SOMEF.md
 */
.somef-cms {
  max-width: 62rem;
  margin-inline: auto;
  padding-inline: var(--spacing-md, 1rem);
}

.somef-cms--legal {
  max-width: 46rem;
}

.somef-cms--solutions {
  max-width: min(72rem, 100%);
  margin-inline: auto;
}

.somef-cms--catalogue {
  max-width: 68.75rem;
}

/* Page Présentation (contenu avec .somef-cms-presentation) : pleine largeur utile pour timeline + vidéos */
.somef-cms:has(.somef-cms-presentation) {
  max-width: min(70rem, 100%);
}

.somef-cms :where(h2, h3, h4) {
  color: var(--color-accent-blue, #2b3c45);
  font-weight: 600;
  letter-spacing: -0.02em;
}

.somef-cms :where(p, li) {
  line-height: 1.65;
}

.somef-cms :where(a[href]) {
  text-underline-offset: 0.15em;
}

/* Partenaires (CMS 17) — blocs AVE / Akuvox / Akubela */
.somef-cms-partners {
  text-align: start;
}

.somef-cms-partners .somef-partner {
  margin-block-start: var(--spacing-xl, 2rem);
  text-align: start;
}

.somef-cms-partners .somef-partner:first-of-type {
  margin-block-start: 0;
}

.somef-cms-partners .somef-partner h2 {
  margin-block: 0 var(--spacing-md, 1rem);
  padding-block-end: var(--spacing-sm, 0.5rem);
  border-bottom: 1px solid var(--color-border, #e0e0e0);
  text-align: start;
}

.somef-cms-partners .somef-partner__figure {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin: 0 0 var(--spacing-md, 1rem);
  padding: 0;
  text-align: start;
}

.somef-cms-partners .somef-partner__logo {
  display: block;
  width: auto;
  max-width: min(298px, 100%);
  max-height: 165px;
  height: auto;
  margin-inline: 0;
  margin-block: 0;
  object-fit: contain;
  object-position: left center;
}

.somef-cms-partners .somef-partner__logo--wide {
  max-width: min(280px, 100%);
  max-height: 120px;
}

.somef-cms-partners .somef-partner__logo--square {
  max-width: min(200px, 100%);
  max-height: 200px;
  border-radius: var(--border-radius-md, 8px);
}

/* Priorité sur règles CMS legacy (img.img-left / width 100 %) si classes résiduelles */
.somef-page-cms .somef-imported-cms-page.somef-cms-partners .somef-partner__logo {
  float: none;
  width: auto;
  max-width: min(298px, 100%);
}

/* Page Qualité (CMS 19) → assets/css/cms/cms-qualite.css */
