.cds-editorial-banner {
  --cds-banner-bg: #d46b9d;
  --cds-banner-shape: rgba(255, 255, 255, .2);
  position: relative;
  isolation: isolate;
  box-sizing: border-box;
  width: 100%;
  margin-block: clamp(1.75rem, 3vw, 3.5rem);
  overflow: hidden;
  background: var(--cds-banner-bg);
  color: #fff;
}

.cds-editorial-banner--pink {
  --cds-banner-bg: #d46b9d;
  --cds-banner-shape: rgba(255, 216, 235, .28);
}

.cds-editorial-banner--green {
  --cds-banner-bg: #56a69f;
  --cds-banner-shape: rgba(214, 255, 250, .22);
}

.cds-editorial-banner--height-compact { padding-block: clamp(2.25rem, 4vw, 4rem); }
.cds-editorial-banner--height-standard { padding-block: clamp(3.5rem, 6vw, 6rem); }
.cds-editorial-banner--height-large { padding-block: clamp(5rem, 8vw, 8rem); }

.cds-editorial-banner__inner {
  position: relative;
  z-index: 2;
  width: min(58%, 980px);
  margin-inline: auto;
  text-align: center;
}

.cds-editorial-banner__title,
.cds-editorial-banner__text {
  margin-inline: auto;
  color: inherit;
  text-wrap: balance;
}

.cds-editorial-banner__title {
  max-width: 900px;
  margin-block: 0 clamp(1.5rem, 3vw, 2.75rem);
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 1.08;
  font-weight: 800;
}

.cds-editorial-banner__text {
  max-width: 980px;
  margin-block: 0;
  font-size: clamp(1.05rem, 1.65vw, 1.55rem);
  line-height: 1.35;
  font-weight: 700;
}

.cds-editorial-banner__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin-top: clamp(1.75rem, 3vw, 2.5rem);
  padding: .75rem 1.5rem;
  border: 2px solid #fff;
  border-radius: 999px;
  color: #fff;
  background: transparent;
  font-weight: 700;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.cds-editorial-banner__button:hover,
.cds-editorial-banner__button:focus-visible {
  background: #fff;
  color: var(--cds-banner-bg);
  transform: translateY(-1px);
}

.cds-editorial-banner__decor,
.cds-editorial-banner__shape {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.cds-editorial-banner__shape {
  display: block;
  inset: auto;
  border-radius: 1.2rem;
  background: var(--cds-banner-shape);
}

.cds-editorial-banner--decor-a .cds-editorial-banner__shape--1 { width: 17%; height: 18%; left: 3.5%; top: 22%; transform: rotate(4deg); }
.cds-editorial-banner--decor-a .cds-editorial-banner__shape--2 { width: 12%; height: 45%; right: 3%; top: 7%; transform: rotate(-30deg); }
.cds-editorial-banner--decor-a .cds-editorial-banner__shape--3 { width: 16%; height: 12%; left: 45%; bottom: 4%; transform: rotate(-14deg); }
.cds-editorial-banner--decor-a .cds-editorial-banner__shape--4 { width: 9%; height: 16%; right: 12%; bottom: -8%; transform: rotate(12deg); }

.cds-editorial-banner--decor-b .cds-editorial-banner__shape--1 { width: 15%; height: 55%; left: -.5%; top: 14%; transform: rotate(8deg); }
.cds-editorial-banner--decor-b .cds-editorial-banner__shape--2 { width: 11%; height: 22%; right: 1.5%; top: 4%; transform: rotate(-32deg); }
.cds-editorial-banner--decor-b .cds-editorial-banner__shape--3,
.cds-editorial-banner--decor-b .cds-editorial-banner__shape--4 { display: none; }

.editor-styles-wrapper .cds-editorial-banner {
  max-width: none;
  margin-inline: calc(-1 * var(--wp--style--root--padding-left, 0px));
  width: calc(100% + var(--wp--style--root--padding-left, 0px) + var(--wp--style--root--padding-right, 0px));
}

.editor-styles-wrapper .cds-editorial-banner__url-control { margin-top: 1rem; }
.editor-styles-wrapper .cds-editorial-banner__url-control > p { margin-bottom: .5rem; font-weight: 600; }

@media (max-width: 900px) {
  .cds-editorial-banner__inner { width: min(78%, 760px); }
  .cds-editorial-banner--decor-a .cds-editorial-banner__shape--2 { right: -2%; }
}

@media (max-width: 640px) {
  .cds-editorial-banner { margin-block: 1.5rem; }
  .cds-editorial-banner--height-compact,
  .cds-editorial-banner--height-standard,
  .cds-editorial-banner--height-large { padding-block: 3rem; }
  .cds-editorial-banner__inner { width: min(88%, 560px); }
  .cds-editorial-banner__title { font-size: clamp(1.75rem, 9vw, 2.7rem); }
  .cds-editorial-banner__text { font-size: 1.05rem; }
  .cds-editorial-banner__shape--3,
  .cds-editorial-banner__shape--4 { display: none !important; }
  .cds-editorial-banner--decor-a .cds-editorial-banner__shape--1,
  .cds-editorial-banner--decor-b .cds-editorial-banner__shape--1 { width: 28%; height: 18%; left: -8%; top: 8%; }
  .cds-editorial-banner--decor-a .cds-editorial-banner__shape--2,
  .cds-editorial-banner--decor-b .cds-editorial-banner__shape--2 { width: 26%; height: 18%; right: -9%; top: auto; bottom: 7%; }
}

@media (prefers-reduced-motion: reduce) {
  .cds-editorial-banner__button { transition: none; }
}

/* 6.7.5 — S03 : centrage prioritaire du contenu éditorial. */
.cds-editorial-banner .cds-editorial-banner__inner {
  text-align: center !important;
}

.cds-editorial-banner .cds-editorial-banner__title,
.cds-editorial-banner .cds-editorial-banner__text,
.cds-editorial-banner .cds-editorial-banner__text p,
.editor-styles-wrapper .cds-editorial-banner .cds-editorial-banner__title,
.editor-styles-wrapper .cds-editorial-banner .cds-editorial-banner__text,
.editor-styles-wrapper .cds-editorial-banner .cds-editorial-banner__text p {
  width: 100%;
  text-align: center !important;
}

.cds-editorial-banner .cds-editorial-banner__button,
.editor-styles-wrapper .cds-editorial-banner .cds-editorial-banner__button {
  margin-inline: auto;
}
