/* ═══════════════════════════════════════════════════════════════════
   BP EDITORIAL — style.css v1.1.0
   ═══════════════════════════════════════════════════════════════════ */

.bp-encadre, .bp-encadre *,
.bp-alire, .bp-alire *,
.bp-citation, .bp-citation * {
    box-sizing: border-box !important;
    font-family: 'Poppins', sans-serif !important;
}

/* ═══ ENCADRÉ — ton CSS original amélioré ════════════════════════════ */
.bp-encadre {
    position: relative !important;
    margin: 28px 0 !important;
    padding: 22px 24px 22px 34px !important;
    border-radius: 12px !important;
    background: #f7f7f8 !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.06) !important;
    border: 1px solid rgba(0,0,0,.06) !important;
}
.bp-encadre::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 8px !important;
    border-radius: 12px 0 0 12px !important;
    background: #9aa4af !important;
}
.bp-encadre__head {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .2px !important;
}
.bp-encadre__icon  { font-size: 18px !important; line-height: 1 !important; }
.bp-encadre__title { font-size: 16px !important; line-height: 1.2 !important; }
.bp-encadre__body  { font-size: 16px !important; line-height: 1.65 !important; }
.bp-encadre__body p:first-child { margin-top: 0 !important; }
.bp-encadre__body p:last-child  { margin-bottom: 0 !important; }

/* Média */
.bp-encadre--media { background: #f7f7f8 !important; }
.bp-encadre--media::before { background: linear-gradient(to bottom, #6b7280, #9ca3af) !important; }

/* Flash info */
.bp-encadre--flash { background: #0b1220 !important; color: #f2f5ff !important; border-color: rgba(255,255,255,.10) !important; }
.bp-encadre--flash::before { background: linear-gradient(to bottom, #00b3a4, #2dd4bf) !important; }
.bp-encadre--flash a { color: #7dd3fc !important; text-decoration: underline !important; }
.bp-encadre--flash .bp-encadre__title { color: #e5f9ff !important; }

/* Écologie */
.bp-encadre--ecologie::before { background: linear-gradient(to bottom, #00b894, #55efc4) !important; }

/* Droite */
.bp-encadre--droite::before { background: linear-gradient(to bottom, #1e66ff, #60a5fa) !important; }

/* Gauche */
.bp-encadre--gauche::before { background: linear-gradient(to bottom, #e11d48, #fb7185) !important; }

/* RN */
.bp-encadre--rn { background: #0f1115 !important; color: #f6f7fb !important; border-color: rgba(255,255,255,.10) !important; }
.bp-encadre--rn::before { background: linear-gradient(to bottom, #111827, #374151) !important; }
.bp-encadre--rn a { color: #93c5fd !important; }

/* Institution — tricolore */
.bp-encadre--institution { background: #ffffff !important; border-color: rgba(0,0,0,.08) !important; }
.bp-encadre--institution::before { background: linear-gradient(to bottom, #0055A4, #ffffff 50%, #EF4135) !important; }

/* ═══ À LIRE AUSSI — ton CSS original ═══════════════════════════════ */
.bp-alire { margin: 18px 0 26px !important; }
.bp-alire__link {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    background: #eef5ff !important;
    border: 1px solid rgba(30,102,255,.18) !important;
    border-radius: 10px !important;
    padding: 14px 18px !important;
    text-decoration: none !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.05) !important;
    transition: transform 0.2s, box-shadow 0.2s !important;
}
.bp-alire__link:hover { transform: translateY(-1px) !important; box-shadow: 0 14px 30px rgba(0,0,0,.07) !important; }
.bp-alire__link:active { transform: translateY(0) !important; }
.bp-alire__picto  { font-size: 20px !important; flex-shrink: 0 !important; }
.bp-alire__inner  { flex: 1 !important; }
.bp-alire__label  { font-weight: 800 !important; color: #1e66ff !important; margin-right: 6px !important; font-size: 13px !important; }
.bp-alire__text   { font-weight: 700 !important; color: #1f2937 !important; font-size: 15px !important; }
.bp-alire__arrow  { font-size: 18px !important; color: #1e66ff !important; flex-shrink: 0 !important; transition: transform 0.2s !important; }
.bp-alire__link:hover .bp-alire__arrow { transform: translateX(3px) !important; }

/* ═══ CITATION GÉNÉRIQUE ══════════════════════════════════════════════ */
.bp-citation { margin: 28px 0 !important; padding: 0 !important; border: none !important; position: relative !important; }

.bp-citation--generique {
    background: #f9f9fb !important;
    border-radius: 12px !important;
    padding: 30px 32px 24px !important;
    box-shadow: inset 0 0 0 1px rgba(26,43,94,0.09) !important;
    position: relative !important;
}
.bp-citation--generique::before {
    content: "\201C" !important;
    position: absolute !important;
    top: 10px !important;
    left: 24px !important;
    font-size: 90px !important;
    font-family: Georgia, serif !important;
    font-weight: 900 !important;
    color: #dde2f0 !important;
    line-height: 1 !important;
    user-select: none !important;
    pointer-events: none !important;
}
.bp-citation--generique .bp-citation__guillemet { display: none !important; }
.bp-citation--generique .bp-citation__texte {
    font-size: 19px !important;
    font-style: italic !important;
    color: #1a2b5e !important;
    line-height: 1.75 !important;
    font-weight: 500 !important;
    margin: 30px 0 18px !important;
    padding-left: 8px !important;
}
.bp-citation--generique .bp-citation__footer {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    padding-top: 14px !important;
    border-top: 1px solid #e0e4ef !important;
}
.bp-citation--generique .bp-citation__auteur   { font-size: 14px !important; font-weight: 700 !important; color: #1a2b5e !important; }
.bp-citation--generique .bp-citation__fonction { font-size: 12px !important; color: #666 !important; }
.bp-citation--generique .bp-citation__fonction::before { content: '· ' !important; }
.bp-citation--generique .bp-citation__source   { font-size: 11px !important; color: #999 !important; font-style: italic !important; margin-left: auto !important; }

/* ═══ CITATION MACRON ════════════════════════════════════════════════ */
.bp-citation--macron {
    background: #ffffff !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 24px rgba(0,35,149,0.10), 0 1px 4px rgba(0,0,0,0.05) !important;
    display: flex !important;
    border: 1px solid rgba(0,35,149,0.08) !important;
}
/* Bande tricolore verticale */
.bp-citation-macron__tricolore {
    display: flex !important;
    flex-direction: column !important;
    width: 10px !important;
    flex-shrink: 0 !important;
}
.bp-citation-macron__bande { flex: 1 !important; display: block !important; }
.bp-citation-macron__bande--bleu  { background: #002395 !important; }
.bp-citation-macron__bande--blanc { background: #f4f4f4 !important; }
.bp-citation-macron__bande--rouge { background: #ED2939 !important; }

.bp-citation-macron__inner {
    flex: 1 !important;
    padding: 22px 24px !important;
    position: relative !important;
    min-width: 0 !important;
}

/* Photo Macron — flottante à droite */
.bp-citation-macron__photo {
    float: right !important;
    margin: 0 0 12px 16px !important;
    width: 72px !important;
    height: 90px !important;
    border-radius: 6px !important;
    object-fit: cover !important;
    object-position: top center !important;
    box-shadow: 0 4px 14px rgba(0,35,149,0.18) !important;
    border: 2px solid #f0f0f0 !important;
    flex-shrink: 0 !important;
}

.bp-citation-macron__titre {
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: #002395 !important;
    margin-bottom: 10px !important;
    display: block !important;
}
.bp-citation--macron .bp-citation__guillemet {
    display: block !important;
    font-size: 56px !important;
    font-family: Georgia, serif !important;
    color: #ED2939 !important;
    opacity: 0.18 !important;
    line-height: 0.7 !important;
    margin-bottom: 8px !important;
    user-select: none !important;
    clear: none !important;
}
.bp-citation--macron .bp-citation__texte {
    font-size: 16px !important;
    font-style: italic !important;
    color: #0a0a2e !important;
    line-height: 1.75 !important;
    font-weight: 500 !important;
    margin: 0 0 16px 0 !important;
}
.bp-citation--macron .bp-citation__footer {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    padding-top: 12px !important;
    border-top: 2px solid #002395 !important;
    clear: both !important;
}
.bp-citation--macron .bp-citation__auteur {
    font-size: 12px !important;
    font-weight: 800 !important;
    color: #002395 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}
.bp-citation--macron .bp-citation__date::before,
.bp-citation--macron .bp-citation__contexte::before { content: '· ' !important; color: #ccc !important; }
.bp-citation--macron .bp-citation__date,
.bp-citation--macron .bp-citation__contexte { font-size: 12px !important; color: #666 !important; }

/* ═══ CITATION ÉLYSÉE — PARFAITE, ON GARDE ══════════════════════════ */
.bp-citation--elysee {
    background: #0d1b42 !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    color: #ffffff !important;
    position: relative !important;
    box-shadow: 0 8px 40px rgba(13,27,66,0.35) !important;
}
.bp-citation--elysee::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background:
        radial-gradient(circle at 95% 10%, rgba(212,175,55,0.10) 0%, transparent 50%),
        radial-gradient(circle at 5%  90%, rgba(212,175,55,0.06) 0%, transparent 40%) !important;
    pointer-events: none !important;
    z-index: 0 !important;
}
.bp-citation-elysee__header {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 22px 28px 18px !important;
    border-bottom: 1px solid rgba(212,175,55,0.2) !important;
    position: relative !important;
    z-index: 1 !important;
}
.bp-citation-elysee__sceau {
    width: 52px !important;
    height: 52px !important;
    flex-shrink: 0 !important;
    color: #d4af37 !important;
}
.bp-citation-elysee__header-text { display: flex !important; flex-direction: column !important; gap: 4px !important; }
.bp-citation-elysee__institution {
    font-size: 10px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 2.5px !important;
    color: #d4af37 !important;
}
.bp-citation-elysee__titre  { font-size: 15px !important; font-weight: 700 !important; color: #ffffff !important; }
.bp-citation-elysee__date   { font-size: 11px !important; color: rgba(255,255,255,0.45) !important; }

.bp-citation-elysee__body {
    padding: 22px 28px 26px !important;
    position: relative !important;
    z-index: 1 !important;
}
.bp-citation--elysee .bp-citation__guillemet {
    display: block !important;
    font-size: 72px !important;
    font-family: Georgia, serif !important;
    color: #d4af37 !important;
    opacity: 0.25 !important;
    line-height: 0.55 !important;
    margin-bottom: 14px !important;
    user-select: none !important;
}
.bp-citation--elysee .bp-citation__texte {
    font-size: 17px !important;
    font-style: italic !important;
    color: rgba(255,255,255,0.9) !important;
    line-height: 1.8 !important;
    font-weight: 400 !important;
    margin: 0 !important;
    letter-spacing: 0.2px !important;
}
.bp-citation--elysee .bp-citation__footer {
    padding: 12px 28px !important;
    border-top: 1px solid rgba(212,175,55,0.18) !important;
    background: rgba(0,0,0,0.18) !important;
    position: relative !important;
    z-index: 1 !important;
}
.bp-citation--elysee .bp-citation__source { font-size: 11px !important; color: rgba(255,255,255,0.4) !important; font-style: italic !important; }

/* ═══ Responsive ═════════════════════════════════════════════════════ */
@media (max-width: 600px) {
    .bp-citation--macron { flex-direction: column !important; }
    .bp-citation-macron__tricolore { flex-direction: row !important; width: 100% !important; height: 6px !important; }
    .bp-citation-macron__photo { width: 56px !important; height: 70px !important; }
    .bp-citation--generique .bp-citation__texte,
    .bp-citation--macron    .bp-citation__texte,
    .bp-citation--elysee    .bp-citation__texte { font-size: 16px !important; }
    .bp-citation-elysee__header,
    .bp-citation-elysee__body { padding-left: 18px !important; padding-right: 18px !important; }
    .bp-encadre { padding-left: 28px !important; }
}
