/* Encart flottant en bas à droite ; couleurs et typographie surchargées par le thème via les propriétés --campaign-*. */
.wp-campaign-overlay {
  --campaign-accent: #235e6e;
  --campaign-ink: #1d2327;
  --campaign-muted: #50575e;
  --campaign-line: #dcdcde;
  --campaign-media: #f0f0f1;
  --campaign-button: #2271b1;
  --campaign-button-ink: #fff;
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 240;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: min(440px, calc(100vw - 36px));
  overflow: hidden;
  border: 1px solid var(--campaign-line);
  border-top: 3px solid var(--campaign-accent);
  border-radius: 6px;
  background: #fff;
  color: var(--campaign-ink);
  box-shadow: 0 18px 50px rgba(13, 33, 42, 0.22);
}
.wp-campaign-overlay, .wp-campaign-overlay * { box-sizing: border-box; }
.wp-campaign-overlay[hidden] { display: none; }
.wp-campaign-overlay.has-media { grid-template-columns: 128px minmax(0, 1fr); }
.wp-campaign-overlay__media { min-height: 100%; background: var(--campaign-media); }
.wp-campaign-overlay__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.wp-campaign-overlay__body { padding: 1.05rem 2.4rem 1rem 1rem; }
.wp-campaign-overlay__eyebrow { margin: 0 0 0.3rem; font-size: 0.66rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--campaign-accent); }
.wp-campaign-overlay .wp-campaign-overlay__title { margin: 0 0 0.35rem; font-size: 0.95rem; line-height: 1.35; color: var(--campaign-ink); }
.wp-campaign-overlay__text p { margin: 0 0 0.65rem; font-size: 0.75rem; line-height: 1.45; color: var(--campaign-muted); }
.wp-campaign-overlay__actions { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0; }
.wp-campaign-overlay__cta,
.wp-campaign-overlay__later { display: inline-flex; align-items: center; min-height: 34px; padding: 0.45rem 0.7rem; border: 1px solid var(--campaign-button); border-radius: 2px; font: inherit; font-size: 0.76rem; font-weight: 600; line-height: 1.2; text-decoration: none; cursor: pointer; }
.wp-campaign-overlay__cta { background: var(--campaign-button); color: var(--campaign-button-ink); }
.wp-campaign-overlay__later { background: #fff; color: var(--campaign-ink); border-color: var(--campaign-line); }
.wp-campaign-overlay__close { position: absolute; top: 0.45rem; right: 0.45rem; display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; padding: 0; border: 1px solid var(--campaign-line); border-radius: 3px; background: rgba(255, 255, 255, 0.92); color: var(--campaign-ink); cursor: pointer; }
.wp-campaign-overlay :focus-visible { outline: 2px solid var(--campaign-accent); outline-offset: 2px; }
@media (max-width: 560px) {
  .wp-campaign-overlay { right: 8px; bottom: 8px; width: calc(100vw - 16px); }
  .wp-campaign-overlay.has-media { grid-template-columns: 92px minmax(0, 1fr); }
  .wp-campaign-overlay__body { padding: 0.85rem 2.25rem 0.8rem 0.85rem; }
  .wp-campaign-overlay__text { display: none; }
  .wp-campaign-overlay__actions { gap: 0.35rem; }
  .wp-campaign-overlay__cta, .wp-campaign-overlay__later { min-height: 32px; }
}
@media print { .wp-campaign-overlay { display: none; } }
