/*
Theme: PiloteCSE Child
Fichier: css/home-pilotecse-2026.css
Version: 0.5.7-clean-v33-brevo-fonctionnel-compact
Objet: Home PiloteCSE éditoriale 2026 — formulaire Brevo fonctionnel, compact et aligné

À faire:
1. Supprimer tout le contenu actuel de /css/home-pilotecse-2026.css.
2. Coller ce fichier complet.
3. Ne pas modifier le HTML de la page.
4. Vider le cache, puis Ctrl + F5.
*/

/* ============================================================
   0. RESET LOCAL HOME — neutralise les styles globaux gênants
   ============================================================ */

body:has(.pcse-home-v2026) {
  background: #f7f9fb !important;
}

body:has(.pcse-home-v2026) .entry-content,
body:has(.pcse-home-v2026) .wp-site-blocks,
body:has(.pcse-home-v2026) main.wp-block-group,
body:has(.pcse-home-v2026) .wp-block-post-content,
body:has(.pcse-home-v2026) .is-layout-constrained,
body:has(.pcse-home-v2026) .is-layout-flow {
  max-width: none !important;
  width: 100% !important;
}

body:has(.pcse-home-v2026) .entry-content > *,
body:has(.pcse-home-v2026) .wp-block-post-content > * {
  max-width: none !important;
}

.pcse-home-v2026,
.pcse-home-v2026 * {
  box-sizing: border-box !important;
  text-align: left !important;
  text-align-last: left !important;
  word-spacing: normal !important;
  letter-spacing: normal;
  hyphens: none !important;
}

.pcse-home-v2026 {
  --pcse-blue: #00315f;
  --pcse-blue-2: #006dae;
  --pcse-text: #052545;
  --pcse-muted: #49627d;
  --pcse-border: #cfe3f4;
  --pcse-soft: #f5f9fd;
  --pcse-mint: #d9f5f2;
  --pcse-teal: #007b78;
  --pcse-teal-dark: #00626b;
  --pcse-accent: #16bbb2;

  width: min(1560px, calc(100vw - 44px)) !important;
  max-width: 1560px !important;
  margin: 0 auto !important;
  padding: 46px 0 70px !important;
  color: var(--pcse-text) !important;
  font-family: inherit !important;
}

.pcse-home-v2026 h1,
.pcse-home-v2026 h2,
.pcse-home-v2026 h3,
.pcse-home-v2026 p,
.pcse-home-v2026 ul,
.pcse-home-v2026 li {
  margin-top: 0 !important;
}

.pcse-home-v2026 a {
  color: #006dae !important;
  text-decoration: none !important;
}

.pcse-home-v2026 a:hover {
  text-decoration: underline !important;
}

.pcse-kicker020,
.pcse-tag020 {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  width: fit-content !important;
  max-width: 100% !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  background: var(--pcse-mint) !important;
  color: #00736f !important;
  font-size: 0.62rem !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.02em !important;
  white-space: nowrap !important;
  overflow: visible !important;
}

/* ============================================================
   1. HERO
   ============================================================ */

.pcse-hero020 {
  display: grid !important;
  grid-template-columns: minmax(330px, 0.98fr) minmax(470px, 1.32fr) minmax(300px, 0.88fr) !important;
  gap: 24px !important;
  align-items: stretch !important;
  margin: 0 0 24px !important;
}

.pcse-hero020__text,
.pcse-home-edito-slot020 > *,
.pcse-hero020__image {
  height: 350px !important;
  min-height: 350px !important;
  max-height: 350px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}

.pcse-hero020__text,
.pcse-home-edito-slot020 > * {
  border: 1px solid var(--pcse-border) !important;
  background: #ffffff !important;
  box-shadow: 0 14px 30px rgba(0, 49, 95, 0.055) !important;
}

.pcse-hero020__text {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  padding: 18px 20px !important;
}

.pcse-hero020__text h1 {
  margin: 10px 0 7px !important;
  color: var(--pcse-blue) !important;
  font-size: clamp(1.08rem, 1.10vw, 1.30rem) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.04em !important;
  font-weight: 950 !important;
  text-wrap: balance;
}

.pcse-hero020__lead {
  margin: 0 !important;
  color: var(--pcse-text) !important;
  font-size: 0.92rem !important;
  line-height: 1.34 !important;
  font-weight: 520 !important;
}

.pcse-actions020 {
  margin-top: auto !important;
  display: grid !important;
  grid-template-columns: minmax(118px, 0.82fr) minmax(198px, 1.28fr) !important;
  gap: 10px !important;
  align-items: stretch !important;
}

/* Suppression robuste du premier CTA, même si WordPress modifie ses classes. */
.pcse-actions020 > a:first-of-type,
.pcse-actions020 > a[href*="encyclopedie-du-cse"] {
  display: none !important;
}

.pcse-actions020 > a {
  min-width: 0 !important;
}

.pcse-btn020,
.pcse-home-v2026 .pcse-btn020 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 42px !important;
  height: 42px !important;
  padding: 0 14px !important;
  border-radius: 10px !important;
  font-size: 0.72rem !important;
  line-height: 1.08 !important;
  font-weight: 950 !important;
  text-align: center !important;
  text-align-last: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  transition: transform 160ms ease, box-shadow 160ms ease, filter 160ms ease !important;
}

.pcse-btn020--light {
  background: #ffffff !important;
  color: var(--pcse-blue) !important;
  border: 2px solid var(--pcse-blue) !important;
  box-shadow: 0 5px 14px rgba(0, 49, 95, 0.12) !important;
}

.pcse-actions020 a.pcse-btn020--odj,
.pcse-actions020 a.pcse-btn020--odj:visited,
.pcse-actions020 a.pcse-btn020--accent,
.pcse-actions020 a.pcse-btn020--accent:visited {
  background: linear-gradient(135deg, #18c3be 0%, #089d99 100%) !important;
  color: #ffffff !important;
  border: 2px solid #089d99 !important;
  box-shadow: 0 7px 18px rgba(7, 159, 155, 0.22) !important;
}

.pcse-actions020 a.pcse-btn020--odj *,
.pcse-actions020 a.pcse-btn020--accent * {
  color: #ffffff !important;
}

.pcse-btn020:hover,
.pcse-home-v2026 .pcse-btn020:hover,
.pcse-btn020:focus-visible,
.pcse-home-v2026 .pcse-btn020:focus-visible {
  transform: translateY(-1px) !important;
  filter: brightness(1.01) !important;
  box-shadow: 0 9px 20px rgba(0, 49, 95, 0.18) !important;
  text-decoration: none !important;
  outline: none !important;
}


.pcse-hero020__image {
  position: relative !important;
  background-image:
    linear-gradient(90deg, rgba(255,255,255,0.46) 0%, rgba(255,255,255,0.04) 46%, rgba(255,255,255,0) 100%),
    url('https://images.unsplash.com/photo-1552664730-d307ca884978?auto=format&fit=crop&w=1600&q=86') !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  box-shadow: 0 16px 34px rgba(0, 49, 95, 0.08) !important;
}

.pcse-hero020__image > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Édito dynamique */

.pcse-home-edito-slot020 > * {
  padding: 16px 17px !important;
}

.pcse-hero020__edito,
.pcse-hero020__edito--dynamic {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.pcse-hero020__edito-content {
  flex: 1 1 auto !important;
  height: auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  overflow: hidden !important;
}

.pcse-hero020__author {
  display: flex !important;
  gap: 10px !important;
  align-items: center !important;
  margin: 6px 0 5px !important;
}

.pcse-hero020__author-photo {
  width: 40px !important;
  height: 40px !important;
  flex: 0 0 40px !important;
  border-radius: 999px !important;
  object-fit: cover !important;
}

.pcse-hero020__author-text span,
.pcse-hero020__date {
  display: block !important;
  margin: 0 !important;
  color: var(--pcse-muted) !important;
  font-size: 0.60rem !important;
  line-height: 1.10 !important;
  font-weight: 800 !important;
}

.pcse-hero020__author-text strong {
  display: block !important;
  color: var(--pcse-blue) !important;
  font-size: 0.70rem !important;
  line-height: 1.06 !important;
  font-weight: 950 !important;
}

.pcse-hero020__edito h2,
.pcse-hero020__edito h2 a,
.pcse-hero020__edito--dynamic h2,
.pcse-hero020__edito--dynamic h2 a {
  margin: 4px 0 6px !important;
  color: var(--pcse-blue) !important;
  font-size: 0.88rem !important;
  line-height: 1.08 !important;
  font-weight: 950 !important;
  letter-spacing: -0.02em !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.pcse-hero020__excerpt,
.pcse-hero020__edito p:not(.pcse-hero020__date) {
  margin: 0 0 6px !important;
  color: var(--pcse-text) !important;
  font-size: 0.72rem !important;
  line-height: 1.26 !important;
  font-weight: 520 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.pcse-link020 {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  margin-top: auto !important;
  color: #006dae !important;
  font-size: 0.72rem !important;
  line-height: 1.15 !important;
  font-weight: 950 !important;
}

.pcse-link020::after {
  content: " →";
}

/* ============================================================
   2. GRILLE ÉDITORIALE
   ============================================================ */

.pcse-editorial-grid020 {
  display: grid !important;
  grid-template-columns: minmax(440px, 1.12fr) minmax(420px, 1.02fr) minmax(300px, 0.86fr) !important;
  gap: 24px !important;
  align-items: start !important;
  margin: 0 0 16px !important;
}

.pcse-panel020,
.pcse-side-card020 {
  border: 1px solid var(--pcse-border) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: 0 14px 30px rgba(0, 49, 95, 0.045) !important;
}

.pcse-panel020 {
  padding: 22px !important;
}

.pcse-panel020--featured,
.pcse-panel020--juris {
  min-height: 430px !important;
  height: 430px !important;
  max-height: 430px !important;
  overflow: hidden !important;
}

.pcse-section-head020 {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin: 0 0 20px !important;
}

.pcse-section-head020 h2,
.pcse-panel020 h2,
.pcse-side-card020 h2 {
  margin: 0 !important;
  color: var(--pcse-blue) !important;
  font-size: 1.00rem !important;
  line-height: 1.08 !important;
  font-weight: 950 !important;
  letter-spacing: -0.03em !important;
}

.pcse-section-head020 > a {
  margin-top: 2px !important;
  white-space: nowrap !important;
  color: #006dae !important;
  font-size: 0.72rem !important;
  line-height: 1.15 !important;
  font-weight: 950 !important;
}

.pcse-section-head020 > a::after {
  content: " →";
}

/* Articles */

.pcse-article-list020 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.pcse-article-card020 {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  height: 340px !important;
  max-height: 340px !important;
  overflow: hidden !important;
  border: 1px solid var(--pcse-border) !important;
  border-radius: 15px !important;
  background: var(--pcse-soft) !important;
}

.pcse-article-card020__image,
.pcse-article-card020 img {
  display: block !important;
  width: 100% !important;
  height: 100px !important;
  max-height: 100px !important;
  object-fit: cover !important;
  background-size: cover !important;
  background-position: center !important;
}

.pcse-article-card020 .pcse-tag020 {
  display: none !important;
}

.pcse-article-card020 h2,
.pcse-article-card020 h3,
.pcse-article-card020 h3 a {
  margin: 0 11px 7px !important;
  color: #006dae !important;
  font-size: 0.74rem !important;
  line-height: 1.14 !important;
  font-weight: 950 !important;
}

.pcse-home-v2026 .pcse-panel020--featured .pcse-article-card020 > p {
  margin: 0 11px 10px !important;
  color: var(--pcse-text) !important;
  font-size: 0.64rem !important;
  line-height: 1.30 !important;
  font-weight: 520 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-justify: auto !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 7 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

.pcse-article-card020 .pcse-link020 {
  margin: auto 11px 12px !important;
}

/* Jurisprudences */

.pcse-juris-list020 {
  display: grid !important;
  grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  height: 336px !important;
  min-height: 336px !important;
  max-height: 336px !important;
  overflow: hidden !important;
}

.pcse-juris020 {
  display: grid !important;
  height: 100% !important;
  max-height: none !important;
  grid-template-columns: 32px minmax(0, 1fr) !important;
  gap: 9px !important;
  align-items: start !important;
  min-height: 0 !important;
  padding: 10px !important;
  border: 1px solid var(--pcse-border) !important;
  border-radius: 15px !important;
  background: #ffffff !important;
  overflow: hidden !important;
}

.pcse-juris020__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 12px !important;
  background: var(--pcse-mint) !important;
  font-size: 0.60rem !important;
}

.pcse-juris020 h2,
.pcse-juris020 h3,
.pcse-juris020 h3 a {
  margin: 0 0 4px !important;
  color: #006dae !important;
  font-size: 0.73rem !important;
  line-height: 1.12 !important;
  font-weight: 950 !important;
}

.pcse-juris020 p,
.pcse-juris020 .meta,
.pcse-juris020 [class*="meta"] {
  margin: 0 0 5px !important;
  color: var(--pcse-muted) !important;
  font-size: 0.60rem !important;
  line-height: 1.14 !important;
  font-weight: 520 !important;
}

.pcse-juris020__content {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  height: 100% !important;
}

.pcse-juris020 .pcse-juris020__link {
  margin-top: auto !important;
  font-size: 0.69rem !important;
  line-height: 1.10 !important;
  font-weight: 950 !important;
}

.pcse-sidebar020 {
  display: block !important;
  width: 100% !important;
  height: 430px !important;
}

/* ============================================================
   3. NEWSLETTER BREVO — structure fonctionnelle et compacte
   ============================================================ */

#veille-cse.pcse-newsletter020,
.pcse-home-v2026 #veille-cse.pcse-newsletter020 {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  width: 100% !important;
  height: 430px !important;
  min-height: 430px !important;
  max-height: 430px !important;
  margin: 0 !important;
  padding: 24px !important;
  overflow: hidden !important;
  color: #ffffff !important;
  background: linear-gradient(145deg, #0a8582 0%, #08646f 100%) !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  box-shadow: 0 16px 34px rgba(0, 49, 95, 0.14) !important;
}

#veille-cse.pcse-newsletter020 h2,
.pcse-home-v2026 #veille-cse.pcse-newsletter020 h2 {
  flex: 0 0 auto !important;
  margin: 0 0 14px !important;
  color: #ffffff !important;
  font-size: 1.18rem !important;
  line-height: 1.08 !important;
  font-weight: 950 !important;
}

#veille-cse.pcse-newsletter020 h2::after {
  content: "" !important;
  display: block !important;
  width: 42px !important;
  height: 3px !important;
  margin-top: 10px !important;
  border-radius: 999px !important;
  background: #28d2c8 !important;
}

/* Conteneurs Brevo conservés pour le fonctionnement du script officiel. */
.pcse-newsletter020 .pcse-brevo-root {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.pcse-newsletter020 .pcse-brevo-container {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.pcse-newsletter020 .pcse-brevo-shell {
  display: flex !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  direction: ltr !important;
}

.pcse-newsletter020 .pcse-brevo-form {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 15px !important;
}

.pcse-newsletter020 .pcse-brevo-block,
.pcse-newsletter020 .pcse-brevo-block .sib-form-block,
.pcse-newsletter020 .pcse-brevo-block .form__entry,
.pcse-newsletter020 .pcse-brevo-block .form__label-row {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.pcse-newsletter020 .pcse-brevo-form .entry__label {
  display: block !important;
  margin: 0 0 7px !important;
  color: #ffffff !important;
  font-family: inherit !important;
  font-size: 0.80rem !important;
  line-height: 1.20 !important;
  font-weight: 950 !important;
}

.pcse-newsletter020 .pcse-brevo-form .entry__label[data-required]::after {
  content: " *" !important;
  color: #ffd2cf !important;
}

.pcse-newsletter020 .pcse-brevo-consent-title {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.pcse-newsletter020 .pcse-brevo-form .entry__field {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
}

.pcse-newsletter020 .pcse-brevo-email {
  display: block !important;
  width: 100% !important;
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 1px solid rgba(255,255,255,0.68) !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: var(--pcse-text) !important;
  font-family: inherit !important;
  font-size: 0.72rem !important;
  line-height: 1 !important;
  box-shadow: 0 5px 14px rgba(0,49,95,0.10) !important;
  outline: none !important;
}

.pcse-newsletter020 .pcse-brevo-email::placeholder {
  color: #6c7d8f !important;
  opacity: 1 !important;
}

.pcse-newsletter020 .pcse-brevo-email:focus {
  border-color: #5ff1e8 !important;
  box-shadow: 0 0 0 3px rgba(95,241,232,0.24) !important;
}

.pcse-newsletter020 .entry__specification {
  display: block !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
  color: rgba(255,255,255,0.88) !important;
  font-family: inherit !important;
  font-size: 0.63rem !important;
  line-height: 1.28 !important;
  font-weight: 700 !important;
}

.pcse-newsletter020 .pcse-brevo-choice {
  display: grid !important;
  grid-template-columns: 16px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  cursor: pointer !important;
}

.pcse-newsletter020 .pcse-brevo-checkbox.input_replaced {
  position: static !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 15px !important;
  height: 15px !important;
  min-width: 15px !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  accent-color: var(--pcse-blue) !important;
  cursor: pointer !important;
}

.pcse-newsletter020 .checkbox_tick_positive {
  display: none !important;
}

.pcse-newsletter020 .pcse-brevo-choice-text,
.pcse-newsletter020 .pcse-brevo-choice-text p {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-family: inherit !important;
  font-size: 0.75rem !important;
  line-height: 1.28 !important;
  font-weight: 850 !important;
}

.pcse-newsletter020 .entry__error {
  display: none !important;
  width: 100% !important;
  margin: 6px 0 0 !important;
  padding: 6px 8px !important;
  border: 1px solid rgba(255,210,207,0.72) !important;
  border-radius: 8px !important;
  background: rgba(255,237,237,0.96) !important;
  color: #661d1d !important;
  font-family: inherit !important;
  font-size: 0.62rem !important;
  line-height: 1.25 !important;
  font-weight: 750 !important;
}

.pcse-newsletter020 .entry__error:not(:empty) {
  display: block !important;
}

.pcse-newsletter020 .pcse-brevo-submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: flex-start !important;
  width: auto !important;
  min-width: 160px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 1px 0 0 !important;
  padding: 0 20px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: var(--pcse-blue) !important;
  color: #ffffff !important;
  font-family: inherit !important;
  font-size: 0.84rem !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  text-align: center !important;
  text-align-last: center !important;
  box-shadow: 0 8px 18px rgba(0,35,75,0.22) !important;
  cursor: pointer !important;
  transition: transform 160ms ease, box-shadow 160ms ease !important;
}

.pcse-newsletter020 .pcse-brevo-submit:hover,
.pcse-newsletter020 .pcse-brevo-submit:focus-visible {
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 22px rgba(0,35,75,0.28) !important;
  outline: none !important;
}

.pcse-newsletter020 .pcse-brevo-submit .progress-indicator__icon {
  width: 16px !important;
  height: 16px !important;
  margin: 0 8px 0 0 !important;
  fill: currentColor !important;
}

.pcse-newsletter020 .sib-hide-loader-icon {
  display: none !important;
}

.pcse-newsletter020 .pcse-brevo-message {
  display: none;
  width: 100% !important;
  margin: 0 0 10px !important;
  padding: 9px 10px !important;
  border: 1px solid transparent !important;
  border-radius: 9px !important;
  font-family: inherit !important;
  font-size: 0.62rem !important;
  line-height: 1.28 !important;
  font-weight: 750 !important;
}

.pcse-newsletter020 #error-message.pcse-brevo-message {
  color: #661d1d !important;
  background: #ffeded !important;
  border-color: #ffb7b7 !important;
}

.pcse-newsletter020 #success-message.pcse-brevo-message {
  color: #085229 !important;
  background: #e7faf0 !important;
  border-color: #8fdfb3 !important;
}

.pcse-newsletter020 .sib-form-message-panel__text {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) !important;
  gap: 8px !important;
  align-items: start !important;
}

.pcse-newsletter020 .sib-notification__icon {
  width: 18px !important;
  height: 18px !important;
  fill: currentColor !important;
}

.pcse-newsletter020 .input--hidden {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 900px) {
  #veille-cse.pcse-newsletter020,
  .pcse-home-v2026 #veille-cse.pcse-newsletter020 {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 22px !important;
    overflow: visible !important;
  }

  .pcse-newsletter020 .pcse-brevo-form {
    justify-content: flex-start !important;
  }
}


/* ============================================================
   4. FORMATIONS
   ============================================================ */

.pcse-formations-focus020 {
  margin: 28px 0 !important;
  border-radius: 20px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  box-shadow:
    0 18px 42px rgba(0, 49, 95, 0.09),
    inset 0 1px 0 rgba(255,255,255,0.95) !important;
}

.pcse-formations-focus020__inner {
  display: grid !important;
  grid-template-columns: minmax(250px, 0.8fr) minmax(0, 2.2fr) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

.pcse-formations-focus020__intro,
.pcse-formations-focus020__card {
  min-height: 170px !important;
  height: 170px !important;
  max-height: 170px !important;
  overflow: hidden !important;
  border: 1px solid var(--pcse-border) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
}

.pcse-formations-focus020__intro {
  padding: 11px 13px !important;
  background: linear-gradient(135deg, #f5f9fd, #ffffff) !important;
}

body:not(.archive):not(.blog) .pcse-home-v2026 .pcse-formations-focus020__intro p {
  margin: 0 !important;
  color: var(--pcse-text) !important;
  font-size: 14px !important;
  line-height: 1.22 !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  overflow-wrap: anywhere !important;
}

.pcse-formations-focus020__cards {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.pcse-formations-focus020__card {
  padding: 18px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  color: var(--pcse-text) !important;
  text-decoration: none !important;
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}

.pcse-formations-focus020__card strong {
  color: var(--pcse-blue) !important;
  font-size: 0.78rem !important;
  line-height: 1.20 !important;
  font-weight: 950 !important;
}

.pcse-formations-focus020__card em {
  margin-top: auto !important;
  color: var(--pcse-muted) !important;
  font-size: 0.82rem !important;
  line-height: 1.30 !important;
  font-style: normal !important;
  font-weight: 650 !important;
}

.pcse-formations-focus020__intro,
.pcse-formations-focus020__card,
.pcse-topic020 {
  box-shadow: 0 7px 18px rgba(0, 49, 95, 0.055) !important;
}

.pcse-formations-focus020__card:hover,
.pcse-topic020:hover {
  transform: translateY(-3px) !important;
  border-color: #a9d2eb !important;
  box-shadow: 0 14px 28px rgba(0, 49, 95, 0.12) !important;
  text-decoration: none !important;
}

/* ============================================================
   5. ENCYCLOPÉDIE
   ============================================================ */

.pcse-encyclo020 {
  margin: 28px 0 !important;
  border-radius: 20px !important;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%) !important;
  box-shadow:
    0 18px 42px rgba(0, 49, 95, 0.09),
    inset 0 1px 0 rgba(255,255,255,0.95) !important;
}

.pcse-topic-grid020 {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.pcse-topic020 {
  min-height: 200px !important;
  height: 200px !important;
  max-height: 200px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  padding: 18px !important;
  border: 1px solid var(--pcse-border) !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  color: var(--pcse-text) !important;
  text-decoration: none !important;
  overflow: hidden !important;
}

.pcse-topic020 span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 13px !important;
  background: var(--pcse-mint) !important;
  font-size: 1.05rem !important;
}

.pcse-topic020 strong {
  margin-top: auto !important;
  color: var(--pcse-blue) !important;
  font-size: 0.78rem !important;
  line-height: 1.20 !important;
  font-weight: 950 !important;
}

.pcse-topic020 em {
  color: var(--pcse-muted) !important;
  font-size: 0.82rem !important;
  line-height: 1.30 !important;
  font-style: normal !important;
  font-weight: 650 !important;
}

/* ============================================================
   6. BANDEAU ODJ
   ============================================================ */

.pcse-odj020 {
  display: grid !important;
  grid-template-columns: 230px minmax(0, 1.35fr) minmax(230px, 0.7fr) minmax(220px, 0.7fr) !important;
  gap: 24px !important;
  align-items: center !important;
  margin: 28px 0 0 !important;
  padding: 20px !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #00315f 0%, #004866 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 20px 40px rgba(0, 49, 95, 0.18) !important;
}

.pcse-odj020,
.pcse-odj020 h2,
.pcse-odj020 p,
.pcse-odj020 li,
.pcse-odj020 a {
  color: #ffffff !important;
}

.pcse-odj020__screen,
.pcse-odj020__screen *,
.pcse-odj020 .pcse-odj020__screen li {
  color: #17324d !important;
}

.pcse-odj020__screen {
  padding: 16px !important;
  border-radius: 14px !important;
  background: #ffffff !important;
}

.pcse-odj020__screen span {
  display: block !important;
  margin-bottom: 12px !important;
  color: #082746 !important;
  font-size: 0.80rem !important;
  line-height: 1.20 !important;
  font-weight: 950 !important;
}

.pcse-odj020__screen ul,
.pcse-odj020__checks {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.pcse-odj020__screen li {
  margin: 8px 0 !important;
  padding: 10px !important;
  border-radius: 8px !important;
  background: #eaf2f8 !important;
  color: #17324d !important;
  font-size: 0.76rem !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}

.pcse-odj020__text h2 {
  margin: 0 0 8px !important;
  font-size: 1.45rem !important;
  line-height: 1.12 !important;
  font-weight: 950 !important;
}

.pcse-odj020__text p {
  margin: 0 !important;
  font-size: 1.00rem !important;
  line-height: 1.42 !important;
}

.pcse-odj020__checks li {
  margin: 10px 0 !important;
  font-size: 0.60rem !important;
  font-weight: 850 !important;
}

.pcse-odj020__checks li::before {
  content: "✓";
  margin-right: 8px;
  color: #4fffd8;
}

.pcse-odj020__actions {
  display: grid !important;
  gap: 14px !important;
}

.pcse-btn020--outline-dark {
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,0.55) !important;
}

/* ============================================================
   7. RESPONSIVE
   ============================================================ */

@media (max-width: 1320px) {
  .pcse-home-v2026 {
    width: min(1180px, calc(100vw - 36px)) !important;
  }

  .pcse-hero020,
  .pcse-editorial-grid020 {
    grid-template-columns: 1fr 1fr !important;
  }

  .pcse-hero020__image {
    order: 2;
  }

  .pcse-home-edito-slot020 {
    order: 3;
    grid-column: span 2;
  }

  .pcse-sidebar020 {
    grid-column: span 2;
  }

  .pcse-topic-grid020 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .pcse-odj020 {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 900px) {
  .pcse-home-v2026 {
    width: min(100% - 24px, 760px) !important;
    padding: 32px 0 48px !important;
  }

  .pcse-hero020,
  .pcse-editorial-grid020,
  .pcse-formations-focus020__inner,
  .pcse-formations-focus020__cards,
  .pcse-topic-grid020,
  .pcse-odj020 {
    grid-template-columns: 1fr !important;
  }

  .pcse-home-edito-slot020,
  .pcse-sidebar020 {
    grid-column: auto !important;
  }

  .pcse-hero020__text,
  .pcse-home-edito-slot020 > *,
  .pcse-hero020__image,
  .pcse-panel020--featured,
  .pcse-panel020--juris,
  .pcse-newsletter020,
  .pcse-formations-focus020__intro,
  .pcse-formations-focus020__card,
  .pcse-topic020 {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .pcse-hero020__image {
    min-height: 260px !important;
  }

  .pcse-actions020,
  .pcse-article-list020 {
    grid-template-columns: 1fr !important;
  }
}