.section-texte{
  --text-divider-color: var(--overlay-brand-border);
  position: relative;
}

.section-texte.has-frame{
  margin: var(--frame);
}

.section-texte.is-padding-large{
  padding-block: clamp(64px, 7vw, 120px);
}

.section-texte.is-padding-small{
  padding-block: clamp(36px, 4vw, 64px);
}

.section-texte.has-custom-padding{
  padding: var(--site-pad-top, var(--default-text-pad)) var(--site-pad-right, 0px) var(--site-pad-bottom, var(--default-text-pad)) var(--site-pad-left, 0px);
}

.section-texte.is-padding-large{ --default-text-pad: clamp(64px, 7vw, 120px); }
.section-texte.is-padding-small{ --default-text-pad: clamp(36px, 4vw, 64px); }

.section-texte .container.small{
  width: min(960px, 92%);
  max-width: 960px;
}

.section-texte.has-text-light{
  --text-divider-color: var(--overlay-white-border);
  color: var(--palette-white);
}

.section-texte:is(.bg-dark, .bg-light).has-text-auto{
  --text-divider-color: var(--overlay-white-border);
}

.section-texte.has-text-dark{
  color: var(--color-main);
}

.section-texte .texte-wrap,
.section-texte .texte-bloc{
  position: relative;
}

.section-texte .texte-bloc{
  width: 100%;
}

.section-texte .texte-intro{
  max-width: 1400px;
  margin: 0 auto clamp(24px, 3vw, 42px);
}

.section-texte .texte-intro.is-title-center{
  text-align: center;
}

.section-texte .texte-intro.is-title-left{
  text-align: left;
}

.section-texte .texte-intro.is-content-left .texte-intro__content{
  margin-right: auto;
  margin-left: 0;
  max-width: 1050px;
  text-align: left;
}

.section-texte .texte-intro.is-content-left.has-title .texte-intro__content{
  margin-top: clamp(22px, 2vw, 30px);
}

.section-texte .texte-intro.is-content-center .texte-intro__content{
  max-width: 820px;
  margin: clamp(24px, 3vw, 42px) auto 0;
  text-align: center;
}

.section-texte .texte-intro h2{
  margin: 0;
  color: inherit;
  text-wrap: balance;
}

.section-texte .texte-intro__sub{
  margin-bottom: 1.25rem;
  font-weight: 700;
}

.section-texte .texte-intro__text{
  margin-bottom: 1.5rem;
}

.section-texte .texte-col p,
.section-texte .texte-intro__text p{
  margin-bottom: 1.25em;
}

.section-texte .texte-col :is(h2, h3, h4, h5, h6){ margin-bottom: .65em; }
.section-texte .texte-col :is(p, ul, ol) + :is(h2, h3, h4, h5, h6){ margin-top: 1.4em; }
.section-texte .texte-col h2{ font-size: clamp(1.75rem, 2.3vw, 2.5rem); }
.section-texte .texte-col h3{ font-size: clamp(1.35rem, 1.6vw, 1.75rem); }

.section-texte .texte-intro__text > *:first-child,
.section-texte .texte-col > *:first-child{
  margin-top: 0;
}

.section-texte .texte-intro__text > *:last-child,
.section-texte .texte-col > *:last-child{
  margin-bottom: 0;
}

.section-texte .texte-contenu{
  display: grid;
  gap: clamp(28px, 4vw, 64px);
}

.section-texte .texte-contenu.cols-2{
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 0;
}

.section-texte .texte-contenu > .texte-col{
  display: flex;
  min-width: 0;
  flex-direction: column;
}
.section-texte .texte-contenu.is-vertical-middle > .texte-col{ justify-content: center; }
.section-texte .texte-contenu.is-vertical-bottom > .texte-col{ justify-content: flex-end; }
.section-texte .texte-contenu.has-highlight.cols-2{
  gap: clamp(28px, 4vw, 64px);
}

.section-texte .texte-contenu.cols-2 > .texte-col:first-child{
  padding-right: clamp(32px, 4vw, 72px);
}

.section-texte .texte-contenu.cols-2 > .texte-col + .texte-col{
  padding-left: clamp(32px, 4vw, 72px);
  border-left: 0;
}

.section-texte .texte-contenu.has-highlight.cols-2 > .texte-col:first-child,
.section-texte .texte-contenu.has-highlight.cols-2 > .texte-col + .texte-col{
  padding: 0;
  border: 0;
}
.section-texte .texte-contenu.has-highlight > .texte-col.is-highlighted,
.section-texte .texte-contenu.has-highlight.cols-2 > .texte-col.is-highlighted{
  padding: clamp(30px, 4vw, 64px);
  border-radius: var(--radius-highlight);
}
.section-texte .texte-contenu > .texte-col.is-highlighted > :is(h2,h3):first-child{
  text-align: center;
}
.section-texte .texte-col.is-highlighted h3{
  margin-bottom: 30px;
}

.section-texte .texte-contenu.cols-1{
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
}

.section-texte .texte-bloc:is(.bg-white, .bg-dark, .bg-light, .bg-accent, .bg-accent-light){
  padding: clamp(2rem, 3vw, 3.5rem);
}

.section-texte .texte-bloc.bg-white{
  background: var(--palette-white);
  color: var(--color-main);
}

.section-texte .text p:last-child,
.section-texte .text ul:last-child,
.section-texte .text ol:last-child{
  margin-bottom: 0;
}

@media (max-width: 767px){
  .section-texte.is-padding-large{
    padding-block: 56px;
  }

  .section-texte.is-padding-small{
    padding-block: 36px;
  }

  .section-texte.has-custom-padding{
    padding: var(--site-pad-top, var(--default-text-pad)) var(--site-pad-right, 0px) var(--site-pad-bottom, var(--default-text-pad)) var(--site-pad-left, 0px);
  }

  .section-texte.is-padding-large{ --default-text-pad: 56px; }
  .section-texte.is-padding-small{ --default-text-pad: 36px; }

  .section-texte .texte-intro{
    margin-bottom: 32px;
  }

  .section-texte .texte-contenu.cols-2,
  .section-texte .texte-contenu.cols-1{
    grid-template-columns: minmax(0, 1fr);
    max-width: none;
    gap: 24px;
  }

  .section-texte .texte-contenu.cols-2 > .texte-col:first-child,
  .section-texte .texte-contenu.cols-2 > .texte-col + .texte-col{
    padding-right: 0;
    padding-left: 0;
    border-left: 0;
  }
  .section-texte .texte-contenu.has-highlight.cols-2 > .texte-col.is-highlighted,
  .section-texte .texte-contenu.has-highlight > .texte-col.is-highlighted{
    padding: clamp(26px, 6vw, 44px);
  }

  .section-texte .texte-bloc:is(.bg-white, .bg-dark, .bg-light, .bg-accent, .bg-accent-light){
    padding: 24px;
  }

}

.section-texte .texte-col > .texte-col__button { margin-top: 24px; }
.section-texte .texte-col > :has(+ .texte-col__button) { margin-bottom: 0; }
