.elementor .vlm-article{/* =========================================================
 MODÈLE ARTICLE — L’ATELIER DOCUMENTAIRE
 CSS placé dans le conteneur général .vlm-article
========================================================= */

selector {
--vlm-blue: #0f2d4d;
--vlm-blue-light: #4477a8;
--vlm-gold: #d4b15a;
--vlm-ivory: #f8f2e8;
--vlm-text: #354250;
--vlm-border: #d7d4cc;

width: 100%;
max-width: 1180px;
margin: 0 auto;
padding: 52px 30px 80px;
box-sizing: border-box;
background: #ffffff;
}

/* Empêcher les éléments internes de dépasser */
selector *,
selector *::before,
selector *::after {
box-sizing: border-box;
}

/* =========================================================
 01 — HERO
========================================================= */

selector .vlm-article-hero {
width: 100%;
max-width: 1040px;
margin: 0 auto 68px;
text-align: center;
}

/* Image mise en avant */
selector .vlm-article-hero img {
display: block;
width: 100%;
height: auto;
max-height: 590px;
object-fit: cover;
margin: 0 auto 38px;
border-radius: 5px;
box-shadow: 0 10px 28px rgba(15, 45, 77, 0.11);
}

/* Titre principal */
selector .vlm-article-hero h1,
selector .vlm-article-hero .elementor-heading-title {
max-width: 900px;
margin: 0 auto 18px;
color: var(--vlm-blue);
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(38px, 5vw, 58px);
font-weight: 700;
line-height: 1.12;
letter-spacing: -0.02em;
}

/* Auteur, date, type */
selector .vlm-article-hero .elementor-post-info,
selector .vlm-article-hero .elementor-widget-theme-post-info,
selector .vlm-article-hero .elementor-icon-list-text {
color: var(--vlm-blue-light);
font-size: 14px;
line-height: 1.5;
}

/* Présentation courte / chapeau */
selector .vlm-article-hero p {
max-width: 790px;
margin: 24px auto 0;
color: var(--vlm-text);
font-size: clamp(18px, 2vw, 21px);
line-height: 1.72;
}

/* Petite ligne dorée sous le hero */
selector .vlm-article-hero::after {
content: "";
display: block;
width: 86px;
height: 3px;
margin: 42px auto 0;
background: var(--vlm-gold);
}

/* =========================================================
 02 — CONTENU COMPLET
========================================================= */

selector .vlm-article-content {
width: 100%;
max-width: 800px;
margin: 0 auto 72px;
color: var(--vlm-text);
font-size: 18px;
line-height: 1.84;
}

/* Paragraphes */
selector .vlm-article-content p {
margin: 0 0 1.45em;
}

/* Titres Gutenberg */
selector .vlm-article-content h2 {
margin: 58px 0 20px;
color: var(--vlm-blue);
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(29px, 3.2vw, 37px);
line-height: 1.22;
}

selector .vlm-article-content h3 {
margin: 42px 0 16px;
color: var(--vlm-blue-light);
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(23px, 2.5vw, 28px);
line-height: 1.28;
}

selector .vlm-article-content h4 {
margin: 32px 0 13px;
color: var(--vlm-blue);
font-size: 20px;
line-height: 1.35;
}

/* Liens */
selector .vlm-article-content a {
color: var(--vlm-blue-light);
font-weight: 700;
text-decoration-thickness: 1px;
text-underline-offset: 3px;
}

selector .vlm-article-content a:hover {
color: var(--vlm-blue);
}

/* Images ajoutées dans Gutenberg */
selector .vlm-article-content img {
display: block;
max-width: 100%;
height: auto;
margin: 34px auto;
border-radius: 4px;
}

/* Légendes */
selector .vlm-article-content figcaption {
margin-top: -22px;
color: #6c7480;
font-size: 13px;
line-height: 1.5;
text-align: center;
}

/* Listes */
selector .vlm-article-content ul,
selector .vlm-article-content ol {
margin: 0 0 28px;
padding-left: 26px;
}

selector .vlm-article-content li {
margin-bottom: 9px;
}

/* Citations placées directement dans Gutenberg */
selector .vlm-article-content blockquote {
margin: 40px 0;
padding: 25px 28px;
background: var(--vlm-ivory);
border-left: 4px solid var(--vlm-gold);
color: var(--vlm-blue);
font-family: Georgia, "Times New Roman", serif;
font-size: 22px;
line-height: 1.55;
}

/* Séparateurs Gutenberg */
selector .vlm-article-content hr {
width: 90px;
margin: 48px auto;
border: 0;
border-top: 2px solid var(--vlm-gold);
}

/* =========================================================
 03 — CITATION ACF
========================================================= */

selector .vlm-article-quote {
width: 100%;
max-width: 860px;
margin: 0 auto 72px;
padding: 34px 38px;
background: var(--vlm-ivory);
border-left: 5px solid var(--vlm-gold);
border-radius: 4px;
color: var(--vlm-blue);
font-family: Georgia, "Times New Roman", serif;
font-size: clamp(21px, 2.6vw, 27px);
line-height: 1.55;
box-shadow: 0 6px 20px rgba(15, 45, 77, 0.07);
}

selector .vlm-article-quote p {
margin: 0;
}

selector .vlm-article-quote p::before {
content: "« ";
color: var(--vlm-gold);
}

selector .vlm-article-quote p::after {
content: " »";
color: var(--vlm-gold);
}

/* =========================================================
 04 — POUR ALLER PLUS LOIN
========================================================= */

selector .vlm-article-more {
width: 100%;
max-width: 960px;
margin: 0 auto 72px;
padding: 38px 40px;
color: #ffffff;
background: var(--vlm-blue);
border-top: 4px solid var(--vlm-gold);
border-radius: 6px;
box-shadow: 0 10px 28px rgba(15, 45, 77, 0.14);
}

selector .vlm-article-more h2,
selector .vlm-article-more h3,
selector .vlm-article-more h4 {
margin-top: 0;
color: #ffffff;
font-family: Georgia, "Times New Roman", serif;
}

selector .vlm-article-more h2 {
font-size: 31px;
}

selector .vlm-article-more p,
selector .vlm-article-more li,
selector .vlm-article-more .elementor-widget-text-editor {
color: rgba(255, 255, 255, 0.92);
line-height: 1.7;
}

selector .vlm-article-more a {
color: #ffffff;
font-weight: 700;
text-decoration-color: var(--vlm-gold);
text-decoration-thickness: 2px;
text-underline-offset: 4px;
}

selector .vlm-article-more a:hover {
color: #f3dfaa;
}

/* =========================================================
 05 — NAVIGATION
========================================================= */

selector .vlm-article-nav {
width: 100%;
max-width: 960px;
margin: 0 auto;
padding: 34px 0 0;
border-top: 1px solid var(--vlm-border);
}

/* Titres précédent / suivant */
selector .vlm-article-nav .post-navigation__prev--label,
selector .vlm-article-nav .post-navigation__next--label {
color: #697481;
font-size: 11px;
font-weight: 800;
letter-spacing: 0.11em;
text-transform: uppercase;
}

/* Liens précédent / suivant */
selector .vlm-article-nav a {
color: var(--vlm-blue);
font-family: Georgia, "Times New Roman", serif;
font-size: 18px;
font-weight: 700;
line-height: 1.35;
text-decoration: none;
}

selector .vlm-article-nav a:hover {
color: var(--vlm-blue-light);
}

/* =========================================================
 BOUTON RETOUR
========================================================= */

selector .vlm-article-back {
display: flex;
justify-content: center;
width: 100%;
margin: 32px auto 0;
}

selector .vlm-article-back .elementor-button {
width: auto;
padding: 13px 23px;
color: var(--vlm-blue);
background: #ffffff;
border: 2px solid var(--vlm-blue);
border-radius: 6px;
font-size: 13px;
font-weight: 800;
letter-spacing: 0.02em;
text-transform: uppercase;
transition:
  color 0.2s ease,
  background 0.2s ease,
  transform 0.2s ease;
}

selector .vlm-article-back .elementor-button:hover {
color: #ffffff;
background: var(--vlm-blue);
transform: translateY(-2px);
}

/* =========================================================
 TABLETTE
========================================================= */

@media (max-width: 1024px) {
selector {
  padding: 44px 26px 68px;
}

selector .vlm-article-hero {
  margin-bottom: 56px;
}

selector .vlm-article-content {
  max-width: 760px;
}
}

/* =========================================================
 MOBILE
========================================================= */

@media (max-width: 767px) {
selector {
  padding: 30px 18px 52px;
}

selector .vlm-article-hero {
  margin-bottom: 45px;
  text-align: left;
}

selector .vlm-article-hero img {
  margin-bottom: 28px;
  border-radius: 3px;
}

selector .vlm-article-hero h1,
selector .vlm-article-hero .elementor-heading-title {
  margin-left: 0;
  font-size: 35px;
}

selector .vlm-article-hero p {
  font-size: 18px;
}

selector .vlm-article-hero::after {
  margin-left: 0;
}

selector .vlm-article-content {
  margin-bottom: 52px;
  font-size: 16.5px;
  line-height: 1.75;
}

selector .vlm-article-content h2 {
  margin-top: 44px;
  font-size: 29px;
}

selector .vlm-article-content h3 {
  margin-top: 34px;
  font-size: 23px;
}

selector .vlm-article-quote {
  margin-bottom: 52px;
  padding: 27px 24px;
  font-size: 20px;
}

selector .vlm-article-more {
  margin-bottom: 52px;
  padding: 29px 24px;
}

selector .vlm-article-more h2 {
  font-size: 27px;
}

selector .vlm-article-nav {
  padding-top: 28px;
}

selector .vlm-article-nav .elementor-post-navigation {
  gap: 24px;
}

selector .vlm-article-back .elementor-button {
  width: 100%;
  text-align: center;
}
}
/* Corriger les espaces excessifs entre les sections */
selector .vlm-article-hero {
margin-bottom: 42px;
}

selector .vlm-article-content {
margin-bottom: 48px;
}

selector .vlm-article-content .elementor-widget-container,
selector .vlm-article-content .elementor-widget-theme-post-content {
min-height: 0 !important;
}

selector .vlm-article-nav {
margin-top: 20px;
}\n}