
/* ── Correction marges OceanWP sur hero (page-id-1294) ── */
.page-id-1294 .vde-single__hero,
.page-id-1294 .vde-single__img-spacer {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.page-id-1294 .vde-single__hero {
    padding: 3rem 3rem 140px !important;
}

/* ═══════════════════════════════════════════
   VDE Articles — style.css
   Calqué sur article-single.css v4
   Préfixé .vde-wrap pour isoler du thème
═══════════════════════════════════════════ */

/* ── Variables ── */
:root {
    --vde-violet:       #5528FF;
    --vde-violet-dark:  #1C00C1;
    --vde-violet-mid:   #8768FF;
    --vde-violet-light: #BAA8FF;
    --vde-violet-pale:  #DCD3FF;
    --vde-vert:         #27B782;
    --vde-vert-dark:    #1C845E;
    --vde-vert-pale:    #B1E1CF;
    --vde-orange:       #EA4E1B;
    --vde-fond:         #F8F3E0;
    --vde-noir:         #111111;
    --vde-gris:         #5A5A5A;
    --vde-gris-light:   #E2DDCC;
    --vde-border:       2px solid #111111;
    --vde-col:          780px;
    --vde-hero-max:     860px;
}
.vde-wrap *, .vde-wrap *::before, .vde-wrap *::after {
    box-sizing: border-box;
}
.vde-single__hero *, .vde-single__img-spacer * {
    box-sizing: border-box;
}

/* Fond blanc forcé sur les pages du plugin */
body:has(.vde-single),
body:has(.vde-archive) {
    background: #ffffff !important;
}


/* ════════════════════════════════════════════
   SINGLE — HERO
   Technique full-bleed pour sortir du conteneur Elementor/thème
════════════════════════════════════════════ */
.vde-single__hero {
    /* Hors du conteneur WordPress — width:100% suffit */
    width: 100%;
    padding: 3rem 3rem 140px;
    box-sizing: border-box;
}

.vde-single__hero-inner {
    max-width: 860px;
    margin: 0 auto;
}

/* Back link */
.vde-single__hero .vde-back-link,
.vde-single__hero a.vde-back-link {
    font-family: 'Barlow Semi Condensed', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    color: inherit !important;
    text-decoration: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
    display: inline-block !important;
    margin-bottom: 1.5rem !important;
    opacity: .75;
    transition: opacity .18s;
}
.vde-back-link:hover, a.vde-back-link:hover { opacity: 1 !important; }

/* Tags */
.vde-single__tags {
    display: flex !important;
    gap: .6rem !important;
    flex-wrap: wrap !important;
    margin-bottom: 1.5rem !important;
}
.vde-single__hero .vde-hero-tag,
a.vde-hero-tag {
    font-family: 'Barlow Semi Condensed', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    border: 2px solid currentColor !important;
    padding: 4px 14px !important;
    border-radius: 100px !important;
    color: inherit !important;
    background: transparent !important;
    text-decoration: none !important;
    box-shadow: none !important;
    display: inline-block !important;
    transition: background .15s, color .15s;
}
.vde-hero-tag:hover {
    background: #111111 !important;
    color: var(--vde-vert-pale) !important;
}

/* Titre */
.vde-single__hero .vde-single__title,
h1.vde-single__title {
    font-family: 'Rubik Dirt', cursive !important;
    font-size: clamp(2rem, 4vw, 3.4rem) !important;
    line-height: 1.05 !important;
    margin-bottom: 2rem !important;
    font-weight: 400 !important;
}

/* Auteur */
.vde-single__author {
    display: flex !important;
    align-items: center !important;
    gap: .85rem !important;
    margin-bottom: 0 !important;
}
.vde-author-avatar {
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    background: #111111 !important;
    color: #F8F3E0 !important;
    font-family: 'Rubik Dirt', cursive !important;
    font-size: 1rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}
.vde-author-info { display: flex; flex-direction: column; gap: .1rem; }
.vde-single__hero .vde-author-name,
span.vde-author-name {
    font-family: 'Barlow Semi Condensed', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: inherit !important;
    display: block !important;
}
.vde-single__hero .vde-author-role,
span.vde-author-role {
    font-family: 'Barlow', sans-serif !important;
    font-size: 13px !important;
    color: inherit !important;
    opacity: .75;
    display: block !important;
}

/* Accroche */
.vde-single__hero .vde-single__accroche,
p.vde-single__accroche {
    font-family: 'Barlow Semi Condensed', sans-serif !important;
    font-size: 1.2rem !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    max-width: 680px !important;
    margin-top: 1.5rem !important;
    margin-bottom: 0 !important;
    opacity: .85 !important;
    display: block !important;
    color: inherit !important;
}

/* ════════════════════════════════════════════
   IMAGE CHEVAUCHANTE
   Spacer blanc qui remonte sur le fond coloré
   + image qui remonte encore par-dessus
════════════════════════════════════════════ */
.vde-single__img-spacer {
    background: #ffffff;
    width: 100%;
    padding-top: 0;
    margin-top: 0;
    padding-bottom: 2.5rem;
    box-sizing: border-box;
}
.vde-single__img-spacer .vde-single__img-wrap {
    max-width: 860px;
    margin: -120px auto 0 !important;
    padding: 0 3rem;
    position: relative;
    z-index: 2;
}
.vde-single__img {
    width: 100% !important;
    max-height: 460px !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 4px !important;
}
.vde-single__img-placeholder {
    width: 100% !important;
    height: 420px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: 'Rubik Dirt', cursive !important;
    font-size: 4rem !important;
    filter: brightness(.88);
    border-radius: 4px !important;
}
.vde-single__img-caption {
    font-family: 'Barlow', sans-serif !important;
    font-size: 13px !important;
    color: #5A5A5A !important;
    padding: .6rem 0 0 !important;
    font-style: italic !important;
}

/* ════════════════════════════════════════════
   LAYOUT : corps + sidebar
════════════════════════════════════════════ */
.vde-single__layout {
    position: relative;
    max-width: 780px;
    margin: 0 auto;
    padding: 3.5rem 3rem 1.5rem;
}

/* Corps */
.vde-single__body p {
    font-family: 'Barlow', sans-serif !important;
    font-size: 18px !important;
    line-height: 1.8 !important;
    color: #111111 !important;
    margin-bottom: 1.5rem !important;
    font-style: normal !important;
}
.vde-single__body h2,
.vde-single__body h2 * {
    font-family: 'Rubik Dirt', cursive !important;
    font-size: 1.85rem !important;
    line-height: 1.15 !important;
    color: #111111 !important;
    margin-top: 3.5rem !important;
    margin-bottom: 1.25rem !important;
    padding-top: 2rem !important;
    border-top: 2px solid #111111 !important;
    font-weight: 400 !important;
    background: none !important;
    text-transform: none !important;
}
.vde-single__body h3,
.vde-single__body h3 * {
    font-family: 'Barlow Semi Condensed', sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    color: #111111 !important;
    margin-top: 2.5rem !important;
    margin-bottom: .75rem !important;
    border-top: none !important;
    padding-top: 0 !important;
    background: none !important;
}
.vde-single__body a {
    color: var(--vde-violet) !important;
    text-decoration: none !important;
    border-bottom: 1.5px solid var(--vde-violet-light) !important;
}
.vde-single__body a:hover {
    color: var(--vde-violet-dark) !important;
    border-color: var(--vde-violet) !important;
}
.vde-single__body ul,
.vde-single__body ol { padding-left: 1.5rem !important; margin-bottom: 1.5rem !important; }
.vde-single__body li { font-size: 18px !important; line-height: 1.75 !important; margin-bottom: .5rem !important; }

/* ── Citation ── */
.vde-pull-quote {
    max-width: 780px;
    margin: 3rem auto !important;
    padding: 1.5rem 0 1.5rem 2rem !important;
    background: none !important;
    border: none !important;
    border-left: 3px solid #1C845E !important;
    position: static !important;
    quotes: none !important;
}
.vde-pull-quote::before,
.vde-pull-quote::after { content: none !important; }
.vde-pull-quote p {
    font-family: 'Barlow Semi Condensed', sans-serif !important;
    font-size: 1.45rem !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    color: #1C845E !important;
    margin: 0 0 1rem !important;
    font-style: normal !important;
    padding-top: 0 !important;
    border: none !important;
    background: none !important;
}
.vde-pull-quote cite {
    font-family: 'Barlow', sans-serif !important;
    font-size: 13px !important;
    font-style: normal !important;
    color: #5A5A5A !important;
    display: block !important;
}
.vde-pull-quote cite::before { content: "— " !important; }

/* ── Chiffre clé ── */
.vde-chiffre-cle {
    max-width: 780px;
    margin: 3rem auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 2rem !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
}
.vde-chiffre-cle__nombre {
    font-family: 'Rubik Dirt', cursive !important;
    font-size: 5.5rem !important;
    line-height: 1 !important;
    color: #1C845E !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    font-style: normal !important;
    font-weight: 400 !important;
}
.vde-chiffre-cle__texte {
    font-family: 'Barlow Semi Condensed', sans-serif !important;
    font-size: 1.2rem !important;
    font-weight: 600 !important;
    color: #1C845E !important;
    line-height: 1.4 !important;
    font-style: normal !important;
}

/* ── Encadré ── */
.vde-encadre {
    max-width: 780px;
    margin: 0 auto 2rem !important;
    padding: 1.75rem 2rem !important;
    background: #f2f2f2 !important;
    border: none !important;
    border-radius: 6px !important;
    box-shadow: none !important;
}
.vde-encadre-label {
    font-family: 'Barlow Semi Condensed', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
    color: #5A5A5A !important;
    margin-bottom: .75rem !important;
    display: block !important;
    font-style: normal !important;
}
.vde-encadre p {
    font-family: 'Barlow', sans-serif !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
    color: #5A5A5A !important;
    margin: 0 0 .75rem !important;
    font-style: normal !important;
    max-width: 100% !important;
}
.vde-encadre p:last-child { margin-bottom: 0 !important; }

/* ── Lien externe ── */
.vde-lien-externe {
    max-width: 780px;
    display: flex !important;
    align-items: center !important;
    gap: 1.25rem !important;
    margin: 0 auto 2rem !important;
    padding: 1.25rem 1.5rem !important;
    border: 1.5px solid #E2DDCC !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    color: #111111 !important;
    background: #ffffff !important;
    transition: border-color .18s, background .18s;
}
.vde-lien-externe:hover {
    border-color: var(--vde-violet) !important;
    background: var(--vde-violet-pale) !important;
}
.vde-lien-externe__icon {
    width: 40px !important; height: 40px !important;
    border-radius: 50% !important;
    background: var(--vde-violet-pale) !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    font-size: 1rem !important; flex-shrink: 0 !important;
    color: var(--vde-violet) !important;
}
.vde-lien-externe__content { display: flex !important; flex-direction: column !important; gap: .2rem !important; }
.vde-lien-externe__titre {
    font-family: 'Barlow Semi Condensed', sans-serif !important;
    font-size: 15px !important; font-weight: 600 !important;
    color: #111111 !important; text-decoration: none !important;
}
.vde-lien-externe__url {
    font-family: 'Barlow', sans-serif !important;
    font-size: 12px !important; color: #5A5A5A !important;
    text-decoration: none !important;
}

/* ── Image dans le texte ── */
.vde-figure-corps {
    max-width: 780px;
    margin: 2.5rem auto !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    border: none !important;
    padding: 0 !important;
    background: none !important;
}
.vde-img-corps {
    width: 100% !important; display: block !important;
    object-fit: cover !important; border-radius: 4px !important;
    height: auto !important; max-width: 100% !important;
}
.vde-img-corps__legende {
    font-family: 'Barlow', sans-serif !important;
    font-size: 13px !important; color: #5A5A5A !important;
    padding: .65rem 0 0 !important; font-style: italic !important;
    display: block !important; margin: 0 !important;
}

/* ── Sidebar ── */
.vde-single__sidebar {
    position: absolute;
    top: 3.5rem;
    left: calc(100% + 3rem);
    width: 220px;
}
.vde-sidebar-cta {
    border: 2px solid #111111 !important;
    border-radius: 6px !important; overflow: hidden !important;
    position: sticky; top: 2rem;
}
.vde-sidebar-cta__label {
    font-family: 'Barlow Semi Condensed', sans-serif !important;
    font-size: 11px !important; font-weight: 700 !important;
    letter-spacing: .14em !important; text-transform: uppercase !important;
    color: #5A5A5A !important;
    padding: 1rem 1.25rem .75rem !important;
    border-bottom: 1.5px solid #E2DDCC !important;
    display: block !important;
}
.vde-sidebar-cta__link {
    display: flex !important; align-items: center !important; gap: .75rem !important;
    font-family: 'Barlow Semi Condensed', sans-serif !important;
    font-size: 13px !important; font-weight: 600 !important;
    color: #111111 !important; text-decoration: none !important;
    padding: .9rem 1.25rem !important;
    border-bottom: 1.5px solid #E2DDCC !important;
    transition: background .15s, color .15s;
    line-height: 1.3 !important;
}
.vde-sidebar-cta__link:last-child { border-bottom: none !important; }
.vde-sidebar-cta__link:hover { background: var(--vde-violet-pale) !important; color: var(--vde-violet-dark) !important; }
.vde-sidebar-cta__link--primary { background: var(--vde-violet) !important; color: #fff !important; font-weight: 700 !important; }
.vde-sidebar-cta__link--primary:hover { background: var(--vde-violet-dark) !important; color: #fff !important; }
.vde-sidebar-cta__icon { font-size: 14px !important; flex-shrink: 0 !important; width: 18px !important; text-align: center !important; }

/* ════════════════════════════════════════════
   SOURCES
════════════════════════════════════════════ */
.vde-single__sources {
    max-width: 780px;
    margin: 0 auto;
    padding: .75rem 3rem 2rem;
    border-top: none;
}
.vde-sources-label {
    font-family: 'Barlow Semi Condensed', sans-serif !important;
    font-size: 11px !important; font-weight: 700 !important;
    letter-spacing: .14em !important; text-transform: uppercase !important;
    color: #1C845E !important; margin-bottom: .75rem !important; display: block !important;
}
.vde-single__sources ul { list-style: none !important; padding: 0 !important; display: flex !important; flex-direction: column !important; gap: .4rem !important; }
.vde-single__sources li {
    font-family: 'Barlow', sans-serif !important;
    font-size: 14px !important; font-style: italic !important;
    color: #1C845E !important; line-height: 1.5 !important;
}

/* ════════════════════════════════════════════
   À LIRE AUSSI
════════════════════════════════════════════ */
.vde-lireausi {
    max-width: 780px;
    margin: 0 auto;
    padding: 2.5rem 3rem 4rem;
}
.vde-lireausi__titre {
    font-family: 'Rubik Dirt', cursive !important;
    font-size: 2rem !important; color: #1C845E !important;
    margin-bottom: 1.5rem !important; font-weight: 400 !important;
}
.vde-lireausi__grid {
    display: flex !important; flex-direction: row !important; gap: 1.25rem !important;
}
.vde-alire-card {
    display: flex !important; flex-direction: column !important; flex: 1 !important;
    border: 2px solid #111111 !important; border-radius: 4px !important;
    text-decoration: none !important; color: inherit !important;
    transition: background .18s;
}
.vde-alire-card:hover { background: var(--vde-violet-pale) !important; }
.vde-alire-card__img {
    border-bottom: 2px solid #111111 !important;
    aspect-ratio: 16/9 !important; width: 100% !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    font-family: 'Rubik Dirt', cursive !important; font-size: 2rem !important;
    color: #5A5A5A !important; border-radius: 4px 4px 0 0 !important; overflow: hidden !important;
}
.vde-alire-card__photo { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.vde-alire-card__body {
    padding: .9rem 1.1rem !important;
    display: flex !important; flex-direction: column !important; gap: .4rem !important; flex: 1 !important;
}
.vde-alire-card__title {
    font-family: 'Barlow Semi Condensed', sans-serif !important;
    font-size: 1rem !important; font-weight: 600 !important;
    line-height: 1.25 !important; color: #111111 !important; margin: 0 !important;
}
.vde-alire-card__date {
    font-family: 'Barlow', sans-serif !important;
    font-size: 12px !important; color: #5A5A5A !important;
}
.vde-cat-tag {
    font-family: 'Barlow Semi Condensed', sans-serif !important;
    font-size: 10px !important; font-weight: 700 !important;
    letter-spacing: .1em !important; text-transform: uppercase !important;
    padding: 2px 9px !important; border-radius: 100px !important;
    white-space: nowrap !important; color: #fff !important;
    text-decoration: none !important; width: fit-content !important; display: inline-block !important;
}

/* ════════════════════════════════════════════
   ARCHIVE
════════════════════════════════════════════ */
.vde-archive__hero {
    padding: 4rem 2rem 3rem;
    position: relative;
    overflow: hidden;
    background: #ffffff;
    border-bottom: 2px solid #111111;
}
.vde-archive__hero::after { display: none !important; }
.vde-archive__label {
    font-family: 'Barlow Semi Condensed', sans-serif !important;
    font-size: 12px !important; font-weight: 600 !important;
    letter-spacing: .14em !important; text-transform: uppercase !important;
    color: var(--vde-violet) !important; margin-bottom: .75rem !important; display: block !important;
}
.vde-archive__title {
    font-family: 'Rubik Dirt', cursive !important;
    font-size: clamp(3rem, 6vw, 5rem) !important;
    line-height: 1 !important; color: #111111 !important;
    margin: 0 !important; font-weight: 400 !important;
}
.vde-archive__count { display: none !important; }

/* Filtres */
.vde-filters {
    border-bottom: 2px solid #111111;
    padding: 1rem 2rem;
    display: flex !important; align-items: center !important; gap: .7rem !important; flex-wrap: wrap !important;
    background: #ffffff;
}
.vde-filters__label {
    font-family: 'Barlow Semi Condensed', sans-serif !important;
    font-size: 11px !important; font-weight: 700 !important;
    letter-spacing: .12em !important; text-transform: uppercase !important;
    color: #5A5A5A !important;
}
.vde-tag-btn {
    font-family: 'Barlow Semi Condensed', sans-serif !important;
    font-size: 12px !important; font-weight: 600 !important;
    letter-spacing: .07em !important; text-transform: uppercase !important;
    border: 1.5px solid #111111 !important; border-radius: 100px !important;
    background: transparent !important; color: #111111 !important;
    padding: 5px 14px !important; cursor: pointer;
    display: inline-block !important;
    text-decoration: none !important; box-shadow: none !important;
    transition: background .15s, color .15s;
}
.vde-tag-btn:hover   { background: #E2DDCC !important; color: #111111 !important; }
.vde-tag-btn.active  { background: #111111 !important; color: #fff !important; border-color: #111111 !important; }
.vde-search { margin-left: auto; position: relative; }
.vde-search__icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #5A5A5A; font-size: 15px; pointer-events: none; }
.vde-search__input {
    font-family: 'Barlow', sans-serif !important; font-size: 14px !important;
    border: 1.5px solid #111111 !important; background: transparent !important;
    padding: 7px 16px 7px 36px !important; border-radius: 100px !important;
    outline: none !important; width: 210px !important; color: #111111 !important;
}
.vde-search__input:focus { border-color: var(--vde-violet) !important; }
.vde-search__input::placeholder { color: #5A5A5A; }

/* Grille */
.vde-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    border-top: 2px solid #111111;
    border-left: 2px solid #111111;
    margin: 2rem 0;
}
.vde-card {
    border-right: 2px solid #111111 !important;
    border-bottom: 2px solid #111111 !important;
    padding: 1.75rem !important;
    display: flex !important; flex-direction: column !important; gap: .9rem !important;
    background: #ffffff !important;
    text-decoration: none !important; color: #111111 !important;
    transition: background .2s; box-shadow: none !important;
}
.vde-card:hover { background: #DCD3FF !important; }
.vde-card--featured {
    grid-column: span 2 !important;
    background: #5528FF !important; color: #fff !important; box-shadow: none !important;
}
.vde-card--featured:hover { background: #1C00C1 !important; }
.vde-card--featured .vde-cat-tag    { background: #fff !important; color: #5528FF !important; }
.vde-card--featured .vde-card__date { color: #BAA8FF !important; }
.vde-card--featured .vde-card__excerpt { color: #BAA8FF !important; font-style: normal !important; }
.vde-card--featured .vde-card__title { color: #fff !important; font-size: 1.9rem !important; }
.vde-card--featured .vde-read-more  { color: #fff !important; }
.vde-card--featured .vde-card__img-placeholder { background: #8768FF !important; color: #DCD3FF !important; }
.vde-card__img { width: 100% !important; aspect-ratio: 16/9 !important; object-fit: cover !important; border-radius: 3px !important; display: block !important; height: auto !important; }
.vde-card__img-placeholder {
    width: 100% !important; aspect-ratio: 16/9 !important; min-height: 120px !important;
    background: #E2DDCC !important; border-radius: 3px !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    font-family: 'Rubik Dirt', cursive !important; font-size: 2rem !important; color: #5A5A5A !important;
}
.vde-card__meta { display: flex !important; align-items: center !important; gap: .6rem !important; flex-wrap: wrap !important; }
.vde-card__date { font-family: 'Barlow', sans-serif !important; font-size: 12px !important; color: #5A5A5A !important; }
.vde-card__title {
    font-family: 'Rubik Dirt', cursive !important;
    font-size: 1.25rem !important; line-height: 1.2 !important;
    color: #111111 !important; margin: 0 !important; font-weight: 400 !important; background: none !important;
}
.vde-card__excerpt { font-family: 'Barlow', sans-serif !important; font-size: 14px !important; line-height: 1.6 !important; color: #5A5A5A !important; flex: 1 !important; margin: 0 !important; }
.vde-card__footer { display: flex !important; align-items: center !important; justify-content: flex-end !important; margin-top: auto !important; }
.vde-read-more {
    font-family: 'Barlow Semi Condensed', sans-serif !important;
    font-size: 12px !important; font-weight: 700 !important;
    letter-spacing: .07em !important; text-transform: uppercase !important;
    color: #111111 !important; border-bottom: 1.5px solid #111111 !important; padding-bottom: 1px !important;
}
.vde-empty { grid-column: 1/-1; padding: 4rem; text-align: center; }
.vde-btn {
    display: inline-block !important;
    font-family: 'Barlow Semi Condensed', sans-serif !important;
    font-size: 13px !important; font-weight: 700 !important;
    letter-spacing: .07em !important; text-transform: uppercase !important;
    border: 1.5px solid #111111 !important; background: transparent !important;
    color: #111111 !important; padding: 9px 22px !important; border-radius: 100px !important;
}
.vde-btn:hover { background: var(--vde-violet) !important; color: #fff !important; border-color: var(--vde-violet) !important; }
.vde-pagination { display: flex !important; align-items: center !important; justify-content: center !important; gap: .75rem !important; margin: 2rem 0 !important; }
.vde-page-btn {
    font-family: 'Barlow Semi Condensed', sans-serif !important; font-size: 14px !important; font-weight: 600 !important;
    border: 1.5px solid #111111 !important; background: transparent !important; color: #111111 !important;
    width: 40px !important; height: 40px !important; border-radius: 50% !important;
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
}
.vde-page-btn:hover, .vde-page-btn.active { background: var(--vde-violet) !important; color: #fff !important; border-color: var(--vde-violet) !important; }

/* ════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════ */
@media (max-width: 860px) {
    .vde-single__hero    { padding: 2.5rem 1.5rem 100px !important; }
    .vde-single__img-spacer { padding-top: 180px !important; margin-top: -180px !important; }
    .vde-single__img-wrap { margin-top: -90px !important; padding: 0 1.5rem !important; }
    .vde-single__img-placeholder { height: 260px !important; font-size: 2.5rem !important; }
    .vde-single__layout  { padding: 2.5rem 1.5rem 1.5rem !important; max-width: 100% !important; }
    .vde-single__sidebar { position: static !important; width: 100% !important; left: auto !important; margin-top: 3rem !important; }
    .vde-sidebar-cta     { position: static !important; }
    .vde-single__sources { padding: 1.5rem !important; max-width: 100% !important; }
    .vde-lireausi        { padding: 2rem 1.5rem 3rem !important; max-width: 100% !important; }
    .vde-lireausi__grid  { flex-direction: column !important; gap: 1rem !important; }
    .vde-grid            { grid-template-columns: 1fr 1fr !important; }
    .vde-card--featured  { grid-column: 1/-1 !important; }
}
@media (max-width: 600px) {
    .vde-single__title   { font-size: 1.9rem !important; }
    .vde-single__body p  { font-size: 16px !important; }
    .vde-pull-quote p    { font-size: 1.15rem !important; }
    .vde-chiffre-cle     { flex-direction: column !important; gap: 1rem !important; }
    .vde-grid            { grid-template-columns: 1fr !important; }
    .vde-card--featured  { grid-column: auto !important; }
    .vde-search          { margin-left: 0 !important; width: 100% !important; }
    .vde-search__input   { width: 100% !important; }
}
