/* CDG Studio v3.0.0-alpha.11.42 — coque publique autonome.
 *
 * Le header/footer du thème restent utilisables. La zone éditoriale est en
 * revanche propriétaire de sa géométrie : Kadence/Elementor ne décident plus
 * du gabarit extérieur quand CDG Studio est en mode « page » ou « viewport ».
 *
 * Un pont source Elementor conserve ses propres styles internes. Nous ne
 * neutralisons que la coque de page qui l'entoure. */

body.cdg-studio-autonomous-singular {
  --cdg-autonomous-viewport-gutter: 0px;
}

body.cdg-studio-autonomous-singular #cdg-autonomous-main,
body.cdg-studio-autonomous-singular .cdg-autonomous-entry {
  box-sizing: border-box !important;
  display: block !important;
  position: relative !important;
  float: none !important;
  clear: both !important;
  width: 100vw !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow: visible !important;
}

/* Important : le contenu est déjà à l'intérieur d'une coque 100vw. Il ne doit
 * pas appliquer une seconde translation 50vw, qui pouvait provoquer un décalage
 * horizontal sur certains thèmes. */
body.cdg-studio-autonomous-singular .cdg-autonomous-content {
  box-sizing: border-box !important;
  display: block !important;
  position: relative !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow: visible !important;
}

/* Certains thèmes appliquent encore max-width/overflow à leurs wrappers
 * globaux. Le header n'est pas remodelé ; la zone autonome est simplement
 * autorisée à sortir du conteneur éditorial du thème. */
body.cdg-studio-autonomous-singular #wrapper,
body.cdg-studio-autonomous-singular #page,
body.cdg-studio-autonomous-singular #inner-wrap,
body.cdg-studio-autonomous-singular .site,
body.cdg-studio-autonomous-singular .site-content,
body.cdg-studio-autonomous-singular .content-area,
body.cdg-studio-autonomous-singular .site-main {
  max-width: none !important;
  overflow: visible !important;
}

/* Pour un pont source, CDG Studio contrôle seulement la largeur extérieure.
 * Les sections/containers internes Elementor restent intactes afin de préserver
 * la maquette d'origine. */
body.cdg-studio-source-bridge-shell .cdg-autonomous-main--page .cdg-autonomous-content--source-bridge {
  width: min(calc(100vw - 32px), var(--cdg-autonomous-max-width, 1600px)) !important;
  max-width: var(--cdg-autonomous-max-width, 1600px) !important;
}

body.cdg-studio-source-bridge-shell .cdg-autonomous-main--viewport .cdg-autonomous-content--source-bridge {
  width: 100% !important;
  max-width: none !important;
}

body.cdg-studio-source-bridge-shell .cdg-autonomous-main--align-center .cdg-autonomous-content--source-bridge {
  margin-left: auto !important;
  margin-right: auto !important;
}

body.cdg-studio-source-bridge-shell .cdg-autonomous-main--align-left .cdg-autonomous-content--source-bridge {
  margin-left: 0 !important;
  margin-right: auto !important;
}

body.cdg-studio-source-bridge-shell .cdg-autonomous-main--align-right .cdg-autonomous-content--source-bridge {
  margin-left: auto !important;
  margin-right: 0 !important;
}

/* La racine du moteur source doit occuper la largeur mise à sa disposition par
 * CDG Studio. On ne touche volontairement pas aux sections internes boxed. */
body.cdg-studio-source-bridge-shell .cdg-autonomous-content--source-bridge > .elementor,
body.cdg-studio-source-bridge-shell .cdg-autonomous-content--source-bridge > [data-elementor-type],
body.cdg-studio-source-bridge-shell .cdg-autonomous-content--source-bridge > .elementor-location-single,
body.cdg-studio-source-bridge-shell .cdg-autonomous-content--source-bridge > .elementor-section-wrap,
body.cdg-studio-source-bridge-shell .cdg-autonomous-content--source-bridge > .cdg-v3-source-parity-root {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Le template autonome ne produit volontairement aucun titre/meta/image du
 * thème lorsqu'ils sont désactivés dans CDG Studio. */
body.cdg-studio-autonomous-singular .cdg-autonomous-entry > .entry-header,
body.cdg-studio-autonomous-singular .cdg-autonomous-entry > .post-thumbnail {
  display: none !important;
}

body.cdg-studio-autonomous-singular .cdg-autonomous-entry-header,
body.cdg-studio-autonomous-singular .cdg-autonomous-featured-image {
  box-sizing: border-box;
  width: min(calc(100% - 32px), var(--cdg-autonomous-max-width, 1600px));
  max-width: var(--cdg-autonomous-max-width, 1600px);
  margin-left: auto;
  margin-right: auto;
}

body.cdg-studio-autonomous-singular .cdg-autonomous-entry-header {
  padding: 24px 0 14px;
}

body.cdg-studio-autonomous-singular .cdg-autonomous-entry-header .entry-title {
  margin: 0;
}

body.cdg-studio-autonomous-singular .cdg-autonomous-entry-meta {
  margin-top: 8px;
}

body.cdg-studio-autonomous-singular .cdg-autonomous-featured-image img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 900px) {
  body.cdg-studio-source-bridge-shell .cdg-autonomous-content--source-bridge {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* alpha.11.39 — articles : la coque publique est désormais indépendante du
 * moteur intérieur (Elementor historique, snapshot fidèle ou CDG Builder). */
body.cdg-studio-article-shell .cdg-autonomous-entry--article-snapshot {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.cdg-studio-article-shell .cdg-autonomous-main--page .cdg-autonomous-content--article-snapshot {
  box-sizing: border-box !important;
  width: min(calc(100vw - 32px), var(--cdg-autonomous-max-width, 1600px)) !important;
  max-width: var(--cdg-autonomous-max-width, 1600px) !important;
}

body.cdg-studio-article-shell .cdg-autonomous-main--viewport .cdg-autonomous-content--article-snapshot {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
}

body.cdg-studio-article-shell .cdg-autonomous-main--align-center .cdg-autonomous-content--article-snapshot {
  margin-left: auto !important;
  margin-right: auto !important;
}

body.cdg-studio-article-shell .cdg-autonomous-main--align-left .cdg-autonomous-content--article-snapshot {
  margin-left: 0 !important;
  margin-right: auto !important;
}

body.cdg-studio-article-shell .cdg-autonomous-main--align-right .cdg-autonomous-content--article-snapshot {
  margin-left: auto !important;
  margin-right: 0 !important;
}

body.cdg-studio-article-shell .cdg-article-fidelity-snapshot-root {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Les wrappers de contexte capturés peuvent conserver des contraintes du
 * single.php historique. On neutralise uniquement les wrappers de page connus,
 * sans déboxer les sections éditoriales volontaires à l'intérieur de l'article. */
body.cdg-studio-article-shell .cdg-article-fidelity-snapshot-root :is(
  #primary,
  .content-area,
  .site-main,
  .content-container,
  .entry-content,
  .elementor-location-single,
  [data-elementor-type="wp-post"]
) {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

@media (max-width: 900px) {
  body.cdg-studio-article-shell .cdg-autonomous-content--article-snapshot {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
