/* DigimarketingPro SEO Manager : articles natifs, sans bandeaux dupliqués.
   Tout est limité aux articles gérés par ce plugin ; aucun style du panier/admin.
*/
body.dmpseo-managed-article {
  --dmpseo-ink: #173154;
  --dmpseo-muted: #506781;
  --dmpseo-line: #dbe7f5;
  --dmpseo-blue: #0b5bd3;
}
/* Mise en page de lecture : plus large, centrée, avec une marge réelle.
   Aucun transform : la sidebar mobile de DMP UI reste fixée au viewport. */
/* Autoriser le contenu à occuper la largeur prévue même si le thème
   restreint le bloc central de l'article. */
body.dmpseo-managed-article .dmpgfr-entry,
body.dmpseo-managed-article .dmpgfr-entry > .entry-content,
body.dmpseo-managed-article .wp-block-post-content {
  overflow: visible !important;
}
body.dmpseo-managed-article .dmpseo-reader-shell {
  --dmpseo-gutter: clamp(14px, 3vw, 32px);
  display: block;
  position: relative;
  left: calc(50% - min(680px, calc(50vw - var(--dmpseo-gutter))));
  width: min(1360px, calc(100vw - var(--dmpseo-gutter) - var(--dmpseo-gutter)));
  max-width: none;
  min-width: 0;
  box-sizing: border-box;
  margin: clamp(36px, 4.2vw, 60px) 0 56px;
  padding: 0;
  clear: both;
  overflow: visible;
}
body.dmpseo-managed-article .dmpseo-reader-shell:not(.dmpseo-reader-logged) {
  left: calc(50% - min(610px, calc(50vw - var(--dmpseo-gutter))));
  width: min(1220px, calc(100vw - var(--dmpseo-gutter) - var(--dmpseo-gutter)));
}
body.dmpseo-managed-article .dmpseo-reader-shell .dmp-ui-container {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}
body.dmpseo-managed-article .dmpseo-reader-shell .dmp-ui-grid {
  grid-template-columns: minmax(0, 260px) minmax(0, 1fr);
  align-items: start;
  gap: clamp(18px, 2vw, 28px);
  padding: 0;
  min-height: 0;
}
body.dmpseo-managed-article .dmpseo-article-main {
  display: block;
  min-width: 0;
  max-width: 100%;
  padding: 0;
  margin: 0;
}
/* Le thème affiche parfois un titre hors de la zone éditoriale.
   Sur ces sept articles, le H1 visible est celui du plugin (sans doublon visuel). */
body.dmpseo-managed-article .dmpgfr-entry > .entry-header,
body.dmpseo-managed-article .dmpgfr-entry > header.entry-header,
body.dmpseo-managed-article main h1.wp-block-post-title,
body.dmpseo-managed-article .dmpgfr-entry > h1.entry-title {
  display: none !important;
}
body.dmpseo-managed-article .dmpseo-article-heading {
  width: 100%;
  max-width: 100%;
  margin: 0 0 clamp(26px, 3vw, 38px);
  padding: 0 0 20px;
  border-bottom: 1px solid #dbe7f5;
  background: none;
  box-shadow: none;
}
body.dmpseo-managed-article .dmpseo-article-title {
  display: block;
  margin: 0;
  padding: 0;
  color: #092d5f;
  font: 800 clamp(29px, 3.6vw, 46px)/1.18 Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: -.035em;
  text-transform: none;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
body.dmpseo-managed-article .dmpseo-article-title::before,
body.dmpseo-managed-article .dmpseo-article-title::after { content: none; }
body.dmpseo-managed-article .dmpseo-reader-shell .dmpseo-story {
  max-width: 100%;
}
body.admin-bar.dmpseo-managed-article .dmpseo-story-body > h2 { scroll-margin-top: 142px; }

body.dmpseo-managed-article .dmpseo-story,
body.dmpseo-managed-article .dmpseo-story * {
  box-sizing: border-box;
}
body.dmpseo-managed-article .dmpseo-story {
  display: block;
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0 auto 42px;
  padding: 0;
  color: var(--dmpseo-ink);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-wrap: anywhere;
}
body.dmpseo-managed-article .dmpseo-story-body { width: 100%; min-width: 0; max-width: 100%; }
body.dmpseo-managed-article .dmpseo-story-body p,
body.dmpseo-managed-article .dmpseo-story-body li {
  margin-block: 0 1.25em;
  color: #334b69;
  font-size: clamp(15px, 1.45vw, 17px);
  line-height: 1.82;
  font-weight: 400;
}
body.dmpseo-managed-article .dmpseo-story-body > h2 {
  clear: both;
  color: #092d5f;
  font-size: clamp(23px, 2.2vw, 30px);
  line-height: 1.34;
  font-weight: 750;
  letter-spacing: -.02em;
  margin: 2em 0 .8em;
  padding: 0;
  border: 0;
  background: none;
  scroll-margin-top: 118px;
}
body.dmpseo-managed-article .dmpseo-story-body > h3 {
  clear: both;
  margin: 1.6em 0 .65em;
  color: #143a6c;
  font-size: clamp(19px, 2vw, 23px);
  font-weight: 700;
}
/* La liste reste une vraie liste HTML accessible, sans points décoratifs. */
body.dmpseo-managed-article .dmpseo-story-body > ul,
body.dmpseo-managed-article .dmpseo-story-body > ol {
  list-style: none;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin: 1.1em 0 1.6em;
  border: none;
  border-radius: 0;
  background: none;
}
body.dmpseo-managed-article .dmpseo-story-body > ul > li,
body.dmpseo-managed-article .dmpseo-story-body > ol > li {
  display: block;
  list-style: none;
  padding: 0;
  margin: 0 0 .7em;
}
body.dmpseo-managed-article .dmpseo-story-body > ul > li::marker,
body.dmpseo-managed-article .dmpseo-story-body > ol > li::marker { content: ''; }
body.dmpseo-managed-article .dmpseo-story-body a {
  color: var(--dmpseo-blue);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  font-weight: 600;
}
body.dmpseo-managed-article .dmpseo-story-body a:hover { color: #08479b; }
body.dmpseo-managed-article .dmpseo-story :is(a, summary):focus-visible {
  outline: 2px solid #0b5bd3;
  outline-offset: 4px;
}
/* Sommaire simple, non fixe et non publicitaire. */
body.dmpseo-managed-article .dmpseo-toc {
  width: 100%;
  max-width: 100%;
  margin: 26px 0 36px;
  padding: 20px 24px;
  background: #f4f8fe;
  border: 1px solid #dce7f4;
  border-radius: 12px;
  clear: both;
}
body.dmpseo-managed-article .dmpseo-toc .dmpseo-toc-title {
  margin: 0 0 12px;
  font-size: 17px;
  font-weight: 750;
  line-height: 1.4;
  color: #123b70;
}
body.dmpseo-managed-article .dmpseo-toc .dmpseo-toc-list {
  list-style: none;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  margin: 0;
  padding: 0;
  background: none;
  border: 0;
}
body.dmpseo-managed-article .dmpseo-toc .dmpseo-toc-list > li {
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
  min-width: 0;
  font-size: 14px;
  line-height: 1.5;
}
body.dmpseo-managed-article .dmpseo-toc .dmpseo-toc-list > li::marker { content: ''; }
body.dmpseo-managed-article .dmpseo-toc .dmpseo-toc-list a {
  display: inline;
  color: #17508d;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  font-weight: 550;
}
body.dmpseo-managed-article .dmpseo-toc .dmpseo-toc-list a:hover {
  color: #074cab;
  border-color: currentColor;
}
/* Images et éléments larges toujours contenus dans la colonne de lecture. */
body.dmpseo-managed-article .dmpseo-story :is(img, video, iframe, svg) {
  max-width: 100% !important;
  height: auto;
}
body.dmpseo-managed-article .dmpseo-story :is(figure, .wp-block-image, .wp-block-gallery) {
  float: none;
  clear: both;
  width: auto;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
body.dmpseo-managed-article .dmpseo-article-figure {
  display: block;
  max-width: 100%;
  margin: 24px auto 28px;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
body.dmpseo-managed-article .dmpseo-article-photo {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 10px;
}
body.dmpseo-managed-article .dmpseo-article-figure figcaption {
  margin-top: 8px;
  padding: 0;
  color: #60718a;
  font-size: 12px;
  line-height: 1.55;
  text-align: left;
}
body.dmpseo-managed-article .dmpseo-story :is(pre, table) {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}
body.dmpseo-managed-article .dmpseo-story :is(blockquote, .wp-block-quote) {
  max-width: 100%;
  margin: 1.4em 0;
  padding: 10px 16px;
  border-left: 3px solid #9dbce8;
}
/* Lien vers le service en fin de texte, pas de seconde grande carte ni de flèche. */
body.dmpseo-managed-article .dmpseo-article-related {
  clear: both;
  width: 100%;
  margin: 38px 0 0;
  padding: 18px 0 0;
  border-top: 1px solid var(--dmpseo-line);
  background: none;
}
body.dmpseo-managed-article .dmpseo-article-related p {
  margin: 0 0 12px;
  color: var(--dmpseo-muted);
  font-size: 14px;
  line-height: 1.6;
}
body.dmpseo-managed-article .dmpseo-article-related .dmpseo-article-link {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  max-width: 100%;
  min-height: 42px;
  padding: 9px 16px;
  border-radius: 9px;
  background: #0b5bd3;
  color: #fff;
  font-size: 14px;
  font-weight: 650;
  text-decoration: none;
  text-align: center;
  box-shadow: none;
}
body.dmpseo-managed-article .dmpseo-article-related .dmpseo-article-link:hover {
  background: #084795;
  color: #fff;
}
/* DMP UI passe en drawer à 1080px. Ne pas conserver deux colonnes ici. */
@media (max-width: 1080px) {
  body.dmpseo-managed-article .dmpseo-reader-shell .dmp-ui-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
}
@media (max-width: 640px) {
  body.dmpseo-managed-article .dmpseo-reader-shell { --dmpseo-gutter: 14px; margin-top: 30px; }
  body.dmpseo-managed-article .dmpseo-story { padding: 0; margin-bottom: 30px; }
  body.dmpseo-managed-article .dmpseo-article-heading { margin-bottom: 22px; padding-bottom: 18px; }
  body.dmpseo-managed-article .dmpseo-toc { padding: 16px; margin: 20px 0 26px; }
  body.dmpseo-managed-article .dmpseo-story-body > h2 { scroll-margin-top: 94px; }
  body.admin-bar.dmpseo-managed-article .dmpseo-story-body > h2 { scroll-margin-top: 140px; }
}

/* Empêche les alignwide/alignfull des thèmes de sortir de la colonne. */
body.dmpseo-managed-article .dmpseo-story :is(.alignwide, .alignfull) {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
}
