.elementor-39070101 .elementor-element.elementor-element-45b32cc{width:100%;max-width:100%;}.elementor-39070101 .elementor-element.elementor-element-1da523f{width:100%;max-width:100%;}.elementor-39070101 .elementor-element.elementor-element-05a473b{width:100%;max-width:100%;}.elementor-39070101 .elementor-element.elementor-element-fe1f53a{width:100%;max-width:100%;}.elementor-39070101 .elementor-element.elementor-element-2f82f57{width:100%;max-width:100%;}.elementor-39070101 .elementor-element.elementor-element-49f6d78{width:100%;max-width:100%;}.elementor-39070101 .elementor-element.elementor-element-96eff1b{width:100%;max-width:100%;}.elementor-39070101 .elementor-element.elementor-element-c0e9cbc{width:100%;max-width:100%;}.elementor-39070101 .elementor-element.elementor-element-5646b64{width:100%;max-width:100%;}/* Start custom CSS for html, class: .elementor-element-2869f1d *//* ==========================================================
   SOFT LOVE — BARRE AVIS GOOGLE
   ========================================================== */

.sl-google-rating {
  position: relative;
  width: 100%;
  background: #ffffff;
  border-top: 1px solid rgba(20, 20, 20, 0.08);
  border-bottom: 1px solid rgba(20, 20, 20, 0.1);
  font-family: Arial, Helvetica, sans-serif;
}

.sl-google-rating *,
.sl-google-rating *::before,
.sl-google-rating *::after {
  box-sizing: border-box;
}

.sl-google-rating__container {
  width: min(100% - 48px, 1360px);
  margin: 0 auto;
}


/* ==========================================================
   LIEN GLOBAL
   ========================================================== */

.sl-google-rating__link {
  display: flex;
  min-height: 118px;
  align-items: center;
  justify-content: center;
  gap: 28px;
  width: 100%;
  margin: 0;
  padding: 28px 0;
  color: #424242;
  text-decoration: none;
}

.sl-google-rating__link:hover,
.sl-google-rating__link:focus,
.sl-google-rating__link:focus-visible {
  color: #424242;
  text-decoration: none;
}


/* ==========================================================
   ÉTOILES
   ========================================================== */

.sl-google-rating__stars {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 2px;
  color: #d5af6a;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 31px;
  line-height: 1;
  letter-spacing: -0.08em;
}

.sl-google-rating__stars span {
  display: block;
}


/* ==========================================================
   NOTE
   ========================================================== */

.sl-google-rating__score {
  display: flex;
  flex: 0 0 auto;
  align-items: baseline;
  gap: 9px;
  white-space: nowrap;
}

.sl-google-rating__score strong {
  color: #3c3c3c;
  font-size: 27px;
  font-weight: 700;
  line-height: 1;
}

.sl-google-rating__score span {
  color: #929292;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.2;
}


/* ==========================================================
   SÉPARATEUR
   ========================================================== */

.sl-google-rating__separator {
  display: block;
  width: 1px;
  height: 36px;
  flex: 0 0 auto;
  background: rgba(20, 20, 20, 0.1);
}


/* ==========================================================
   RECOMMANDATION
   ========================================================== */

.sl-google-rating__recommendation {
  margin: 0;
  color: #8c8c8c;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.35;
  white-space: nowrap;
}


/* ==========================================================
   ACTION
   ========================================================== */

.sl-google-rating__action {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 16px;
  margin-left: 8px;
  color: #d2ad70;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sl-google-rating__arrow {
  display: inline-block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-weight: 400;
  line-height: 1;
  transform: translateY(-2px);
  transition: transform 0.25s ease;
}

.sl-google-rating__link:hover .sl-google-rating__arrow,
.sl-google-rating__link:focus-visible .sl-google-rating__arrow {
  transform: translateY(4px);
}


/* ==========================================================
   ACCESSIBILITÉ
   ========================================================== */

.sl-google-rating__link:focus-visible {
  outline: 2px solid #d2ad70;
  outline-offset: -4px;
}


/* ==========================================================
   RESPONSIVE — TABLETTES
   ========================================================== */

@media (max-width: 1050px) {

  .sl-google-rating__link {
    gap: 20px;
  }

  .sl-google-rating__stars {
    font-size: 27px;
  }

  .sl-google-rating__score strong {
    font-size: 24px;
  }

  .sl-google-rating__score span,
  .sl-google-rating__recommendation {
    font-size: 17px;
  }

  .sl-google-rating__action {
    font-size: 14px;
  }

}


/* ==========================================================
   RESPONSIVE — PETITES TABLETTES
   ========================================================== */

@media (max-width: 820px) {

  .sl-google-rating__container {
    width: min(100% - 36px, 760px);
  }

  .sl-google-rating__link {
    flex-wrap: wrap;
    gap: 16px 22px;
    min-height: auto;
    padding: 28px 0;
  }

  .sl-google-rating__separator {
    display: none;
  }

  .sl-google-rating__recommendation {
    width: 100%;
    text-align: center;
  }

  .sl-google-rating__action {
    margin-left: 0;
  }

}


/* ==========================================================
   RESPONSIVE — MOBILES
   ========================================================== */

@media (max-width: 560px) {

  .sl-google-rating__container {
    width: min(100% - 28px, 520px);
  }

  .sl-google-rating__link {
    flex-direction: column;
    gap: 13px;
    padding: 24px 0;
    text-align: center;
  }

  .sl-google-rating__stars {
    font-size: 27px;
  }

  .sl-google-rating__score {
    gap: 7px;
  }

  .sl-google-rating__score strong {
    font-size: 23px;
  }

  .sl-google-rating__score span {
    font-size: 16px;
  }

  .sl-google-rating__recommendation {
    font-size: 16px;
    line-height: 1.45;
    white-space: normal;
  }

  .sl-google-rating__action {
    gap: 11px;
    font-size: 13px;
  }

  .sl-google-rating__arrow {
    font-size: 23px;
  }

}


/* ==========================================================
   RÉDUCTION DES ANIMATIONS
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

  .sl-google-rating__arrow {
    transition: none;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-573e349 *//* ==========================================================
   SOFT LOVE — SECTION ÉDITORIALE PREMIUM
   ========================================================== */

.sl-story {
  --sl-background-left: #f4f0eb;
  --sl-background-right: #ffffff;
  --sl-text: #171313;
  --sl-text-soft: #6d6560;
  --sl-text-light: #978d87;
  --sl-line: #ded6cf;
  --sl-accent: #c39169;
  --sl-accent-dark: #936345;
  --sl-white: #ffffff;

  --sl-serif:
    "Cormorant Garamond",
    "Times New Roman",
    Georgia,
    serif;

  --sl-sans:
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif;

  position: relative;
  isolation: isolate;

  width: 100vw;
  max-width: 100vw;

  margin-left: calc(50% - 50vw);

  overflow: hidden;

  background:
    linear-gradient(
      90deg,
      var(--sl-background-left) 0%,
      var(--sl-background-left) 46%,
      var(--sl-background-right) 46%,
      var(--sl-background-right) 100%
    );

  color: var(--sl-text);
}


/* ==========================================================
   RESET LOCAL
   ========================================================== */

.sl-story,
.sl-story *,
.sl-story *::before,
.sl-story *::after {
  box-sizing: border-box;
}

.sl-story figure,
.sl-story h2,
.sl-story h3,
.sl-story p,
.sl-story ol,
.sl-story li {
  margin: 0;
  padding: 0;
}

.sl-story ol {
  list-style: none;
}

.sl-story img {
  display: block;

  width: 100%;
  max-width: 100%;
}

.sl-story a {
  color: inherit;
  text-decoration: none;
}


/* ==========================================================
   STRUCTURE PRINCIPALE
   ========================================================== */

.sl-story__layout {
  display: grid;
  grid-template-columns:
    minmax(500px, 0.92fr)
    minmax(620px, 1.08fr);

  align-items: center;

  gap: clamp(80px, 6vw, 130px);

  width: min(100%, 1720px);

  margin: 0 auto;

  padding:
    clamp(110px, 8vw, 165px)
    clamp(48px, 5vw, 96px);
}


/* ==========================================================
   COMPOSITION VISUELLE
   ========================================================== */

.sl-story__visual {
  position: relative;

  min-width: 0;

  padding-top: clamp(130px, 10vw, 190px);
  padding-right: clamp(24px, 3vw, 52px);
}


/* ==========================================================
   IMAGE PRINCIPALE
   ========================================================== */

.sl-story__image--main {
  position: relative;
  z-index: 1;

  width: 100%;
  height: clamp(650px, 48vw, 880px);

  overflow: hidden;

  background: #d9d0c8;
}

.sl-story__image--main::after {
  content: "";

  position: absolute;
  inset: 0;

  pointer-events: none;

  background:
    linear-gradient(
      180deg,
      rgba(20, 14, 12, 0.01),
      rgba(20, 14, 12, 0.08)
    );
}

.sl-story__image--main img {
  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center 48%;

  transition: transform 900ms ease;
}

.sl-story__visual:hover .sl-story__image--main img {
  transform: scale(1.012);
}


/* ==========================================================
   IMAGE SECONDAIRE
   ========================================================== */

.sl-story__image--secondary {
  position: absolute;

  top: 0;
  right: 0;
  z-index: 3;

  width: clamp(210px, 15vw, 280px);
  height: clamp(275px, 20vw, 365px);

  overflow: hidden;

  border: 8px solid var(--sl-white);

  background: var(--sl-white);

  box-shadow:
    0 34px 80px rgba(45, 31, 24, 0.16),
    0 10px 26px rgba(45, 31, 24, 0.08);

  transition:
    transform 400ms ease,
    box-shadow 400ms ease;
}

.sl-story__image--secondary img {
  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center 50%;

  transition: transform 800ms ease;
}

.sl-story__image--secondary:hover {
  transform: translateY(-6px);

  box-shadow:
    0 42px 90px rgba(45, 31, 24, 0.19),
    0 14px 30px rgba(45, 31, 24, 0.1);
}

.sl-story__image--secondary:hover img {
  transform: scale(1.018);
}


/* ==========================================================
   SIGNATURE VERTICALE
   ========================================================== */

.sl-story__signature {
  position: absolute;

  right: 0;
  bottom: 0;
  z-index: 4;

  color: var(--sl-text-light);

  font-family: var(--sl-sans);
  font-size: 9px;
  font-weight: 600;
  line-height: 1;

  letter-spacing: 0.24em;
  text-transform: uppercase;
  white-space: nowrap;

  transform: rotate(-90deg) translateX(100%);
  transform-origin: right bottom;
}


/* ==========================================================
   CONTENU ÉDITORIAL
   ========================================================== */

.sl-story__content {
  width: 100%;
  min-width: 0;

  padding-top: clamp(10px, 2vw, 30px);
}


/* ==========================================================
   INTRODUCTION
   ========================================================== */

.sl-story__intro {
  width: 100%;
  max-width: 820px;

  margin-bottom: clamp(55px, 4vw, 72px);
}


/* ==========================================================
   SUR-TITRE
   ========================================================== */

.sl-story__eyebrow {
  display: flex;
  align-items: center;

  gap: 18px;

  margin-bottom: 28px;

  color: var(--sl-accent-dark);

  font-family: var(--sl-sans);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.4;

  letter-spacing: 0.26em;
  text-transform: uppercase;
}

.sl-story__eyebrow::before {
  content: "";

  width: 44px;
  height: 1px;
  flex: 0 0 44px;

  background: var(--sl-accent);
}


/* ==========================================================
   TITRE PRINCIPAL
   ========================================================== */

.sl-story__title {
  margin-bottom: 35px;

  color: var(--sl-text);

  font-family: var(--sl-serif);
  font-size: clamp(64px, 4.8vw, 92px);
  font-weight: 400;
  line-height: 0.91;

  letter-spacing: -0.045em;
}

.sl-story__title span,
.sl-story__title em {
  display: block;
}

.sl-story__title em {
  margin-top: 9px;
  margin-left: clamp(24px, 3vw, 58px);

  font-weight: 400;
}


/* ==========================================================
   TEXTE D’INTRODUCTION
   ========================================================== */

.sl-story__lead {
  max-width: 750px;

  margin-bottom: 28px;

  color: var(--sl-text-soft);

  font-family: var(--sl-sans);
  font-size: clamp(16px, 1.05vw, 18px);
  font-weight: 300;
  line-height: 1.9;

  overflow-wrap: normal;
  word-break: normal;
}


/* ==========================================================
   LIEN ARTICLE
   ========================================================== */

.sl-story__article {
  position: relative;

  display: inline-flex;
  align-items: center;

  gap: 15px;

  padding-bottom: 9px;

  color: var(--sl-text);

  font-family: var(--sl-sans);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.4;

  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.sl-story__article::after {
  content: "";

  position: absolute;

  right: 0;
  bottom: 0;
  left: 0;

  height: 1px;

  background: var(--sl-accent);

  transform-origin: left;
  transition: transform 300ms ease;
}

.sl-story__article span:last-child {
  color: var(--sl-accent);

  font-size: 17px;
  font-weight: 300;

  transition: transform 300ms ease;
}

.sl-story__article:hover::after {
  transform: scaleX(0.7);
}

.sl-story__article:hover span:last-child {
  transform: translateX(5px);
}


/* ==========================================================
   LISTE DES ÉTAPES
   ========================================================== */

.sl-story__steps {
  width: 100%;

  border-bottom: 1px solid var(--sl-line);
}


/* ==========================================================
   ÉTAPE
   ========================================================== */

.sl-story__step {
  display: grid;
  grid-template-columns:
    46px
    minmax(230px, 0.8fr)
    minmax(280px, 1.2fr);

  align-items: center;

  column-gap: clamp(26px, 2.5vw, 48px);

  min-width: 0;

  padding: clamp(38px, 3vw, 52px) 0;

  border-top: 1px solid var(--sl-line);
}


/* ==========================================================
   NUMÉRO
   ========================================================== */

.sl-story__number {
  align-self: start;

  padding-top: 9px;

  color: var(--sl-accent);

  font-family: var(--sl-serif);
  font-size: 18px;
  font-style: italic;
  line-height: 1;
}


/* ==========================================================
   TITRE D’ÉTAPE
   ========================================================== */

.sl-story__step-heading {
  min-width: 0;
}

.sl-story__step-heading h3 {
  color: var(--sl-text);

  font-family: var(--sl-serif);
  font-size: clamp(46px, 3.35vw, 64px);
  font-weight: 400;
  line-height: 0.88;

  letter-spacing: -0.04em;
}

.sl-story__step-heading span,
.sl-story__step-heading em {
  display: block;
}

.sl-story__step-heading em {
  margin-top: 5px;

  font-weight: 400;
}


/* ==========================================================
   DESCRIPTION D’ÉTAPE
   ========================================================== */

.sl-story__step-text {
  width: 100%;
  max-width: 460px;

  color: var(--sl-text-soft);

  font-family: var(--sl-sans);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.85;

  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}


/* ==========================================================
   PIED DE SECTION
   ========================================================== */

.sl-story__footer {
  display: flex;
  align-items: center;
  flex-wrap: wrap;

  gap: 30px;

  padding-top: 42px;
}


/* ==========================================================
   BOUTON
   ========================================================== */

.sl-story__button,
.sl-story__button:link,
.sl-story__button:visited {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;

  gap: 28px;

  min-width: 330px;
  min-height: 66px;

  padding: 19px 30px;

  border: 1px solid var(--sl-accent);

  background: var(--sl-accent);
  color: var(--sl-white);

  box-shadow:
    0 18px 38px rgba(147, 99, 69, 0.18),
    0 6px 14px rgba(147, 99, 69, 0.08);

  font-family: var(--sl-sans);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.3;

  letter-spacing: 0.2em;
  text-transform: uppercase;

  transition:
    transform 300ms ease,
    color 300ms ease,
    background-color 300ms ease,
    border-color 300ms ease,
    box-shadow 300ms ease;
}

.sl-story__button span:last-child {
  font-size: 18px;
  font-weight: 300;

  transition: transform 300ms ease;
}

.sl-story__button:hover,
.sl-story__button:focus-visible {
  border-color: var(--sl-accent-dark);

  background: transparent;
  color: var(--sl-accent-dark);

  box-shadow: none;

  transform: translateY(-3px);
}

.sl-story__button:hover span:last-child,
.sl-story__button:focus-visible span:last-child {
  transform: translateX(5px);
}


/* ==========================================================
   NOTE
   ========================================================== */

.sl-story__note {
  color: var(--sl-text-light);

  font-family: var(--sl-serif);
  font-size: 16px;
  font-style: italic;
  line-height: 1.5;
}


/* ==========================================================
   ACCESSIBILITÉ
   ========================================================== */

.sl-story a:focus-visible {
  outline: 2px solid var(--sl-accent-dark);
  outline-offset: 5px;
}


/* ==========================================================
   ÉCRANS INTERMÉDIAIRES
   ========================================================== */

@media (max-width: 1350px) {

  .sl-story__layout {
    grid-template-columns:
      minmax(430px, 0.9fr)
      minmax(520px, 1.1fr);

    gap: 70px;

    padding-right: 48px;
    padding-left: 48px;
  }

  .sl-story__visual {
    padding-top: 135px;
  }

  .sl-story__image--main {
    height: 700px;
  }

  .sl-story__image--secondary {
    width: 215px;
    height: 285px;
  }

  .sl-story__title {
    font-size: clamp(58px, 5vw, 76px);
  }

  .sl-story__step {
    grid-template-columns:
      40px
      minmax(190px, 0.85fr)
      minmax(230px, 1.15fr);

    column-gap: 28px;
  }

  .sl-story__step-heading h3 {
    font-size: clamp(42px, 3.5vw, 54px);
  }

  .sl-story__step-text {
    font-size: 14px;
  }
}


/* ==========================================================
   TABLETTES HORIZONTALES
   ========================================================== */

@media (max-width: 1050px) {

  .sl-story {
    background:
      linear-gradient(
        90deg,
        var(--sl-background-left) 0%,
        var(--sl-background-left) 40%,
        var(--sl-background-right) 40%,
        var(--sl-background-right) 100%
      );
  }

  .sl-story__layout {
    grid-template-columns:
      minmax(340px, 0.82fr)
      minmax(420px, 1.18fr);

    gap: 44px;

    padding:
      90px
      30px;
  }

  .sl-story__visual {
    padding-top: 120px;
    padding-right: 22px;
  }

  .sl-story__image--main {
    height: 610px;
  }

  .sl-story__image--secondary {
    width: 180px;
    height: 238px;

    border-width: 6px;
  }

  .sl-story__signature {
    display: none;
  }

  .sl-story__title {
    font-size: 58px;
  }

  .sl-story__step {
    grid-template-columns:
      38px
      minmax(0, 1fr);

    align-items: start;

    row-gap: 24px;
  }

  .sl-story__number {
    grid-column: 1;
    grid-row: 1 / span 2;
  }

  .sl-story__step-heading {
    grid-column: 2;
    grid-row: 1;
  }

  .sl-story__step-text {
    grid-column: 2;
    grid-row: 2;

    max-width: 520px;

    font-size: 15px;
  }

  .sl-story__footer {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 800px) {

  .sl-story {
    background: var(--sl-white);
  }

  .sl-story__layout {
    display: flex;
    flex-direction: column;

    gap: 110px;

    width: 100%;

    padding:
      88px
      20px
      120px;
  }

  .sl-story__visual {
    width: 100%;

    padding-top: clamp(145px, 43vw, 200px);
    padding-right: 25px;
  }

  .sl-story__image--main {
    width: 100%;
    height: clamp(490px, 125vw, 650px);
  }

  .sl-story__image--secondary {
    width: clamp(165px, 46vw, 225px);
    height: clamp(220px, 61vw, 300px);

    border-width: 7px;
  }

  .sl-story__content {
    padding: 0;
  }

  .sl-story__intro {
    margin-bottom: 82px;
  }

  .sl-story__eyebrow {
    margin-bottom: 30px;

    font-size: 9px;
  }

  .sl-story__eyebrow::before {
    width: 36px;
    flex-basis: 36px;
  }

  .sl-story__title {
    margin-bottom: 46px;

    font-size: clamp(52px, 15vw, 75px);
    line-height: 0.93;
  }

  .sl-story__title em {
    margin-top: 12px;
    margin-left: 18px;
  }

  .sl-story__lead {
    margin-bottom: 38px;

    font-size: 16px;
    line-height: 1.95;
  }

  .sl-story__step {
    grid-template-columns:
      40px
      minmax(0, 1fr);

    row-gap: 32px;

    padding: 62px 0 68px;
  }

  .sl-story__step-heading h3 {
    font-size: clamp(43px, 12vw, 56px);
    line-height: 0.92;
  }

  .sl-story__step-text {
    max-width: none;

    font-size: 16px;
    line-height: 1.95;
  }

  .sl-story__footer {
    gap: 28px;

    padding-top: 56px;
  }

  .sl-story__button,
  .sl-story__button:link,
  .sl-story__button:visited {
    width: 100%;
    min-width: 0;
    min-height: 72px;

    padding: 21px 24px;
  }

  .sl-story__note {
    width: 100%;

    font-size: 16px;
    text-align: center;
  }
}


/* ==========================================================
   PETITS MOBILES
   ========================================================== */

@media (max-width: 390px) {

  .sl-story__layout {
    gap: 96px;

    padding:
      78px
      15px
      105px;
  }

  .sl-story__visual {
    padding-top: 140px;
    padding-right: 18px;
  }

  .sl-story__image--main {
    height: 470px;
  }

  .sl-story__image--secondary {
    width: 165px;
    height: 220px;
  }

  .sl-story__intro {
    margin-bottom: 72px;
  }

  .sl-story__title {
    font-size: 50px;
  }

  .sl-story__lead {
    font-size: 15px;
  }

  .sl-story__step {
    grid-template-columns:
      34px
      minmax(0, 1fr);

    column-gap: 15px;
    row-gap: 28px;

    padding: 56px 0 62px;
  }

  .sl-story__step-heading h3 {
    font-size: 40px;
  }

  .sl-story__step-text {
    font-size: 15px;
  }

  .sl-story__button,
  .sl-story__button:link,
  .sl-story__button:visited {
    letter-spacing: 0.16em;
  }
}


/* ==========================================================
   RÉDUCTION DES ANIMATIONS
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

  .sl-story *,
  .sl-story *::before,
  .sl-story *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;

    transition-duration: 0.01ms !important;
  }

  .sl-story__visual:hover .sl-story__image--main img,
  .sl-story__image--secondary:hover,
  .sl-story__image--secondary:hover img,
  .sl-story__button:hover,
  .sl-story__button:hover span:last-child,
  .sl-story__article:hover span:last-child {
    transform: none;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-45b32cc *//* ==========================================================
   SOFT LOVE — BLOC 3 PREMIUM COMPACT
   Fond blanc, noir et doré
   ========================================================== */

.sl-trust-v3 {
  --sl-white: #ffffff;
  --sl-black: #171313;
  --sl-black-soft: #302a27;
  --sl-grey: #6f6762;
  --sl-line: #e5ddd7;
  --sl-gold: #c49369;
  --sl-gold-dark: #946345;
  --sl-gold-light: #eadbcf;

  --sl-serif:
    "Cormorant Garamond",
    Georgia,
    "Times New Roman",
    serif;

  --sl-sans:
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif;

  position: relative;
  isolation: isolate;

  width: 100vw;
  max-width: 100vw;

  margin: 0;
  margin-left: calc(50% - 50vw);

  overflow: hidden;

  background: var(--sl-white);
  color: var(--sl-black);
}


/* ==========================================================
   RESET LOCAL
   ========================================================== */

.sl-trust-v3,
.sl-trust-v3 *,
.sl-trust-v3 *::before,
.sl-trust-v3 *::after {
  box-sizing: border-box;
}

.sl-trust-v3 h2,
.sl-trust-v3 h3,
.sl-trust-v3 p,
.sl-trust-v3 ol,
.sl-trust-v3 li,
.sl-trust-v3 blockquote {
  margin: 0;
  padding: 0;
}

.sl-trust-v3 ol {
  list-style: none;
}

.sl-trust-v3 a {
  color: inherit;
  text-decoration: none;
}


/* ==========================================================
   CONTENEUR PRINCIPAL
   ========================================================== */

.sl-trust-v3__container {
  width: calc(100% - 96px);
  max-width: 1480px;

  margin: 0 auto;

  padding-top: 92px;
  padding-bottom: 92px;
}


/* ==========================================================
   EN-TÊTE
   ========================================================== */

.sl-trust-v3__header {
  display: grid;
  grid-template-columns:
    minmax(500px, 1.12fr)
    minmax(360px, 0.88fr);

  align-items: end;

  gap: 90px;

  width: 100%;

  margin-bottom: 72px;
}


/* ==========================================================
   SUR-TITRE
   ========================================================== */

.sl-trust-v3__eyebrow {
  display: flex !important;
  align-items: center;

  gap: 16px;

  margin-bottom: 24px !important;

  color: var(--sl-gold-dark) !important;

  font-family: var(--sl-sans) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
}

.sl-trust-v3__eyebrow::before {
  content: "";

  display: block;

  width: 42px;
  height: 1px;
  flex: 0 0 42px;

  background: var(--sl-gold);
}


/* ==========================================================
   TITRE PRINCIPAL
   ========================================================== */

.sl-trust-v3__title {
  display: block !important;

  width: 100%;
  max-width: 720px;

  color: var(--sl-black) !important;

  font-family: var(--sl-serif) !important;
  font-size: clamp(68px, 5.4vw, 88px) !important;
  font-weight: 400 !important;
  line-height: 0.9 !important;

  letter-spacing: -0.045em !important;
  text-transform: none !important;
}

.sl-trust-v3__title span,
.sl-trust-v3__title em {
  display: block !important;
}

.sl-trust-v3__title em {
  margin-top: 9px;
  margin-left: 58px;

  font-weight: 400 !important;
}


/* ==========================================================
   INTRODUCTION
   ========================================================== */

.sl-trust-v3__introduction {
  width: 100%;
  max-width: 550px;

  padding-bottom: 5px;

  color: var(--sl-grey) !important;

  font-family: var(--sl-sans) !important;
  font-size: 17px !important;
  font-weight: 300 !important;
  line-height: 1.85 !important;

  letter-spacing: 0 !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}


/* ==========================================================
   ENGAGEMENTS
   ========================================================== */

.sl-trust-v3__commitments {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 60px;

  width: 100%;

  margin-bottom: 72px !important;
}


/* ==========================================================
   ENGAGEMENT
   ========================================================== */

.sl-trust-v3__commitment {
  display: flex !important;
  flex-direction: column;

  min-width: 0;

  padding-top: 24px !important;

  border-top: 1px solid var(--sl-line);
}


/* ==========================================================
   NUMÉRO ET TRAIT
   ========================================================== */

.sl-trust-v3__commitment-top {
  display: flex;
  align-items: center;

  gap: 14px;

  width: 100%;

  margin-bottom: 34px;
}

.sl-trust-v3__number {
  flex: 0 0 auto;

  color: var(--sl-gold) !important;

  font-family: var(--sl-serif) !important;
  font-size: 17px !important;
  font-style: italic;
  font-weight: 400 !important;
  line-height: 1 !important;
}

.sl-trust-v3__rule {
  display: block;

  width: 100%;
  height: 1px;

  background:
    linear-gradient(
      90deg,
      var(--sl-gold) 0%,
      var(--sl-gold-light) 48%,
      transparent 100%
    );
}


/* ==========================================================
   TITRE DES ENGAGEMENTS
   ========================================================== */

.sl-trust-v3__commitment-title {
  display: block !important;

  margin-bottom: 22px !important;

  color: var(--sl-black) !important;

  font-family: var(--sl-serif) !important;
  font-size: clamp(43px, 3.3vw, 55px) !important;
  font-weight: 400 !important;
  line-height: 0.92 !important;

  letter-spacing: -0.035em !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.sl-trust-v3__commitment-title span,
.sl-trust-v3__commitment-title em {
  display: block !important;

  white-space: nowrap;
}

.sl-trust-v3__commitment-title em {
  margin-top: 4px;

  font-weight: 400 !important;
}


/* ==========================================================
   DESCRIPTION DES ENGAGEMENTS
   ========================================================== */

.sl-trust-v3__commitment-text {
  width: 100%;
  max-width: 355px;

  color: var(--sl-grey) !important;

  font-family: var(--sl-sans) !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.8 !important;

  letter-spacing: 0 !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}


/* ==========================================================
   MANIFESTE COMPACT
   ========================================================== */

.sl-trust-v3__manifesto {
  position: relative;

  display: grid;
  grid-template-columns:
    minmax(500px, 1fr)
    minmax(300px, 360px);

  align-items: center;

  gap: 70px;

  width: 100%;

  padding:
    44px
    54px;

  border-top: 1px solid var(--sl-line);
  border-bottom: 1px solid var(--sl-line);

  background: var(--sl-white);
}


/* ==========================================================
   TEXTE DU MANIFESTE
   ========================================================== */

.sl-trust-v3__manifesto-text {
  position: relative;

  min-width: 0;

  padding-left: 36px;
}

.sl-trust-v3__quote-mark {
  position: absolute;

  top: -20px;
  left: -4px;

  color: var(--sl-gold-light);

  font-family: var(--sl-serif);
  font-size: 90px;
  font-weight: 400;
  line-height: 1;

  pointer-events: none;
}

.sl-trust-v3__quote {
  position: relative;
  z-index: 1;

  width: 100%;
  max-width: 850px;

  margin-bottom: 20px !important;

  color: var(--sl-black-soft) !important;

  font-family: var(--sl-serif) !important;
  font-size: clamp(29px, 2.4vw, 39px) !important;
  font-style: italic;
  font-weight: 400 !important;
  line-height: 1.22 !important;

  letter-spacing: -0.02em !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}


/* ==========================================================
   SIGNATURE
   ========================================================== */

.sl-trust-v3__signature {
  display: flex;
  align-items: center;

  gap: 13px;

  color: var(--sl-gold-dark) !important;

  font-family: var(--sl-sans) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
}

.sl-trust-v3__signature::before {
  content: "";

  display: block;

  width: 38px;
  height: 1px;
  flex: 0 0 38px;

  background: var(--sl-gold);
}


/* ==========================================================
   BOUTON
   ========================================================== */

.sl-trust-v3__button,
.sl-trust-v3__button:link,
.sl-trust-v3__button:visited {
  display: inline-flex !important;
  align-items: center;
  justify-content: space-between;

  gap: 24px;

  width: 100%;
  min-height: 64px;

  padding: 18px 26px;

  border: 1px solid var(--sl-black);

  background: var(--sl-black);
  color: var(--sl-white) !important;

  font-family: var(--sl-sans) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;

  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;

  cursor: pointer;

  transition:
    color 300ms ease,
    background-color 300ms ease,
    border-color 300ms ease,
    transform 300ms ease;
}

.sl-trust-v3__button span:last-child {
  color: var(--sl-gold);

  font-size: 19px;
  font-weight: 300;
  line-height: 1;

  transition: transform 300ms ease;
}

.sl-trust-v3__button:hover,
.sl-trust-v3__button:focus-visible {
  border-color: var(--sl-gold-dark);

  background: var(--sl-white);
  color: var(--sl-gold-dark) !important;

  transform: translateY(-3px);
}

.sl-trust-v3__button:hover span:last-child,
.sl-trust-v3__button:focus-visible span:last-child {
  transform: translateX(5px);
}


/* ==========================================================
   ACCESSIBILITÉ
   ========================================================== */

.sl-trust-v3 a:focus-visible {
  outline: 2px solid var(--sl-gold-dark);
  outline-offset: 5px;
}


/* ==========================================================
   ORDINATEURS PORTABLES
   ========================================================== */

@media (max-width: 1200px) {

  .sl-trust-v3__container {
    width: calc(100% - 64px);

    padding-top: 82px;
    padding-bottom: 82px;
  }

  .sl-trust-v3__header {
    grid-template-columns:
      minmax(430px, 1fr)
      minmax(320px, 0.8fr);

    gap: 60px;

    margin-bottom: 62px;
  }

  .sl-trust-v3__title {
    font-size: 72px !important;
  }

  .sl-trust-v3__commitments {
    gap: 38px;

    margin-bottom: 64px !important;
  }

  .sl-trust-v3__commitment-title {
    font-size: 46px !important;
  }

  .sl-trust-v3__manifesto {
    grid-template-columns:
      minmax(420px, 1fr)
      minmax(280px, 330px);

    gap: 45px;

    padding:
      40px
      42px;
  }
}


/* ==========================================================
   TABLETTES
   ========================================================== */

@media (max-width: 900px) {

  .sl-trust-v3__container {
    width: calc(100% - 48px);
  }

  .sl-trust-v3__header {
    grid-template-columns: 1fr;

    gap: 36px;

    margin-bottom: 65px;
  }

  .sl-trust-v3__title {
    max-width: 680px;

    font-size: 66px !important;
  }

  .sl-trust-v3__introduction {
    max-width: 650px;
  }

  .sl-trust-v3__commitments {
    grid-template-columns: 1fr;

    gap: 0;
  }

  .sl-trust-v3__commitment {
    display: grid !important;
    grid-template-columns:
      minmax(190px, 0.6fr)
      minmax(300px, 1.4fr);

    align-items: start;

    column-gap: 46px;

    padding-top: 34px !important;
    padding-bottom: 42px !important;
  }

  .sl-trust-v3__commitment-top {
    grid-column: 1 / -1;

    margin-bottom: 30px;
  }

  .sl-trust-v3__commitment-title {
    margin-bottom: 0 !important;
  }

  .sl-trust-v3__commitment-text {
    max-width: 520px;
  }

  .sl-trust-v3__manifesto {
    grid-template-columns: 1fr;

    gap: 34px;

    padding:
      46px
      38px;
  }

  .sl-trust-v3__manifesto-text {
    padding-left: 30px;
  }

  .sl-trust-v3__button {
    max-width: 360px;
  }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 700px) {

  .sl-trust-v3__container {
    width: calc(100% - 40px);

    padding-top: 75px;
    padding-bottom: 82px;
  }

  .sl-trust-v3__header {
    gap: 32px;

    margin-bottom: 68px;
  }

  .sl-trust-v3__eyebrow {
    margin-bottom: 24px !important;

    font-size: 9px !important;
  }

  .sl-trust-v3__eyebrow::before {
    width: 34px;
    flex-basis: 34px;
  }

  .sl-trust-v3__title {
    font-size: 53px !important;
    line-height: 0.93 !important;
  }

  .sl-trust-v3__title em {
    margin-top: 9px;
    margin-left: 17px;
  }

  .sl-trust-v3__introduction {
    font-size: 16px !important;
    line-height: 1.9 !important;
  }

  .sl-trust-v3__commitments {
    margin-bottom: 62px !important;
  }

  .sl-trust-v3__commitment {
    display: block !important;

    padding-top: 30px !important;
    padding-bottom: 54px !important;
  }

  .sl-trust-v3__commitment-top {
    margin-bottom: 32px;
  }

  .sl-trust-v3__commitment-title {
    margin-bottom: 22px !important;

    font-size: 46px !important;
  }

  .sl-trust-v3__commitment-title span,
  .sl-trust-v3__commitment-title em {
    white-space: normal;
  }

  .sl-trust-v3__commitment-text {
    max-width: none;

    font-size: 15px !important;
    line-height: 1.9 !important;
  }

  .sl-trust-v3__manifesto {
    gap: 34px;

    padding:
      43px
      22px
      24px;
  }

  .sl-trust-v3__manifesto-text {
    padding-left: 22px;
  }

  .sl-trust-v3__quote-mark {
    top: -16px;
    left: -6px;

    font-size: 78px;
  }

  .sl-trust-v3__quote {
    font-size: 30px !important;
    line-height: 1.27 !important;
  }

  .sl-trust-v3__button,
  .sl-trust-v3__button:link,
  .sl-trust-v3__button:visited {
    width: 100%;
    max-width: none;
    min-height: 70px;

    padding:
      20px
      22px;
  }
}


/* ==========================================================
   PETITS MOBILES
   ========================================================== */

@media (max-width: 390px) {

  .sl-trust-v3__container {
    width: calc(100% - 30px);

    padding-top: 68px;
    padding-bottom: 74px;
  }

  .sl-trust-v3__title {
    font-size: 47px !important;
  }

  .sl-trust-v3__introduction,
  .sl-trust-v3__commitment-text {
    font-size: 15px !important;
  }

  .sl-trust-v3__commitment-title {
    font-size: 42px !important;
  }

  .sl-trust-v3__quote {
    font-size: 27px !important;
  }

  .sl-trust-v3__button,
  .sl-trust-v3__button:link,
  .sl-trust-v3__button:visited {
    gap: 14px;

    padding-right: 18px;
    padding-left: 18px;

    font-size: 9px !important;
    letter-spacing: 0.15em !important;
  }
}


/* ==========================================================
   RÉDUCTION DES ANIMATIONS
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

  .sl-trust-v3 *,
  .sl-trust-v3 *::before,
  .sl-trust-v3 *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1da523f *//* ==========================================================
   SOFT LOVE — BLOC IMMERSIF LOVE COACH
   Photographie pleine largeur et contenu compact
   ========================================================== */

.sl-immersive-demo {
  --sl-immersive-white: #ffffff;
  --sl-immersive-black: #171313;
  --sl-immersive-gold: #c49369;
  --sl-immersive-gold-light: #eadbcf;
  --sl-immersive-line: rgba(255, 255, 255, 0.28);
  --sl-immersive-text: rgba(255, 255, 255, 0.82);
  --sl-immersive-muted: rgba(255, 255, 255, 0.62);

  --sl-immersive-serif:
    "Cormorant Garamond",
    Georgia,
    "Times New Roman",
    serif;

  --sl-immersive-sans:
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif;

  position: relative;
  isolation: isolate;

  width: 100vw;
  min-height: clamp(610px, 68vw, 840px);

  margin: 0;
  margin-left: calc(50% - 50vw);

  overflow: hidden;

  background: var(--sl-immersive-black);
  color: var(--sl-immersive-white);
}


/* ==========================================================
   RESET LOCAL
   ========================================================== */

.sl-immersive-demo,
.sl-immersive-demo *,
.sl-immersive-demo *::before,
.sl-immersive-demo *::after {
  box-sizing: border-box;
}

.sl-immersive-demo h2,
.sl-immersive-demo p {
  margin: 0;
  padding: 0;
}

.sl-immersive-demo a {
  color: inherit;
  text-decoration: none;
}


/* ==========================================================
   IMAGE
   ========================================================== */

.sl-immersive-demo__media {
  position: absolute;
  z-index: -2;

  inset: 0;
}

.sl-immersive-demo__image {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center 45%;
}


/* ==========================================================
   SUPERPOSITION
   ========================================================== */

.sl-immersive-demo__overlay {
  position: absolute;

  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(17, 13, 13, 0.94) 0%,
      rgba(17, 13, 13, 0.82) 32%,
      rgba(17, 13, 13, 0.38) 63%,
      rgba(17, 13, 13, 0.12) 100%
    ),
    linear-gradient(
      0deg,
      rgba(17, 13, 13, 0.46) 0%,
      rgba(17, 13, 13, 0) 45%
    );
}


/* ==========================================================
   CONTENEUR
   ========================================================== */

.sl-immersive-demo__container {
  position: relative;

  display: flex;
  flex-direction: column;
  justify-content: center;

  width: calc(100% - 96px);
  max-width: 1480px;
  min-height: inherit;

  margin: 0 auto;

  padding-top: 68px;
  padding-bottom: 68px;
}


/* ==========================================================
   CONTENU
   ========================================================== */

.sl-immersive-demo__content {
  width: min(100%, 700px);

  padding:
    34px
    38px
    36px;

  border-top: 1px solid var(--sl-immersive-line);
  border-bottom: 1px solid var(--sl-immersive-line);

  background: rgba(17, 13, 13, 0.12);

  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}


/* ==========================================================
   SUR-TITRE
   ========================================================== */

.sl-immersive-demo__eyebrow {
  display: flex !important;
  align-items: center;

  gap: 14px;

  margin-bottom: 18px !important;

  color: var(--sl-immersive-gold-light) !important;

  font-family: var(--sl-immersive-sans) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  letter-spacing: 0.23em !important;
  text-transform: uppercase !important;
}

.sl-immersive-demo__eyebrow::before {
  content: "";

  width: 36px;
  height: 1px;
  flex: 0 0 36px;

  background: var(--sl-immersive-gold);
}


/* ==========================================================
   TITRE
   ========================================================== */

.sl-immersive-demo__title {
  display: block !important;

  width: 100%;
  max-width: 640px;

  color: var(--sl-immersive-white) !important;

  font-family: var(--sl-immersive-serif) !important;
  font-size: clamp(51px, 4.5vw, 72px) !important;
  font-weight: 400 !important;
  line-height: 0.94 !important;

  letter-spacing: -0.043em !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.sl-immersive-demo__title span,
.sl-immersive-demo__title em {
  display: block !important;
}

.sl-immersive-demo__title em {
  margin-top: 7px;
  margin-left: 34px;

  color: var(--sl-immersive-gold-light) !important;

  font-weight: 400 !important;
}


/* ==========================================================
   DESCRIPTION
   ========================================================== */

.sl-immersive-demo__description {
  width: 100%;
  max-width: 550px;

  margin-top: 22px !important;

  color: var(--sl-immersive-text) !important;

  font-family: var(--sl-immersive-sans) !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.72 !important;

  letter-spacing: 0 !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}


/* ==========================================================
   INFORMATIONS CLÉS
   ========================================================== */

.sl-immersive-demo__details {
  display: grid;
  grid-template-columns:
    minmax(0, 1.08fr)
    minmax(0, 1.22fr)
    minmax(0, 0.7fr);

  width: 100%;

  margin-top: 26px;
  margin-bottom: 27px;

  border-top: 1px solid var(--sl-immersive-line);
  border-bottom: 1px solid var(--sl-immersive-line);
}

.sl-immersive-demo__detail {
  display: flex;
  flex-direction: column;
  align-items: flex-start;

  min-width: 0;
  min-height: 100px;

  padding:
    16px
    18px;
}

.sl-immersive-demo__detail:first-child {
  padding-left: 0;
}

.sl-immersive-demo__detail:last-child {
  padding-right: 0;
}

.sl-immersive-demo__detail + .sl-immersive-demo__detail {
  border-left: 1px solid var(--sl-immersive-line);
}

.sl-immersive-demo__detail-number {
  display: block;
  flex: 0 0 auto;

  margin-bottom: 7px;

  color: var(--sl-immersive-gold);

  font-family: var(--sl-immersive-serif);
  font-size: 15px;
  font-style: italic;
  line-height: 1;
}

.sl-immersive-demo__detail p {
  color: var(--sl-immersive-white) !important;

  font-family: var(--sl-immersive-sans) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;

  letter-spacing: 0.015em !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.sl-immersive-demo__detail p br {
  display: block;

  content: "";

  margin-top: 3px;
}


/* ==========================================================
   BOUTON
   ========================================================== */

.sl-immersive-demo__button,
.sl-immersive-demo__button:link,
.sl-immersive-demo__button:visited,
.sl-immersive-demo .ask-presentation-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: space-between;

  gap: 28px;

  width: min(100%, 390px);
  min-height: 64px;

  margin: 0 !important;

  padding:
    18px
    22px !important;

  border: 1px solid var(--sl-immersive-gold) !important;
  border-radius: 0 !important;

  background: var(--sl-immersive-gold) !important;
  color: var(--sl-immersive-black) !important;

  box-shadow: none !important;

  font-family: var(--sl-immersive-sans) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  letter-spacing: 0.16em !important;
  text-align: left !important;
  text-transform: uppercase !important;

  cursor: pointer;

  transition:
    color 280ms ease,
    background-color 280ms ease,
    border-color 280ms ease,
    transform 280ms ease !important;
}

.sl-immersive-demo__button span:first-child {
  min-width: 0;
}

.sl-immersive-demo__button span:last-child {
  flex: 0 0 auto;

  font-size: 20px;
  font-weight: 300;
  line-height: 1;

  transition: transform 280ms ease;
}

.sl-immersive-demo__button:hover,
.sl-immersive-demo__button:focus-visible,
.sl-immersive-demo .ask-presentation-btn:hover,
.sl-immersive-demo .ask-presentation-btn:focus-visible {
  background: transparent !important;
  color: var(--sl-immersive-white) !important;

  transform: translateY(-3px);
}

.sl-immersive-demo__button:hover span:last-child,
.sl-immersive-demo__button:focus-visible span:last-child {
  color: var(--sl-immersive-gold);

  transform: translateX(5px);
}


/* ==========================================================
   LÉGENDE
   ========================================================== */

.sl-immersive-demo__caption {
  position: absolute;

  right: 0;
  bottom: 27px;

  max-width: 500px;

  color: var(--sl-immersive-muted) !important;

  font-family: var(--sl-immersive-sans) !important;
  font-size: 9px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;

  letter-spacing: 0.16em !important;
  text-align: right !important;
  text-transform: uppercase !important;
}


/* ==========================================================
   ACCESSIBILITÉ
   ========================================================== */

.sl-immersive-demo a:focus-visible {
  outline: 2px solid var(--sl-immersive-gold-light);
  outline-offset: 5px;
}


/* ==========================================================
   ORDINATEURS PORTABLES
   ========================================================== */

@media (max-width: 1200px) {

  .sl-immersive-demo {
    min-height: 710px;
  }

  .sl-immersive-demo__container {
    width: calc(100% - 64px);

    padding-top: 58px;
    padding-bottom: 58px;
  }

  .sl-immersive-demo__content {
    width: min(100%, 650px);

    padding:
      31px
      33px
      33px;
  }

  .sl-immersive-demo__title {
    font-size: 62px !important;
  }

  .sl-immersive-demo__details {
    grid-template-columns:
      minmax(0, 1.05fr)
      minmax(0, 1.2fr)
      minmax(0, 0.75fr);
  }

  .sl-immersive-demo__detail {
    min-height: 104px;

    padding-right: 15px;
    padding-left: 15px;
  }

  .sl-immersive-demo__detail:first-child {
    padding-left: 0;
  }

  .sl-immersive-demo__detail:last-child {
    padding-right: 0;
  }

}


/* ==========================================================
   TABLETTES
   ========================================================== */

@media (max-width: 950px) {

  .sl-immersive-demo {
    min-height: 740px;
  }

  .sl-immersive-demo__image {
    object-position: 62% center;
  }

  .sl-immersive-demo__overlay {
    background:
      linear-gradient(
        90deg,
        rgba(17, 13, 13, 0.92) 0%,
        rgba(17, 13, 13, 0.78) 48%,
        rgba(17, 13, 13, 0.32) 100%
      ),
      linear-gradient(
        0deg,
        rgba(17, 13, 13, 0.48) 0%,
        rgba(17, 13, 13, 0) 48%
      );
  }

  .sl-immersive-demo__container {
    width: calc(100% - 48px);
  }

  .sl-immersive-demo__content {
    width: min(100%, 620px);
  }

  .sl-immersive-demo__title {
    font-size: 57px !important;
  }

  .sl-immersive-demo__details {
    grid-template-columns:
      minmax(0, 1fr)
      minmax(0, 1.18fr)
      minmax(0, 0.72fr);
  }

  .sl-immersive-demo__detail {
    min-height: 108px;

    padding-right: 14px;
    padding-left: 14px;
  }

  .sl-immersive-demo__detail:first-child {
    padding-left: 0;
  }

  .sl-immersive-demo__detail:last-child {
    padding-right: 0;
  }

  .sl-immersive-demo__detail p {
    font-size: 10.5px !important;
  }

  .sl-immersive-demo__caption {
    position: static;

    max-width: 620px;

    margin-top: 20px !important;

    text-align: left !important;
  }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 700px) {

  .sl-immersive-demo {
    min-height: 820px;
  }

  .sl-immersive-demo__image {
    object-position: 68% center;
  }

  .sl-immersive-demo__overlay {
    background:
      linear-gradient(
        0deg,
        rgba(17, 13, 13, 0.96) 0%,
        rgba(17, 13, 13, 0.88) 49%,
        rgba(17, 13, 13, 0.28) 100%
      );
  }

  .sl-immersive-demo__container {
    justify-content: flex-end;

    width: calc(100% - 40px);

    padding-top: 180px;
    padding-bottom: 37px;
  }

  .sl-immersive-demo__content {
    width: 100%;

    padding:
      27px
      0
      0;

    border-bottom: 0;

    background: transparent;

    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .sl-immersive-demo__eyebrow {
    margin-bottom: 15px !important;
  }

  .sl-immersive-demo__eyebrow::before {
    width: 31px;
    flex-basis: 31px;
  }

  .sl-immersive-demo__title {
    font-size: 45px !important;
    line-height: 0.97 !important;
  }

  .sl-immersive-demo__title em {
    margin-top: 6px;
    margin-left: 14px;
  }

  .sl-immersive-demo__description {
    margin-top: 18px !important;

    font-size: 14px !important;
    line-height: 1.7 !important;
  }

  .sl-immersive-demo__details {
    grid-template-columns: 1fr;

    margin-top: 21px;
    margin-bottom: 22px;
  }

  .sl-immersive-demo__detail,
  .sl-immersive-demo__detail:first-child,
  .sl-immersive-demo__detail:last-child {
    display: grid;
    grid-template-columns:
      30px
      minmax(0, 1fr);

    align-items: start;

    gap: 10px;

    min-height: 0;

    padding:
      12px
      0;
  }

  .sl-immersive-demo__detail + .sl-immersive-demo__detail {
    border-top: 1px solid var(--sl-immersive-line);
    border-left: 0;
  }

  .sl-immersive-demo__detail-number {
    margin-top: 2px;
    margin-bottom: 0;
  }

  .sl-immersive-demo__detail p {
    font-size: 12px !important;
    line-height: 1.55 !important;
  }

  .sl-immersive-demo__detail p br {
    margin-top: 2px;
  }

  .sl-immersive-demo__button,
  .sl-immersive-demo__button:link,
  .sl-immersive-demo__button:visited,
  .sl-immersive-demo .ask-presentation-btn {
    width: 100%;
    min-height: 66px;

    padding:
      18px
      19px !important;

    font-size: 9px !important;
    letter-spacing: 0.13em !important;
  }

  .sl-immersive-demo__caption {
    margin-top: 15px !important;

    font-size: 8px !important;
    letter-spacing: 0.12em !important;
  }

}


/* ==========================================================
   PETITS MOBILES
   ========================================================== */

@media (max-width: 390px) {

  .sl-immersive-demo {
    min-height: 800px;
  }

  .sl-immersive-demo__container {
    width: calc(100% - 30px);

    padding-bottom: 31px;
  }

  .sl-immersive-demo__title {
    font-size: 40px !important;
  }

  .sl-immersive-demo__detail p {
    font-size: 11.5px !important;
  }

  .sl-immersive-demo__button,
  .sl-immersive-demo__button:link,
  .sl-immersive-demo__button:visited,
  .sl-immersive-demo .ask-presentation-btn {
    gap: 12px;

    padding-right: 16px !important;
    padding-left: 16px !important;

    font-size: 8px !important;
    letter-spacing: 0.1em !important;
  }

}


/* ==========================================================
   RÉDUCTION DES ANIMATIONS
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

  .sl-immersive-demo *,
  .sl-immersive-demo *::before,
  .sl-immersive-demo *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-343d45b *//* ==========================================================
   SOFT LOVE — VOS GARANTIES
   Bloc éditorial premium
   ========================================================== */

.sl-guarantees {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #ffffff;
  color: #171717;
  font-family: Arial, Helvetica, sans-serif;
}

.sl-guarantees *,
.sl-guarantees *::before,
.sl-guarantees *::after {
  box-sizing: border-box;
}

.sl-guarantees__container {
  width: min(100% - 48px, 1360px);
  margin: 0 auto;
  padding: 96px 0;
}


/* ==========================================================
   EN-TÊTE
   ========================================================== */

.sl-guarantees__header {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.75fr);
  gap: clamp(60px, 8vw, 130px);
  align-items: end;
  padding-bottom: 56px;
  border-bottom: 1px solid rgba(23, 23, 23, 0.16);
}

.sl-guarantees__heading {
  max-width: 760px;
}

.sl-guarantees__eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 22px;
  color: #9b7b3f;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.sl-guarantees__eyebrow::before {
  width: 38px;
  height: 1px;
  flex: 0 0 auto;
  background: #b39761;
  content: "";
}

.sl-guarantees__title {
  margin: 0;
  color: #151515;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(44px, 5vw, 76px);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.045em;
}

.sl-guarantees__title span,
.sl-guarantees__title em {
  display: block;
}

.sl-guarantees__title em {
  margin-top: 8px;
  color: #9b7b3f;
  font-weight: 400;
}

.sl-guarantees__introduction {
  max-width: 520px;
  padding-bottom: 4px;
}

.sl-guarantees__introduction p {
  margin: 0;
  color: #3a3a3a;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75;
}

.sl-guarantees__introduction-note {
  margin-top: 18px !important;
  padding-left: 22px;
  border-left: 1px solid #b39761;
  color: #686868 !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}


/* ==========================================================
   CONTENU PRINCIPAL
   ========================================================== */

.sl-guarantees__content {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(320px, 0.65fr);
  gap: clamp(55px, 7vw, 110px);
  align-items: start;
  padding-top: 58px;
}


/* ==========================================================
   LISTE DES GARANTIES
   ========================================================== */

.sl-guarantees__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(23, 23, 23, 0.16);
}

.sl-guarantees__item {
  position: relative;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 18px;
  min-height: 270px;
  margin: 0;
  padding: 34px 34px 34px 0;
  border-bottom: 1px solid rgba(23, 23, 23, 0.16);
}

.sl-guarantees__item:nth-child(odd) {
  padding-right: 42px;
  border-right: 1px solid rgba(23, 23, 23, 0.16);
}

.sl-guarantees__item:nth-child(even) {
  padding-left: 42px;
}

.sl-guarantees__number {
  display: block;
  padding-top: 4px;
  color: #9b7b3f;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.08em;
}

.sl-guarantees__item-content {
  min-width: 0;
}

.sl-guarantees__item-title {
  margin: 0 0 16px;
  color: #171717;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(23px, 2vw, 30px);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.025em;
}

.sl-guarantees__item-text,
.sl-guarantees__item-note {
  margin: 0;
  color: #4b4b4b;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.72;
}

.sl-guarantees__item-note {
  margin-top: 12px;
  color: #757575;
}


/* ==========================================================
   ENCART ÉDITORIAL
   ========================================================== */

.sl-guarantees__statement {
  position: sticky;
  top: 32px;
  display: flex;
  min-height: 500px;
  flex-direction: column;
  justify-content: space-between;
  padding: 46px 42px 42px;
  background: #171717;
  color: #ffffff;
}

.sl-guarantees__statement-content {
  max-width: 360px;
}

.sl-guarantees__statement-label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 48px;
  color: #c7aa72;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.sl-guarantees__statement-label::before {
  width: 30px;
  height: 1px;
  flex: 0 0 auto;
  background: #c7aa72;
  content: "";
}

.sl-guarantees__statement-text {
  margin: 0;
  color: #ffffff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 3vw, 48px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.04em;
}

.sl-guarantees__statement-text em {
  display: block;
  margin-top: 8px;
  color: #c7aa72;
  font-weight: 400;
}

.sl-guarantees__statement-description {
  margin: 28px 0 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.75;
}


/* ==========================================================
   BOUTON — CORRECTION DU CONFLIT PRESTASHOP
   ========================================================== */

.sl-guarantees
a.sl-guarantees__button.ask-presentation-btn {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  width: 100% !important;
  min-height: 58px !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  margin: 48px 0 0 !important;
  padding: 17px 20px !important;
  border: 1px solid rgba(255, 255, 255, 0.65) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #ffffff !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.14em !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-align: left !important;
  text-decoration: none !important;
  text-indent: 0 !important;
  text-transform: uppercase !important;
  -webkit-text-fill-color: #ffffff !important;
  transition:
    background-color 0.3s ease,
    border-color 0.3s ease,
    color 0.3s ease !important;
}

.sl-guarantees
a.sl-guarantees__button.ask-presentation-btn
.sl-guarantees__button-label,
.sl-guarantees
a.sl-guarantees__button.ask-presentation-btn
.sl-guarantees__button-arrow {
  position: relative !important;
  z-index: 3 !important;
  display: inline-block !important;
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-decoration: none !important;
  -webkit-text-fill-color: #ffffff !important;
}

.sl-guarantees
a.sl-guarantees__button.ask-presentation-btn
.sl-guarantees__button-label {
  max-width: calc(100% - 45px);
}

.sl-guarantees
a.sl-guarantees__button.ask-presentation-btn
.sl-guarantees__button-arrow {
  flex: 0 0 auto;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  transition: transform 0.3s ease;
}

.sl-guarantees
a.sl-guarantees__button.ask-presentation-btn:hover,
.sl-guarantees
a.sl-guarantees__button.ask-presentation-btn:focus,
.sl-guarantees
a.sl-guarantees__button.ask-presentation-btn:focus-visible {
  border-color: #ffffff !important;
  background: #ffffff !important;
  color: #171717 !important;
  text-decoration: none !important;
  -webkit-text-fill-color: #171717 !important;
}

.sl-guarantees
a.sl-guarantees__button.ask-presentation-btn:hover
.sl-guarantees__button-label,
.sl-guarantees
a.sl-guarantees__button.ask-presentation-btn:hover
.sl-guarantees__button-arrow,
.sl-guarantees
a.sl-guarantees__button.ask-presentation-btn:focus
.sl-guarantees__button-label,
.sl-guarantees
a.sl-guarantees__button.ask-presentation-btn:focus
.sl-guarantees__button-arrow,
.sl-guarantees
a.sl-guarantees__button.ask-presentation-btn:focus-visible
.sl-guarantees__button-label,
.sl-guarantees
a.sl-guarantees__button.ask-presentation-btn:focus-visible
.sl-guarantees__button-arrow {
  color: #171717 !important;
  -webkit-text-fill-color: #171717 !important;
}

.sl-guarantees
a.sl-guarantees__button.ask-presentation-btn:hover
.sl-guarantees__button-arrow,
.sl-guarantees
a.sl-guarantees__button.ask-presentation-btn:focus-visible
.sl-guarantees__button-arrow {
  transform: translateX(4px);
}

.sl-guarantees
a.sl-guarantees__button.ask-presentation-btn:focus-visible {
  outline: 2px solid #c7aa72 !important;
  outline-offset: 4px !important;
}


/* ==========================================================
   RESPONSIVE — ÉCRANS INTERMÉDIAIRES
   ========================================================== */

@media (max-width: 1100px) {

  .sl-guarantees__container {
    width: min(100% - 40px, 1040px);
    padding: 82px 0;
  }

  .sl-guarantees__header {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.72fr);
    gap: 50px;
  }

  .sl-guarantees__content {
    grid-template-columns: minmax(0, 1.45fr) minmax(290px, 0.65fr);
    gap: 48px;
  }

  .sl-guarantees__item {
    grid-template-columns: 40px minmax(0, 1fr);
    min-height: 295px;
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .sl-guarantees__item:nth-child(odd) {
    padding-right: 30px;
  }

  .sl-guarantees__item:nth-child(even) {
    padding-left: 30px;
  }

  .sl-guarantees__statement {
    padding: 40px 32px 34px;
  }

}


/* ==========================================================
   RESPONSIVE — TABLETTES
   ========================================================== */

@media (max-width: 900px) {

  .sl-guarantees__container {
    padding: 72px 0;
  }

  .sl-guarantees__header {
    grid-template-columns: 1fr;
    gap: 34px;
    padding-bottom: 44px;
  }

  .sl-guarantees__introduction {
    max-width: 660px;
  }

  .sl-guarantees__content {
    grid-template-columns: 1fr;
    gap: 46px;
    padding-top: 46px;
  }

  .sl-guarantees__statement {
    position: relative;
    top: auto;
    min-height: auto;
  }

  .sl-guarantees__statement-content {
    max-width: 620px;
  }

  .sl-guarantees
  a.sl-guarantees__button.ask-presentation-btn {
    max-width: 390px !important;
  }

}


/* ==========================================================
   RESPONSIVE — MOBILES
   ========================================================== */

@media (max-width: 680px) {

  .sl-guarantees__container {
    width: min(100% - 30px, 620px);
    padding: 58px 0;
  }

  .sl-guarantees__header {
    gap: 28px;
    padding-bottom: 36px;
  }

  .sl-guarantees__eyebrow {
    margin-bottom: 17px;
    font-size: 10px;
  }

  .sl-guarantees__title {
    font-size: clamp(38px, 12vw, 54px);
    line-height: 1;
  }

  .sl-guarantees__introduction p {
    font-size: 15px;
    line-height: 1.7;
  }

  .sl-guarantees__introduction-note {
    margin-top: 16px !important;
    padding-left: 16px;
    font-size: 13px !important;
  }

  .sl-guarantees__content {
    gap: 38px;
    padding-top: 38px;
  }

  .sl-guarantees__list {
    grid-template-columns: 1fr;
  }

  .sl-guarantees__item {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 12px;
    min-height: auto;
    padding: 28px 0;
    border-right: 0;
  }

  .sl-guarantees__item:nth-child(odd),
  .sl-guarantees__item:nth-child(even) {
    padding-right: 0;
    padding-left: 0;
    border-right: 0;
  }

  .sl-guarantees__item-title {
    margin-bottom: 12px;
    font-size: 24px;
  }

  .sl-guarantees__item-text,
  .sl-guarantees__item-note {
    font-size: 13px;
    line-height: 1.7;
  }

  .sl-guarantees__item-note {
    margin-top: 10px;
  }

  .sl-guarantees__statement {
    padding: 34px 26px 28px;
  }

  .sl-guarantees__statement-label {
    margin-bottom: 34px;
  }

  .sl-guarantees__statement-text {
    font-size: clamp(32px, 10vw, 42px);
  }

  .sl-guarantees__statement-description {
    margin-top: 22px;
    font-size: 13px;
    line-height: 1.7;
  }

  .sl-guarantees
  a.sl-guarantees__button.ask-presentation-btn {
    width: 100% !important;
    max-width: none !important;
    min-height: 54px !important;
    margin-top: 38px !important;
    padding: 16px 18px !important;
    font-size: 10px !important;
    letter-spacing: 0.11em !important;
  }

}


/* ==========================================================
   TRÈS PETITS ÉCRANS
   ========================================================== */

@media (max-width: 390px) {

  .sl-guarantees__container {
    width: min(100% - 24px, 366px);
  }

  .sl-guarantees__title {
    font-size: 36px;
  }

  .sl-guarantees__item {
    grid-template-columns: 30px minmax(0, 1fr);
  }

  .sl-guarantees__number {
    font-size: 12px;
  }

  .sl-guarantees__item-title {
    font-size: 22px;
  }

  .sl-guarantees__statement {
    padding-right: 22px;
    padding-left: 22px;
  }

  .sl-guarantees
  a.sl-guarantees__button.ask-presentation-btn {
    gap: 14px !important;
    font-size: 9px !important;
  }

}


/* ==========================================================
   ACCESSIBILITÉ — RÉDUCTION DES ANIMATIONS
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

  .sl-guarantees
  a.sl-guarantees__button.ask-presentation-btn,
  .sl-guarantees
  a.sl-guarantees__button.ask-presentation-btn
  .sl-guarantees__button-arrow {
    transition: none !important;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-05a473b *//* ==========================================================
   SOFT LOVE — BLOC 4
   RÉCOMPENSES DE L’HÔTE
   Version compacte et éditoriale
   ========================================================== */

.sl-host-rewards {
  --sl-white: #ffffff;
  --sl-black: #171313;
  --sl-black-soft: #332d29;
  --sl-grey: #706863;
  --sl-grey-light: #988e88;
  --sl-line: #e3dcd6;

  --sl-gold: #c49369;
  --sl-gold-dark: #936244;
  --sl-gold-light: #eadbcf;

  --sl-serif:
    "Cormorant Garamond",
    Georgia,
    "Times New Roman",
    serif;

  --sl-sans:
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif;

  position: relative;
  isolation: isolate;

  width: 100vw;
  max-width: 100vw;

  margin: 0;
  margin-left: calc(50% - 50vw);

  overflow: hidden;

  background: var(--sl-white);
  color: var(--sl-black);
}


/* ==========================================================
   RESET LOCAL
   ========================================================== */

.sl-host-rewards,
.sl-host-rewards *,
.sl-host-rewards *::before,
.sl-host-rewards *::after {
  box-sizing: border-box;
}

.sl-host-rewards h2,
.sl-host-rewards h3,
.sl-host-rewards p,
.sl-host-rewards ol,
.sl-host-rewards li {
  margin: 0;
  padding: 0;
}

.sl-host-rewards ol {
  list-style: none;
}

.sl-host-rewards a {
  color: inherit;
  text-decoration: none;
}


/* ==========================================================
   CONTENEUR
   ========================================================== */

.sl-host-rewards__container {
  width: calc(100% - 96px);
  max-width: 1480px;

  margin: 0 auto;

  padding-top: 76px;
  padding-bottom: 76px;
}


/* ==========================================================
   EN-TÊTE
   ========================================================== */

.sl-host-rewards__header {
  display: grid;
  grid-template-columns:
    minmax(520px, 1.08fr)
    minmax(380px, 0.92fr);

  align-items: end;

  gap: 84px;

  width: 100%;

  margin-bottom: 55px;
}


/* ==========================================================
   SUR-TITRE
   ========================================================== */

.sl-host-rewards__eyebrow {
  display: flex !important;
  align-items: center;

  gap: 15px;

  margin-bottom: 20px !important;

  color: var(--sl-gold-dark) !important;

  font-family: var(--sl-sans) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
}

.sl-host-rewards__eyebrow::before {
  content: "";

  display: block;

  width: 38px;
  height: 1px;
  flex: 0 0 38px;

  background: var(--sl-gold);
}


/* ==========================================================
   TITRE
   ========================================================== */

.sl-host-rewards__title {
  display: block !important;

  width: 100%;
  max-width: 790px;

  color: var(--sl-black) !important;

  font-family: var(--sl-serif) !important;
  font-size: clamp(58px, 4.8vw, 80px) !important;
  font-weight: 400 !important;
  line-height: 0.91 !important;

  letter-spacing: -0.043em !important;
  text-transform: none !important;
}

.sl-host-rewards__title span,
.sl-host-rewards__title em {
  display: block !important;
}

.sl-host-rewards__title em {
  margin-top: 8px;
  margin-left: 48px;

  font-weight: 400 !important;
}


/* ==========================================================
   INTRODUCTION
   ========================================================== */

.sl-host-rewards__intro {
  width: 100%;
  max-width: 560px;

  padding-bottom: 4px;
}

.sl-host-rewards__intro p {
  color: var(--sl-grey) !important;

  font-family: var(--sl-sans) !important;
  font-size: 16px !important;
  font-weight: 300 !important;
  line-height: 1.75 !important;

  letter-spacing: 0 !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.sl-host-rewards__intro-note {
  margin-top: 13px !important;

  color: var(--sl-black-soft) !important;
}


/* ==========================================================
   CONTENU PRINCIPAL
   ========================================================== */

.sl-host-rewards__content {
  display: grid;
  grid-template-columns:
    minmax(650px, 1.25fr)
    minmax(340px, 0.75fr);

  align-items: stretch;

  gap: 76px;

  width: 100%;
}


/* ==========================================================
   LISTE
   ========================================================== */

.sl-host-rewards__list {
  width: 100%;

  border-bottom: 1px solid var(--sl-line);
}


/* ==========================================================
   LIGNE D’AVANTAGE
   ========================================================== */

.sl-host-rewards__item {
  display: grid !important;
  grid-template-columns:
    42px
    minmax(230px, 0.8fr)
    minmax(320px, 1.2fr);

  align-items: center;

  gap: 30px;

  width: 100%;
  min-width: 0;

  padding: 31px 0 !important;

  border-top: 1px solid var(--sl-line);
}


/* ==========================================================
   NUMÉRO
   ========================================================== */

.sl-host-rewards__number {
  align-self: start;

  padding-top: 5px;

  color: var(--sl-gold) !important;

  font-family: var(--sl-serif) !important;
  font-size: 17px !important;
  font-style: italic;
  font-weight: 400 !important;
  line-height: 1 !important;
}


/* ==========================================================
   TITRE DE LIGNE
   ========================================================== */

.sl-host-rewards__item-title {
  color: var(--sl-black) !important;

  font-family: var(--sl-serif) !important;
  font-size: clamp(28px, 2.25vw, 38px) !important;
  font-weight: 400 !important;
  line-height: 1.03 !important;

  letter-spacing: -0.025em !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}


/* ==========================================================
   TEXTE DE LIGNE
   ========================================================== */

.sl-host-rewards__item-text {
  width: 100%;
  max-width: 440px;

  color: var(--sl-grey) !important;

  font-family: var(--sl-sans) !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.75 !important;

  letter-spacing: 0 !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}


/* ==========================================================
   PHRASE ÉDITORIALE
   ========================================================== */

.sl-host-rewards__statement {
  display: flex;
  flex-direction: column;
  justify-content: space-between;

  min-width: 0;

  padding:
    39px
    40px;

  border-top: 1px solid var(--sl-line);
  border-bottom: 1px solid var(--sl-line);
}

.sl-host-rewards__statement-text {
  max-width: 430px;

  color: var(--sl-black-soft) !important;

  font-family: var(--sl-serif) !important;
  font-size: clamp(32px, 2.6vw, 44px) !important;
  font-weight: 400 !important;
  line-height: 1.18 !important;

  letter-spacing: -0.025em !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.sl-host-rewards__statement-text em {
  display: block;

  margin-top: 8px;

  font-weight: 400;
}


/* ==========================================================
   ACTIONS
   ========================================================== */

.sl-host-rewards__actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;

  gap: 24px;

  margin-top: 42px;
}


/* ==========================================================
   LIEN SECONDAIRE
   ========================================================== */

.sl-host-rewards__link {
  position: relative;

  display: inline-flex !important;
  align-items: center;
  justify-content: space-between;

  gap: 18px;

  width: max-content;
  max-width: 100%;

  padding-bottom: 8px;

  color: var(--sl-black) !important;

  font-family: var(--sl-sans) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}

.sl-host-rewards__link::after {
  content: "";

  position: absolute;

  right: 0;
  bottom: 0;
  left: 0;

  height: 1px;

  background: var(--sl-gold);

  transform-origin: left;
  transition: transform 300ms ease;
}

.sl-host-rewards__link span:last-child {
  color: var(--sl-gold);

  font-size: 17px;
  font-weight: 300;
  line-height: 1;

  transition: transform 300ms ease;
}

.sl-host-rewards__link:hover::after {
  transform: scaleX(0.72);
}

.sl-host-rewards__link:hover span:last-child {
  transform: translateX(5px);
}


/* ==========================================================
   BOUTON PRINCIPAL
   ========================================================== */

.sl-host-rewards__button,
.sl-host-rewards__button:link,
.sl-host-rewards__button:visited {
  display: inline-flex !important;
  align-items: center;
  justify-content: space-between;

  gap: 24px;

  width: 100%;
  min-height: 62px;

  padding:
    18px
    24px;

  border: 1px solid var(--sl-black);

  background: var(--sl-black);
  color: var(--sl-white) !important;

  font-family: var(--sl-sans) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;

  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;

  cursor: pointer;

  transition:
    color 300ms ease,
    background-color 300ms ease,
    border-color 300ms ease,
    transform 300ms ease;
}

.sl-host-rewards__button span:last-child {
  color: var(--sl-gold);

  font-size: 19px;
  font-weight: 300;
  line-height: 1;

  transition: transform 300ms ease;
}

.sl-host-rewards__button:hover,
.sl-host-rewards__button:focus-visible {
  border-color: var(--sl-gold-dark);

  background: var(--sl-white);
  color: var(--sl-gold-dark) !important;

  transform: translateY(-3px);
}

.sl-host-rewards__button:hover span:last-child,
.sl-host-rewards__button:focus-visible span:last-child {
  transform: translateX(5px);
}


/* ==========================================================
   ACCESSIBILITÉ
   ========================================================== */

.sl-host-rewards a:focus-visible {
  outline: 2px solid var(--sl-gold-dark);
  outline-offset: 5px;
}


/* ==========================================================
   ORDINATEURS PORTABLES
   ========================================================== */

@media (max-width: 1200px) {

  .sl-host-rewards__container {
    width: calc(100% - 64px);

    padding-top: 68px;
    padding-bottom: 68px;
  }

  .sl-host-rewards__header {
    grid-template-columns:
      minmax(430px, 1fr)
      minmax(320px, 0.8fr);

    gap: 58px;

    margin-bottom: 48px;
  }

  .sl-host-rewards__title {
    font-size: 68px !important;
  }

  .sl-host-rewards__content {
    grid-template-columns:
      minmax(560px, 1.2fr)
      minmax(300px, 0.8fr);

    gap: 50px;
  }

  .sl-host-rewards__item {
    grid-template-columns:
      38px
      minmax(190px, 0.8fr)
      minmax(260px, 1.2fr);

    gap: 24px;

    padding: 27px 0 !important;
  }

  .sl-host-rewards__item-title {
    font-size: 32px !important;
  }

  .sl-host-rewards__item-text {
    font-size: 14px !important;
  }

  .sl-host-rewards__statement {
    padding:
      34px
      30px;
  }

  .sl-host-rewards__statement-text {
    font-size: 35px !important;
  }
}


/* ==========================================================
   TABLETTES
   ========================================================== */

@media (max-width: 950px) {

  .sl-host-rewards__container {
    width: calc(100% - 48px);
  }

  .sl-host-rewards__header {
    grid-template-columns: 1fr;

    gap: 30px;
  }

  .sl-host-rewards__title {
    max-width: 720px;

    font-size: 63px !important;
  }

  .sl-host-rewards__intro {
    max-width: 650px;
  }

  .sl-host-rewards__content {
    grid-template-columns: 1fr;

    gap: 48px;
  }

  .sl-host-rewards__item {
    grid-template-columns:
      38px
      minmax(220px, 0.8fr)
      minmax(300px, 1.2fr);
  }

  .sl-host-rewards__statement {
    max-width: 720px;

    padding:
      38px
      36px;
  }

  .sl-host-rewards__statement-text {
    max-width: 600px;
  }

  .sl-host-rewards__button {
    max-width: 360px;
  }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 700px) {

  .sl-host-rewards__container {
    width: calc(100% - 40px);

    padding-top: 62px;
    padding-bottom: 66px;
  }

  .sl-host-rewards__header {
    gap: 26px;

    margin-bottom: 44px;
  }

  .sl-host-rewards__eyebrow {
    margin-bottom: 18px !important;

    font-size: 9px !important;
  }

  .sl-host-rewards__eyebrow::before {
    width: 32px;
    flex-basis: 32px;
  }

  .sl-host-rewards__title {
    font-size: 50px !important;
    line-height: 0.94 !important;
  }

  .sl-host-rewards__title em {
    margin-top: 7px;
    margin-left: 16px;
  }

  .sl-host-rewards__intro p {
    font-size: 15px !important;
    line-height: 1.8 !important;
  }

  .sl-host-rewards__content {
    gap: 42px;
  }

  .sl-host-rewards__item {
    display: grid !important;
    grid-template-columns:
      34px
      minmax(0, 1fr);

    gap:
      15px
      16px;

    padding: 29px 0 !important;
  }

  .sl-host-rewards__number {
    grid-column: 1;
    grid-row: 1 / span 2;
  }

  .sl-host-rewards__item-title {
    grid-column: 2;
    grid-row: 1;

    font-size: 31px !important;
  }

  .sl-host-rewards__item-text {
    grid-column: 2;
    grid-row: 2;

    max-width: none;

    font-size: 15px !important;
    line-height: 1.8 !important;
  }

  .sl-host-rewards__statement {
    padding:
      31px
      24px
      24px;
  }

  .sl-host-rewards__statement-text {
    font-size: 31px !important;
    line-height: 1.2 !important;
  }

  .sl-host-rewards__actions {
    gap: 23px;

    margin-top: 32px;
  }

  .sl-host-rewards__button,
  .sl-host-rewards__button:link,
  .sl-host-rewards__button:visited {
    width: 100%;
    max-width: none;
    min-height: 68px;

    padding:
      19px
      21px;
  }
}


/* ==========================================================
   PETITS MOBILES
   ========================================================== */

@media (max-width: 390px) {

  .sl-host-rewards__container {
    width: calc(100% - 30px);

    padding-top: 56px;
    padding-bottom: 60px;
  }

  .sl-host-rewards__title {
    font-size: 45px !important;
  }

  .sl-host-rewards__item-title {
    font-size: 28px !important;
  }

  .sl-host-rewards__statement {
    padding:
      28px
      20px
      21px;
  }

  .sl-host-rewards__statement-text {
    font-size: 28px !important;
  }

  .sl-host-rewards__button,
  .sl-host-rewards__button:link,
  .sl-host-rewards__button:visited {
    gap: 14px;

    padding-right: 18px;
    padding-left: 18px;

    font-size: 9px !important;
    letter-spacing: 0.15em !important;
  }
}


/* ==========================================================
   RÉDUCTION DES ANIMATIONS
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

  .sl-host-rewards *,
  .sl-host-rewards *::before,
  .sl-host-rewards *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-6b774ee *//* ==========================================================
   SOFT LOVE — PORTRAIT DE MARQUE
   ========================================================== */

.sl-brand {
  --sl-brand-white: #ffffff;
  --sl-brand-black: #171313;
  --sl-brand-black-soft: #302a27;
  --sl-brand-grey: #6f6661;
  --sl-brand-line: #ded7d1;
  --sl-brand-gold: #c49369;
  --sl-brand-gold-dark: #946143;
  --sl-brand-gold-light: #eadbcf;

  --sl-brand-serif:
    "Cormorant Garamond",
    Georgia,
    "Times New Roman",
    serif;

  --sl-brand-sans:
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif;

  position: relative;
  isolation: isolate;

  width: 100vw;
  max-width: 100vw;

  margin: 0;
  margin-left: calc(50% - 50vw);

  overflow: hidden;

  background: var(--sl-brand-white);
  color: var(--sl-brand-black);
}


/* ==========================================================
   RESET LOCAL
   ========================================================== */

.sl-brand,
.sl-brand *,
.sl-brand *::before,
.sl-brand *::after {
  box-sizing: border-box;
}

.sl-brand h2,
.sl-brand h3,
.sl-brand p,
.sl-brand article {
  margin: 0;
  padding: 0;
}

.sl-brand a {
  color: inherit;
  text-decoration: none;
}


/* ==========================================================
   STRUCTURE
   ========================================================== */

.sl-brand__container {
  display: grid;
  grid-template-columns:
    minmax(0, 0.92fr)
    minmax(500px, 1.08fr);

  align-items: stretch;

  width: calc(100% - 96px);
  max-width: 1480px;

  margin: 0 auto;

  padding-top: 58px;
  padding-bottom: 58px;
}


/* ==========================================================
   IMAGE
   ========================================================== */

.sl-brand__media {
  position: relative;

  min-width: 0;
  min-height: 680px;

  overflow: hidden;

  background: var(--sl-brand-black);
}

.sl-brand__image,
.sl-brand img.sl-brand__image {
  position: absolute !important;

  inset: 0 !important;

  display: block !important;

  width: 100% !important;
  min-width: 100% !important;
  max-width: none !important;

  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;

  object-fit: cover !important;
  object-position: center center !important;

  transform: scale(1.01);

  transition:
    transform 850ms cubic-bezier(0.2, 0.65, 0.3, 1),
    filter 450ms ease;
}

.sl-brand__overlay {
  position: absolute;

  z-index: 1;

  inset: 0;

  pointer-events: none;

  background:
    linear-gradient(
      180deg,
      rgba(15, 12, 12, 0.01) 20%,
      rgba(15, 12, 12, 0.08) 55%,
      rgba(15, 12, 12, 0.78) 100%
    );
}

.sl-brand__media-content {
  position: absolute;

  z-index: 2;

  right: 34px;
  bottom: 34px;
  left: 34px;
}

.sl-brand__media-label {
  color: var(--sl-brand-gold-light) !important;

  font-family: var(--sl-brand-sans) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
}

.sl-brand__media-title {
  max-width: 480px;

  margin-top: 9px !important;

  color: var(--sl-brand-white) !important;

  font-family: var(--sl-brand-serif) !important;
  font-size: clamp(30px, 2.7vw, 43px) !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;

  letter-spacing: -0.025em !important;
  text-transform: none !important;
}


/* ==========================================================
   CONTENU
   ========================================================== */

.sl-brand__content {
  display: flex;
  flex-direction: column;
  justify-content: center;

  min-width: 0;

  padding:
    38px
    0
    38px
    clamp(45px, 5vw, 82px);
}


/* ==========================================================
   SUR-TITRE
   ========================================================== */

.sl-brand__eyebrow {
  display: flex !important;
  align-items: center;

  gap: 14px;

  margin-bottom: 15px !important;

  color: var(--sl-brand-gold-dark) !important;

  font-family: var(--sl-brand-sans) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  letter-spacing: 0.21em !important;
  text-transform: uppercase !important;
}

.sl-brand__eyebrow::before {
  content: "";

  display: block;

  width: 36px;
  height: 1px;
  flex: 0 0 36px;

  background: var(--sl-brand-gold);
}


/* ==========================================================
   TITRE
   ========================================================== */

.sl-brand__title {
  display: block !important;

  width: 100%;
  max-width: 720px;

  color: var(--sl-brand-black) !important;

  font-family: var(--sl-brand-serif) !important;
  font-size: clamp(48px, 4vw, 67px) !important;
  font-weight: 400 !important;
  line-height: 0.96 !important;

  letter-spacing: -0.042em !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.sl-brand__title span,
.sl-brand__title em {
  display: block !important;
}

.sl-brand__title em {
  margin-top: 5px;
  margin-left: 35px;

  color: var(--sl-brand-black-soft) !important;

  font-weight: 400 !important;
}


/* ==========================================================
   INTRODUCTION
   ========================================================== */

.sl-brand__introduction {
  width: 100%;
  max-width: 660px;

  margin-top: 21px !important;

  color: var(--sl-brand-grey) !important;

  font-family: var(--sl-brand-sans) !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.65 !important;

  letter-spacing: 0 !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}


/* ==========================================================
   PILIERS DE MARQUE
   ========================================================== */

.sl-brand__pillars {
  width: 100%;
  max-width: 700px;

  margin-top: 23px;

  border-top: 1px solid var(--sl-brand-line);
}

.sl-brand__pillar {
  display: grid;
  grid-template-columns:
    34px
    minmax(0, 1fr);

  gap: 16px;

  padding:
    16px
    0;

  border-bottom: 1px solid var(--sl-brand-line);
}

.sl-brand__pillar-number {
  padding-top: 4px;

  color: var(--sl-brand-gold-dark);

  font-family: var(--sl-brand-serif);
  font-size: 17px;
  font-style: italic;
  line-height: 1;
}

.sl-brand__pillar-content {
  min-width: 0;
}

.sl-brand__pillar h3 {
  color: var(--sl-brand-black) !important;

  font-family: var(--sl-brand-serif) !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;

  letter-spacing: -0.02em !important;
  text-transform: none !important;
}

.sl-brand__pillar p {
  max-width: 610px;

  margin-top: 5px !important;

  color: var(--sl-brand-grey) !important;

  font-family: var(--sl-brand-sans) !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  line-height: 1.55 !important;

  letter-spacing: 0 !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}


/* ==========================================================
   LIVRAISON
   ========================================================== */

.sl-brand__delivery {
  display: grid;
  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  width: 100%;
  max-width: 700px;

  margin-top: 22px;

  border-top: 1px solid var(--sl-brand-line);
  border-bottom: 1px solid var(--sl-brand-line);
}

.sl-brand__delivery-item {
  min-width: 0;

  padding:
    17px
    20px
    18px
    0;
}

.sl-brand__delivery-item + .sl-brand__delivery-item {
  padding-right: 0;
  padding-left: 20px;

  border-left: 1px solid var(--sl-brand-line);
}

.sl-brand__delivery-label {
  margin-bottom: 7px !important;

  color: var(--sl-brand-gold-dark) !important;

  font-family: var(--sl-brand-sans) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}

.sl-brand__delivery-text {
  color: var(--sl-brand-grey) !important;

  font-family: var(--sl-brand-sans) !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  line-height: 1.55 !important;

  letter-spacing: 0 !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.sl-brand__delivery-text strong {
  color: var(--sl-brand-black) !important;
  font-weight: 700 !important;
}


/* ==========================================================
   BOUTON
   ========================================================== */

.sl-brand__button,
.sl-brand__button:link,
.sl-brand__button:visited {
  display: inline-flex !important;
  align-items: center;
  justify-content: space-between;

  gap: 28px;

  width: min(100%, 420px);
  min-height: 62px;

  margin-top: 24px !important;

  padding:
    16px
    20px !important;

  border: 1px solid var(--sl-brand-black) !important;
  border-radius: 0 !important;

  background: var(--sl-brand-black) !important;
  color: var(--sl-brand-white) !important;

  box-shadow: none !important;

  font-family: var(--sl-brand-sans) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;

  letter-spacing: 0.13em !important;
  text-align: left !important;
  text-transform: uppercase !important;

  transition:
    color 280ms ease,
    background-color 280ms ease,
    border-color 280ms ease,
    transform 280ms ease !important;
}

.sl-brand__button span:last-child {
  flex: 0 0 auto;

  color: var(--sl-brand-gold);

  font-size: 20px;
  font-weight: 300;
  line-height: 1;

  transition: transform 280ms ease;
}

.sl-brand__button:hover,
.sl-brand__button:focus-visible {
  border-color: var(--sl-brand-gold-dark) !important;

  background: var(--sl-brand-white) !important;
  color: var(--sl-brand-gold-dark) !important;

  transform: translateY(-2px);
}

.sl-brand__button:hover span:last-child,
.sl-brand__button:focus-visible span:last-child {
  transform: translateX(5px);
}


/* ==========================================================
   INTERACTIONS
   ========================================================== */

.sl-brand__media:hover .sl-brand__image {
  filter:
    saturate(0.95)
    contrast(1.03);

  transform: scale(1.045);
}

.sl-brand a:focus-visible {
  outline: 2px solid var(--sl-brand-gold-dark);
  outline-offset: 4px;
}


/* ==========================================================
   ORDINATEURS PORTABLES
   ========================================================== */

@media (max-width: 1200px) {

  .sl-brand__container {
    grid-template-columns:
      minmax(0, 0.88fr)
      minmax(440px, 1.12fr);

    width: calc(100% - 64px);

    padding-top: 52px;
    padding-bottom: 52px;
  }

  .sl-brand__media {
    min-height: 650px;
  }

  .sl-brand__content {
    padding-left: 46px;
  }

  .sl-brand__title {
    font-size: 58px !important;
  }

}


/* ==========================================================
   TABLETTES
   ========================================================== */

@media (max-width: 950px) {

  .sl-brand__container {
    grid-template-columns: 1fr;

    width: calc(100% - 48px);
  }

  .sl-brand__media {
    min-height: 500px;
  }

  .sl-brand__content {
    padding:
      38px
      0
      0;
  }

  .sl-brand__title {
    max-width: 760px;

    font-size: 55px !important;
  }

  .sl-brand__introduction,
  .sl-brand__pillars,
  .sl-brand__delivery {
    max-width: 760px;
  }

}


/* ==========================================================
   MOBILES
   ========================================================== */

@media (max-width: 700px) {

  .sl-brand__container {
    width: calc(100% - 32px);

    padding-top: 42px;
    padding-bottom: 44px;
  }

  .sl-brand__media {
    min-height: 380px;
  }

  .sl-brand__media-content {
    right: 20px;
    bottom: 21px;
    left: 20px;
  }

  .sl-brand__media-title {
    font-size: 27px !important;
  }

  .sl-brand__content {
    padding-top: 30px;
  }

  .sl-brand__eyebrow {
    margin-bottom: 12px !important;

    font-size: 9px !important;
  }

  .sl-brand__eyebrow::before {
    width: 29px;
    flex-basis: 29px;
  }

  .sl-brand__title {
    font-size: clamp(39px, 11vw, 47px) !important;
    line-height: 0.98 !important;
  }

  .sl-brand__title em {
    margin-top: 4px;
    margin-left: 11px;
  }

  .sl-brand__introduction {
    margin-top: 17px !important;

    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  .sl-brand__pillars {
    margin-top: 20px;
  }

  .sl-brand__pillar {
    grid-template-columns:
      28px
      minmax(0, 1fr);

    gap: 11px;

    padding:
      15px
      0;
  }

  .sl-brand__pillar h3 {
    font-size: 23px !important;
  }

  .sl-brand__pillar p {
    font-size: 13px !important;
    line-height: 1.52 !important;
  }

  .sl-brand__delivery {
    grid-template-columns: 1fr;

    margin-top: 19px;
  }

  .sl-brand__delivery-item,
  .sl-brand__delivery-item + .sl-brand__delivery-item {
    padding:
      16px
      0;
  }

  .sl-brand__delivery-item + .sl-brand__delivery-item {
    border-top: 1px solid var(--sl-brand-line);
    border-left: 0;
  }

  .sl-brand__button,
  .sl-brand__button:link,
  .sl-brand__button:visited {
    width: 100%;

    margin-top: 21px !important;

    font-size: 9px !important;
    letter-spacing: 0.1em !important;
  }

}


/* ==========================================================
   PETITS MOBILES
   ========================================================== */

@media (max-width: 390px) {

  .sl-brand__container {
    width: calc(100% - 24px);

    padding-top: 38px;
    padding-bottom: 40px;
  }

  .sl-brand__media {
    min-height: 340px;
  }

  .sl-brand__media-content {
    right: 16px;
    bottom: 18px;
    left: 16px;
  }

  .sl-brand__media-title {
    font-size: 24px !important;
  }

  .sl-brand__title {
    font-size: 37px !important;
  }

  .sl-brand__pillar {
    grid-template-columns:
      25px
      minmax(0, 1fr);

    gap: 9px;
  }

  .sl-brand__pillar h3 {
    font-size: 21px !important;
  }

  .sl-brand__delivery-text {
    font-size: 12px !important;
  }

  .sl-brand__button,
  .sl-brand__button:link,
  .sl-brand__button:visited {
    gap: 12px;

    padding-right: 14px !important;
    padding-left: 14px !important;

    font-size: 8px !important;
    letter-spacing: 0.075em !important;
  }

}


/* ==========================================================
   RÉDUCTION DES ANIMATIONS
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

  .sl-brand *,
  .sl-brand *::before,
  .sl-brand *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-fe1f53a *//* ==========================================================
   SOFT LOVE — MOSAÏQUE ÉVÉNEMENTS
   Version desktop, tablette et GSM corrigée
   ========================================================== */

.sl-events {
  --sl-events-white: #ffffff;
  --sl-events-black: #171313;
  --sl-events-black-soft: #332d2a;
  --sl-events-grey: #706762;
  --sl-events-grey-light: #8c817b;
  --sl-events-line: #e4ddd7;

  --sl-events-gold: #c49369;
  --sl-events-gold-dark: #936244;
  --sl-events-gold-light: #eadbcf;

  --sl-events-serif:
    "Cormorant Garamond",
    Georgia,
    "Times New Roman",
    serif;

  --sl-events-sans:
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif;

  position: relative;
  isolation: isolate;

  width: 100vw;
  max-width: 100vw;

  margin: 0;
  margin-left: calc(50% - 50vw);

  overflow: hidden;

  background: var(--sl-events-white);
  color: var(--sl-events-black);
}


/* ==========================================================
   RESET LOCAL
   ========================================================== */

.sl-events,
.sl-events *,
.sl-events *::before,
.sl-events *::after {
  box-sizing: border-box;
}

.sl-events h2,
.sl-events h3,
.sl-events p,
.sl-events article,
.sl-events header,
.sl-events footer {
  margin: 0;
  padding: 0;
}

.sl-events a {
  color: inherit;
  text-decoration: none;
}


/* ==========================================================
   CONTENEUR
   ========================================================== */

.sl-events__container {
  width: calc(100% - 96px);
  max-width: 1480px;

  margin: 0 auto;

  padding-top: 62px;
  padding-bottom: 62px;
}


/* ==========================================================
   EN-TÊTE
   ========================================================== */

.sl-events__header {
  display: grid;
  grid-template-columns:
    minmax(520px, 1fr)
    minmax(360px, 0.66fr);

  align-items: end;

  gap: 68px;

  margin-bottom: 32px;
}

.sl-events__eyebrow {
  display: flex !important;
  align-items: center;

  gap: 14px;

  margin-bottom: 16px !important;

  color: var(--sl-events-gold-dark) !important;

  font-family: var(--sl-events-sans) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  letter-spacing: 0.21em !important;
  text-transform: uppercase !important;
}

.sl-events__eyebrow::before {
  content: "";

  display: block;

  width: 36px;
  height: 1px;
  flex: 0 0 36px;

  background: var(--sl-events-gold);
}


/* ==========================================================
   TITRE PRINCIPAL
   ========================================================== */

.sl-events__title {
  display: block !important;

  width: 100%;
  max-width: 860px;

  color: var(--sl-events-black) !important;

  font-family: var(--sl-events-serif) !important;
  font-size: clamp(53px, 4.5vw, 75px) !important;
  font-weight: 400 !important;
  line-height: 0.95 !important;

  letter-spacing: -0.04em !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.sl-events__title span,
.sl-events__title em {
  display: block !important;
}

.sl-events__title em {
  margin-top: 7px;
  margin-left: 42px;

  color: var(--sl-events-black-soft) !important;

  font-weight: 400 !important;
}


/* ==========================================================
   INTRODUCTION
   ========================================================== */

.sl-events__introduction {
  width: 100%;
  max-width: 550px;
}

.sl-events__introduction p {
  color: var(--sl-events-grey) !important;

  font-family: var(--sl-events-sans) !important;
  font-size: 16px !important;
  font-weight: 300 !important;
  line-height: 1.68 !important;

  letter-spacing: 0 !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.sl-events__introduction p + p {
  margin-top: 10px !important;

  color: var(--sl-events-grey-light) !important;
  font-size: 14px !important;
}


/* ==========================================================
   MOSAÏQUE DESKTOP
   ========================================================== */

.sl-events__mosaic {
  display: grid;

  grid-template-columns:
    minmax(0, 1.15fr)
    minmax(0, 0.85fr);

  grid-template-rows:
    repeat(3, minmax(205px, 1fr));

  gap: 8px;

  height: clamp(690px, 61vw, 850px);
}


/* ==========================================================
   CARTES
   ========================================================== */

.sl-events__item {
  position: relative !important;

  min-width: 0;
  min-height: 0;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;

  background: var(--sl-events-black);
}

.sl-events__item--main {
  grid-column: 1;
  grid-row: 1 / span 3;
}

.sl-events__item--anniversary {
  grid-column: 2;
  grid-row: 1;
}

.sl-events__item--baby {
  grid-column: 2;
  grid-row: 2;
}

.sl-events__item--friends {
  grid-column: 2;
  grid-row: 3;
}


/* ==========================================================
   LIENS
   ========================================================== */

.sl-events__link,
.sl-events__link:link,
.sl-events__link:visited {
  position: relative !important;

  display: block !important;

  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;

  background: var(--sl-events-black);
}


/* ==========================================================
   IMAGES
   ========================================================== */

.sl-events__image,
.sl-events img.sl-events__image {
  position: absolute !important;

  z-index: 0;

  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;

  display: block !important;

  width: 100% !important;
  min-width: 100% !important;
  max-width: none !important;

  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;

  object-fit: cover !important;

  transform: scale(1.01);
  transform-origin: center center;

  transition:
    transform 800ms cubic-bezier(0.2, 0.65, 0.3, 1),
    filter 450ms ease;
}

.sl-events__item--main .sl-events__image {
  object-position: center 42% !important;

  transform: scale(1.3);
}

.sl-events__item--anniversary .sl-events__image {
  object-position: center 44% !important;
}

.sl-events__item--baby .sl-events__image {
  object-position: center 47% !important;
}

.sl-events__item--friends .sl-events__image {
  object-position: center 48% !important;
}


/* ==========================================================
   DÉGRADÉS
   ========================================================== */

.sl-events__overlay {
  position: absolute !important;

  z-index: 1;

  inset: 0 !important;

  display: block !important;

  width: 100%;
  height: 100%;

  pointer-events: none;

  background:
    linear-gradient(
      180deg,
      rgba(15, 12, 12, 0.01) 5%,
      rgba(15, 12, 12, 0.08) 43%,
      rgba(15, 12, 12, 0.42) 68%,
      rgba(15, 12, 12, 0.96) 100%
    );

  transition: background 400ms ease;
}

.sl-events__item--main .sl-events__overlay {
  background:
    linear-gradient(
      180deg,
      rgba(15, 12, 12, 0.01) 5%,
      rgba(15, 12, 12, 0.06) 45%,
      rgba(15, 12, 12, 0.38) 69%,
      rgba(15, 12, 12, 0.96) 100%
    );
}


/* ==========================================================
   CONTENU DES CARTES
   ========================================================== */

.sl-events__content {
  position: absolute !important;

  z-index: 2;

  top: auto !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;

  display: grid !important;
  grid-template-columns:
    32px
    minmax(0, 1fr)
    36px;

  align-items: end;

  gap: 15px;

  width: 100% !important;
  height: auto !important;

  margin: 0 !important;

  padding:
    25px
    25px
    26px !important;

  border: 0 !important;

  background: transparent !important;
  color: var(--sl-events-white);
}

.sl-events__item--main .sl-events__content {
  grid-template-columns:
    38px
    minmax(0, 1fr)
    40px;

  gap: 19px;

  padding:
    36px
    38px
    39px !important;
}

.sl-events__text {
  min-width: 0;
}


/* ==========================================================
   NUMÉROS
   ========================================================== */

.sl-events__number {
  display: block;

  padding-bottom: 7px;

  color: var(--sl-events-gold-light);

  font-family: var(--sl-events-serif);
  font-size: 19px;
  font-style: italic;
  line-height: 1;
}

.sl-events__item--main .sl-events__number {
  font-size: 22px;
}


/* ==========================================================
   TITRES DES CARTES
   ========================================================== */

.sl-events__content h3 {
  color: var(--sl-events-white) !important;

  font-family: var(--sl-events-serif) !important;
  font-size: clamp(29px, 2.25vw, 39px) !important;
  font-weight: 400 !important;
  line-height: 1.03 !important;

  letter-spacing: -0.025em !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.sl-events__item--main .sl-events__content h3 {
  font-size: clamp(43px, 3.8vw, 59px) !important;
}


/* ==========================================================
   PHRASES
   ========================================================== */

.sl-events__content p {
  width: 100%;
  max-width: 480px;

  margin-top: 9px !important;

  color: rgba(255, 255, 255, 0.94) !important;

  font-family: var(--sl-events-sans) !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1.55 !important;

  letter-spacing: 0 !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.sl-events__item--main .sl-events__content p {
  max-width: 590px;

  margin-top: 11px !important;

  font-size: 16px !important;
  line-height: 1.6 !important;
}


/* ==========================================================
   FLÈCHES
   ========================================================== */

.sl-events__arrow {
  display: flex !important;
  align-items: center;
  justify-content: center;

  width: 34px;
  height: 34px;

  border: 1px solid rgba(255, 255, 255, 0.55);
  border-radius: 50%;

  color: var(--sl-events-gold-light);

  font-family: var(--sl-events-sans);
  font-size: 17px;
  font-weight: 300;
  line-height: 1;

  transition:
    color 280ms ease,
    border-color 280ms ease,
    background-color 280ms ease,
    transform 280ms ease;
}

.sl-events__item--main .sl-events__arrow {
  width: 38px;
  height: 38px;

  font-size: 19px;
}


/* ==========================================================
   SURVOL
   ========================================================== */

.sl-events__link:hover .sl-events__image,
.sl-events__link:focus-visible .sl-events__image {
  filter:
    saturate(0.94)
    contrast(1.04);

  transform: scale(1.06);
}

.sl-events__item--main .sl-events__link:hover .sl-events__image,
.sl-events__item--main .sl-events__link:focus-visible .sl-events__image {
  transform: scale(1.35);
}

.sl-events__link:hover .sl-events__arrow,
.sl-events__link:focus-visible .sl-events__arrow {
  border-color: var(--sl-events-gold);

  background: var(--sl-events-gold);
  color: var(--sl-events-black);

  transform: translateX(3px);
}


/* ==========================================================
   PIED DU BLOC
   ========================================================== */

.sl-events__footer {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(400px, 0.58fr);

  align-items: center;

  gap: 50px;

  margin-top: 26px;

  padding-top: 24px;

  border-top: 1px solid var(--sl-events-line);
}

.sl-events__reassurance {
  max-width: 720px;

  color: var(--sl-events-grey) !important;

  font-family: var(--sl-events-sans) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;

  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}


/* ==========================================================
   BOUTON
   ========================================================== */

.sl-events__button,
.sl-events__button:link,
.sl-events__button:visited {
  display: flex !important;
  align-items: center;
  justify-content: space-between;

  gap: 20px;

  width: 100%;
  min-height: 64px;

  padding:
    17px
    21px !important;

  border: 1px solid var(--sl-events-black) !important;
  border-radius: 0 !important;

  background: var(--sl-events-black) !important;
  color: var(--sl-events-white) !important;

  box-shadow: none !important;

  font-family: var(--sl-events-sans) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;

  letter-spacing: 0.12em !important;
  text-align: left !important;
  text-transform: uppercase !important;

  transition:
    color 280ms ease,
    background-color 280ms ease,
    border-color 280ms ease,
    transform 280ms ease !important;
}

.sl-events__button span:last-child {
  flex: 0 0 auto;

  color: var(--sl-events-gold);

  font-size: 20px;
  font-weight: 300;

  transition: transform 280ms ease;
}

.sl-events__button:hover,
.sl-events__button:focus-visible {
  border-color: var(--sl-events-gold-dark) !important;

  background: var(--sl-events-white) !important;
  color: var(--sl-events-gold-dark) !important;

  transform: translateY(-2px);
}

.sl-events__button:hover span:last-child,
.sl-events__button:focus-visible span:last-child {
  transform: translateX(5px);
}


/* ==========================================================
   ACCESSIBILITÉ
   ========================================================== */

.sl-events a:focus-visible {
  outline: 2px solid var(--sl-events-gold-dark);
  outline-offset: 4px;
}

.sl-events__link:focus-visible {
  outline-color: var(--sl-events-gold-light);
  outline-offset: -4px;
}


/* ==========================================================
   ORDINATEURS PORTABLES
   ========================================================== */

@media (max-width: 1200px) {

  .sl-events__container {
    width: calc(100% - 64px);

    padding-top: 56px;
    padding-bottom: 56px;
  }

  .sl-events__header {
    grid-template-columns:
      minmax(450px, 1fr)
      minmax(320px, 0.62fr);

    gap: 48px;
  }

  .sl-events__title {
    font-size: 63px !important;
  }

  .sl-events__mosaic {
    height: 720px;
  }

  .sl-events__content {
    padding:
      21px
      21px
      22px !important;
  }

  .sl-events__content h3 {
    font-size: 31px !important;
  }

  .sl-events__content p {
    font-size: 13px !important;
  }

  .sl-events__item--main .sl-events__content {
    padding:
      31px
      32px
      34px !important;
  }

  .sl-events__item--main .sl-events__content h3 {
    font-size: 51px !important;
  }

  .sl-events__item--main .sl-events__image {
    transform: scale(1.34);
  }

  .sl-events__item--main .sl-events__link:hover .sl-events__image,
  .sl-events__item--main .sl-events__link:focus-visible .sl-events__image {
    transform: scale(1.39);
  }

}


/* ==========================================================
   TABLETTES
   ========================================================== */

@media (max-width: 950px) {

  .sl-events__container {
    width: calc(100% - 48px);
  }

  .sl-events__header {
    grid-template-columns: 1fr;

    gap: 22px;
  }

  .sl-events__title {
    font-size: 57px !important;
  }

  .sl-events__introduction {
    max-width: 700px;
  }

  .sl-events__mosaic {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    grid-template-rows:
      repeat(2, 340px);

    height: auto;
  }

  .sl-events__item--main {
    grid-column: 1;
    grid-row: 1;
  }

  .sl-events__item--anniversary {
    grid-column: 2;
    grid-row: 1;
  }

  .sl-events__item--baby {
    grid-column: 1;
    grid-row: 2;
  }

  .sl-events__item--friends {
    grid-column: 2;
    grid-row: 2;
  }

  .sl-events__item--main .sl-events__content,
  .sl-events__content {
    grid-template-columns:
      31px
      minmax(0, 1fr)
      34px;

    gap: 13px;

    padding:
      23px
      23px
      24px !important;
  }

  .sl-events__item--main .sl-events__number,
  .sl-events__number {
    font-size: 18px;
  }

  .sl-events__item--main .sl-events__content h3,
  .sl-events__content h3 {
    font-size: 34px !important;
  }

  .sl-events__item--main .sl-events__content p,
  .sl-events__content p {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  .sl-events__item--main .sl-events__arrow,
  .sl-events__arrow {
    width: 34px;
    height: 34px;
  }

  .sl-events__item--main .sl-events__image {
    object-position: center 42% !important;

    transform: scale(1.2);
  }

  .sl-events__item--main .sl-events__link:hover .sl-events__image,
  .sl-events__item--main .sl-events__link:focus-visible .sl-events__image {
    transform: scale(1.25);
  }

  .sl-events__footer {
    grid-template-columns: 1fr;

    gap: 20px;
  }

}


/* ==========================================================
   GSM
   ========================================================== */

@media (max-width: 700px) {

  .sl-events__container {
    width: calc(100% - 32px);

    padding-top: 44px;
    padding-bottom: 46px;
  }

  .sl-events__header {
    grid-template-columns: 1fr;

    gap: 19px;

    margin-bottom: 25px;
  }

  .sl-events__eyebrow {
    margin-bottom: 12px !important;

    font-size: 9px !important;
  }

  .sl-events__eyebrow::before {
    width: 28px;
    flex-basis: 28px;
  }

  .sl-events__title {
    max-width: 100%;

    font-size: clamp(39px, 11.5vw, 48px) !important;
    line-height: 0.98 !important;
  }

  .sl-events__title em {
    margin-top: 4px;
    margin-left: 11px;
  }

  .sl-events__introduction p {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  .sl-events__introduction p + p {
    margin-top: 7px !important;

    font-size: 12px !important;
  }


  /* Une seule colonne */

  .sl-events__mosaic {
    display: grid !important;

    grid-template-columns: 1fr !important;
    grid-template-rows: none !important;

    gap: 7px;

    width: 100%;
    height: auto !important;
  }


  /* Hauteur fixe compacte de chaque visuel */

  .sl-events__item,
  .sl-events__item--main,
  .sl-events__item--anniversary,
  .sl-events__item--baby,
  .sl-events__item--friends {
    position: relative !important;

    grid-column: 1 !important;
    grid-row: auto !important;

    display: block !important;

    width: 100% !important;
    height: 330px !important;
    min-height: 330px !important;
    max-height: 330px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
  }

  .sl-events__item--main {
    height: 390px !important;
    min-height: 390px !important;
    max-height: 390px !important;
  }


  /* Le lien doit rester exactement à la taille de la carte */

  .sl-events__link,
  .sl-events__link:link,
  .sl-events__link:visited {
    position: absolute !important;

    inset: 0 !important;

    display: block !important;

    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
  }


  /* Image plein cadre */

  .sl-events__image,
  .sl-events img.sl-events__image {
    position: absolute !important;

    inset: 0 !important;

    display: block !important;

    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;

    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: cover !important;
  }

  .sl-events__item--main .sl-events__image {
    object-position: center 42% !important;

    transform: scale(1.2);
  }

  .sl-events__item--anniversary .sl-events__image {
    object-position: center 44% !important;

    transform: scale(1.01);
  }

  .sl-events__item--baby .sl-events__image {
    object-position: center 47% !important;

    transform: scale(1.01);
  }

  .sl-events__item--friends .sl-events__image {
    object-position: center 48% !important;

    transform: scale(1.01);
  }


  /* Dégradé mobile plus progressif */

  .sl-events__overlay,
  .sl-events__item--main .sl-events__overlay {
    position: absolute !important;

    z-index: 1;

    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    background:
      linear-gradient(
        180deg,
        rgba(15, 12, 12, 0.01) 0%,
        rgba(15, 12, 12, 0.03) 35%,
        rgba(15, 12, 12, 0.28) 58%,
        rgba(15, 12, 12, 0.9) 82%,
        rgba(15, 12, 12, 0.98) 100%
      ) !important;
  }


  /* Texte obligatoirement superposé */

  .sl-events__content,
  .sl-events__item--main .sl-events__content {
    position: absolute !important;

    z-index: 3;

    top: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    display: grid !important;
    grid-template-columns:
      minmax(0, 1fr)
      36px !important;

    grid-template-rows:
      auto
      auto !important;

    align-items: end !important;

    column-gap: 14px !important;
    row-gap: 5px !important;

    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;

    padding:
      22px
      20px
      22px !important;

    background: transparent !important;
  }


  /* Numéro au-dessus du titre */

  .sl-events__number,
  .sl-events__item--main .sl-events__number {
    grid-column: 1;
    grid-row: 1;

    align-self: end;

    padding: 0 !important;

    font-size: 15px !important;
    line-height: 1 !important;
  }


  /* Groupe titre + phrase */

  .sl-events__text {
    grid-column: 1;
    grid-row: 2;

    width: 100%;
    min-width: 0;
  }


  /* Flèche à droite du contenu */

  .sl-events__arrow,
  .sl-events__item--main .sl-events__arrow {
    grid-column: 2;
    grid-row: 1 / span 2;

    align-self: end;
    justify-self: end;

    width: 36px;
    height: 36px;

    margin-bottom: 2px;

    font-size: 17px;
  }


  /* Typographie mobile */

  .sl-events__content h3,
  .sl-events__item--main .sl-events__content h3 {
    width: 100%;

    font-size: clamp(31px, 9vw, 39px) !important;
    line-height: 1 !important;

    letter-spacing: -0.025em !important;
  }

  .sl-events__content p,
  .sl-events__item--main .sl-events__content p {
    width: 100%;
    max-width: 100%;

    margin-top: 7px !important;

    padding-right: 0 !important;

    font-size: 14px !important;
    line-height: 1.45 !important;
  }


  /* Pas de zoom agressif au toucher */

  .sl-events__link:hover .sl-events__image,
  .sl-events__link:focus-visible .sl-events__image {
    transform: scale(1.04);
  }

  .sl-events__item--main .sl-events__link:hover .sl-events__image,
  .sl-events__item--main .sl-events__link:focus-visible .sl-events__image {
    transform: scale(1.23);
  }


  /* Pied du bloc */

  .sl-events__footer {
    display: grid;
    grid-template-columns: 1fr;

    gap: 18px;

    margin-top: 21px;

    padding-top: 20px;
  }

  .sl-events__reassurance {
    font-size: 10px !important;
    line-height: 1.6 !important;

    letter-spacing: 0.055em !important;
  }

  .sl-events__button,
  .sl-events__button:link,
  .sl-events__button:visited {
    min-height: 64px;

    padding:
      16px
      17px !important;

    font-size: 9px !important;
    letter-spacing: 0.085em !important;
  }

}


/* ==========================================================
   PETITS GSM
   ========================================================== */

@media (max-width: 390px) {

  .sl-events__container {
    width: calc(100% - 24px);

    padding-top: 40px;
    padding-bottom: 42px;
  }

  .sl-events__title {
    font-size: 38px !important;
  }

  .sl-events__item,
  .sl-events__item--anniversary,
  .sl-events__item--baby,
  .sl-events__item--friends {
    height: 305px !important;
    min-height: 305px !important;
    max-height: 305px !important;
  }

  .sl-events__item--main {
    height: 360px !important;
    min-height: 360px !important;
    max-height: 360px !important;
  }

  .sl-events__content,
  .sl-events__item--main .sl-events__content {
    grid-template-columns:
      minmax(0, 1fr)
      34px !important;

    column-gap: 11px !important;

    padding:
      19px
      16px
      19px !important;
  }

  .sl-events__content h3,
  .sl-events__item--main .sl-events__content h3 {
    font-size: 31px !important;
  }

  .sl-events__content p,
  .sl-events__item--main .sl-events__content p {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  .sl-events__arrow,
  .sl-events__item--main .sl-events__arrow {
    width: 34px;
    height: 34px;
  }

  .sl-events__item--main .sl-events__image {
    transform: scale(1.22);
  }

  .sl-events__button,
  .sl-events__button:link,
  .sl-events__button:visited {
    gap: 11px;

    padding-right: 14px !important;
    padding-left: 14px !important;

    font-size: 8px !important;
    letter-spacing: 0.065em !important;
  }

}


/* ==========================================================
   RÉDUCTION DES ANIMATIONS
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

  .sl-events *,
  .sl-events *::before,
  .sl-events *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-2f82f57 *//* ==========================================================
   SOFT LOVE — GUIDE DÉMONSTRATION
   Bloc éditorial premium et compact
   Fond blanc — noir et doré
   ========================================================== */

.sl-demo-guide {
  --sl-demo-white: #ffffff;
  --sl-demo-black: #171313;
  --sl-demo-black-soft: #342e2b;
  --sl-demo-grey: #706762;
  --sl-demo-grey-light: #9a918b;
  --sl-demo-line: #e4ddd7;

  --sl-demo-gold: #c49369;
  --sl-demo-gold-dark: #936244;
  --sl-demo-gold-light: #eadbcf;

  --sl-demo-serif:
    "Cormorant Garamond",
    Georgia,
    "Times New Roman",
    serif;

  --sl-demo-sans:
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif;

  position: relative;
  isolation: isolate;

  width: 100vw;
  max-width: 100vw;

  margin: 0;
  margin-left: calc(50% - 50vw);

  overflow: hidden;

  background: var(--sl-demo-white);
  color: var(--sl-demo-black);
}


/* ==========================================================
   RESET LOCAL
   ========================================================== */

.sl-demo-guide,
.sl-demo-guide *,
.sl-demo-guide *::before,
.sl-demo-guide *::after {
  box-sizing: border-box;
}

.sl-demo-guide h2,
.sl-demo-guide h3,
.sl-demo-guide p,
.sl-demo-guide ul,
.sl-demo-guide li,
.sl-demo-guide article,
.sl-demo-guide footer {
  margin: 0;
  padding: 0;
}

.sl-demo-guide ul {
  list-style: none;
}

.sl-demo-guide a {
  color: inherit;
  text-decoration: none;
}


/* ==========================================================
   CONTENEUR
   ========================================================== */

.sl-demo-guide__container {
  width: calc(100% - 96px);
  max-width: 1480px;

  margin: 0 auto;

  padding-top: 64px;
  padding-bottom: 64px;
}


/* ==========================================================
   EN-TÊTE
   ========================================================== */

.sl-demo-guide__header {
  display: grid;
  grid-template-columns:
    minmax(540px, 1.08fr)
    minmax(380px, 0.92fr);

  align-items: end;

  gap: 72px;

  margin-bottom: 42px;
}


/* ==========================================================
   SUR-TITRE
   ========================================================== */

.sl-demo-guide__eyebrow {
  display: flex !important;
  align-items: center;

  gap: 14px;

  margin-bottom: 17px !important;

  color: var(--sl-demo-gold-dark) !important;

  font-family: var(--sl-demo-sans) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  letter-spacing: 0.23em !important;
  text-transform: uppercase !important;
}

.sl-demo-guide__eyebrow::before {
  content: "";

  display: block;

  width: 36px;
  height: 1px;
  flex: 0 0 36px;

  background: var(--sl-demo-gold);
}


/* ==========================================================
   TITRE
   ========================================================== */

.sl-demo-guide__title {
  display: block !important;

  width: 100%;
  max-width: 860px;

  color: var(--sl-demo-black) !important;

  font-family: var(--sl-demo-serif) !important;
  font-size: clamp(54px, 4.5vw, 76px) !important;
  font-weight: 400 !important;
  line-height: 0.93 !important;

  letter-spacing: -0.042em !important;
  text-transform: none !important;
}

.sl-demo-guide__title span,
.sl-demo-guide__title em {
  display: block !important;
}

.sl-demo-guide__title em {
  margin-top: 7px;
  margin-left: 42px;

  font-weight: 400 !important;
}


/* ==========================================================
   INTRODUCTION
   ========================================================== */

.sl-demo-guide__introduction {
  width: 100%;
  max-width: 580px;

  padding-bottom: 2px;
}

.sl-demo-guide__introduction p {
  color: var(--sl-demo-grey) !important;

  font-family: var(--sl-demo-sans) !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.72 !important;

  letter-spacing: 0 !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.sl-demo-guide__introduction p + p {
  margin-top: 11px !important;
}


/* ==========================================================
   GRILLE PRINCIPALE
   ========================================================== */

.sl-demo-guide__content {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));

  align-items: stretch;

  border-top: 1px solid var(--sl-demo-line);
  border-bottom: 1px solid var(--sl-demo-line);
}


/* ==========================================================
   COLONNE
   ========================================================== */

.sl-demo-guide__feature {
  min-width: 0;

  padding:
    31px
    36px
    32px;

  border-left: 1px solid var(--sl-demo-line);
}

.sl-demo-guide__feature:first-child {
  padding-left: 0;

  border-left: 0;
}

.sl-demo-guide__feature:last-child {
  padding-right: 0;
}

.sl-demo-guide__feature--featured {
  position: relative;
}

.sl-demo-guide__feature--featured::before {
  content: "";

  position: absolute;

  top: -1px;
  left: 36px;
  right: 36px;

  height: 2px;

  background: var(--sl-demo-gold);
}


/* ==========================================================
   EN-TÊTE DE COLONNE
   ========================================================== */

.sl-demo-guide__feature-heading {
  display: flex;
  align-items: baseline;

  gap: 14px;

  margin-bottom: 18px;
}

.sl-demo-guide__number {
  flex: 0 0 auto;

  color: var(--sl-demo-gold);

  font-family: var(--sl-demo-serif);
  font-size: 17px;
  font-style: italic;
  font-weight: 400;
  line-height: 1;
}

.sl-demo-guide__label {
  color: var(--sl-demo-gold-dark) !important;

  font-family: var(--sl-demo-sans) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;

  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}


/* ==========================================================
   TITRE DE COLONNE
   ========================================================== */

.sl-demo-guide__feature h3 {
  min-height: 90px;

  margin-bottom: 17px !important;

  color: var(--sl-demo-black) !important;

  font-family: var(--sl-demo-serif) !important;
  font-size: clamp(31px, 2.25vw, 39px) !important;
  font-weight: 400 !important;
  line-height: 1.04 !important;

  letter-spacing: -0.028em !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}


/* ==========================================================
   TEXTES
   ========================================================== */

.sl-demo-guide__description {
  color: var(--sl-demo-grey) !important;

  font-family: var(--sl-demo-sans) !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1.72 !important;

  letter-spacing: 0 !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.sl-demo-guide__description + .sl-demo-guide__description {
  margin-top: 10px !important;
}


/* ==========================================================
   LISTE
   ========================================================== */

.sl-demo-guide__list {
  margin-top: 21px !important;

  border-top: 1px solid var(--sl-demo-line);
}

.sl-demo-guide__list li {
  position: relative;

  padding:
    10px
    0
    10px
    18px;

  border-bottom: 1px solid var(--sl-demo-line);

  color: var(--sl-demo-black-soft);

  font-family: var(--sl-demo-sans);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.45;
}

.sl-demo-guide__list li::before {
  content: "";

  position: absolute;

  top: 17px;
  left: 0;

  width: 5px;
  height: 5px;

  border-radius: 50%;

  background: var(--sl-demo-gold);
}


/* ==========================================================
   ÉTAPES
   ========================================================== */

.sl-demo-guide__steps {
  margin-top: 22px;

  border-top: 1px solid var(--sl-demo-line);
}

.sl-demo-guide__step {
  display: grid;
  grid-template-columns:
    26px
    minmax(0, 1fr);

  align-items: center;

  gap: 12px;

  padding: 10px 0;

  border-bottom: 1px solid var(--sl-demo-line);
}

.sl-demo-guide__step span {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 24px;
  height: 24px;

  border: 1px solid var(--sl-demo-gold);

  border-radius: 50%;

  color: var(--sl-demo-gold-dark);

  font-family: var(--sl-demo-serif);
  font-size: 13px;
  font-style: italic;
  line-height: 1;
}

.sl-demo-guide__step p {
  color: var(--sl-demo-black-soft) !important;

  font-family: var(--sl-demo-sans) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;

  letter-spacing: 0 !important;
  text-transform: none !important;
}


/* ==========================================================
   NOTE
   ========================================================== */

.sl-demo-guide__note {
  margin-top: 16px !important;

  color: var(--sl-demo-grey-light) !important;

  font-family: var(--sl-demo-serif) !important;
  font-size: 17px !important;
  font-style: italic;
  font-weight: 400 !important;
  line-height: 1.4 !important;

  letter-spacing: 0 !important;
  text-transform: none !important;
}


/* ==========================================================
   PIED DU BLOC
   ========================================================== */

.sl-demo-guide__footer {
  display: grid;
  grid-template-columns:
    minmax(420px, 1fr)
    minmax(420px, 0.82fr);

  align-items: center;

  gap: 64px;

  padding-top: 34px;
}


/* ==========================================================
   PHRASE MANIFESTE
   ========================================================== */

.sl-demo-guide__statement {
  position: relative;

  min-width: 0;

  padding-left: 49px;
}

.sl-demo-guide__statement-mark {
  position: absolute;

  top: -16px;
  left: 0;

  color: var(--sl-demo-gold-light);

  font-family: var(--sl-demo-serif);
  font-size: 72px;
  font-weight: 400;
  line-height: 1;
}

.sl-demo-guide__statement p {
  color: var(--sl-demo-black-soft) !important;

  font-family: var(--sl-demo-serif) !important;
  font-size: clamp(27px, 2.25vw, 37px) !important;
  font-style: italic;
  font-weight: 400 !important;
  line-height: 1.15 !important;

  letter-spacing: -0.02em !important;
  text-transform: none !important;
}

.sl-demo-guide__statement em {
  display: block;

  margin-top: 4px;

  font-weight: 400;
}


/* ==========================================================
   BOUTON
   ========================================================== */

.sl-demo-guide__button,
.sl-demo-guide__button:link,
.sl-demo-guide__button:visited {
  display: inline-flex !important;
  align-items: center;
  justify-content: space-between;

  gap: 20px;

  width: 100%;
  min-height: 62px;

  padding:
    17px
    22px;

  border: 1px solid var(--sl-demo-black);

  background: var(--sl-demo-black);
  color: var(--sl-demo-white) !important;

  font-family: var(--sl-demo-sans) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;

  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;

  cursor: pointer;

  transition:
    color 300ms ease,
    background-color 300ms ease,
    border-color 300ms ease,
    transform 300ms ease;
}

.sl-demo-guide__button span:first-child {
  min-width: 0;
}

.sl-demo-guide__button span:last-child {
  flex: 0 0 auto;

  color: var(--sl-demo-gold);

  font-size: 19px;
  font-weight: 300;
  line-height: 1;

  transition: transform 300ms ease;
}

.sl-demo-guide__button:hover,
.sl-demo-guide__button:focus-visible {
  border-color: var(--sl-demo-gold-dark);

  background: var(--sl-demo-white);
  color: var(--sl-demo-gold-dark) !important;

  transform: translateY(-3px);
}

.sl-demo-guide__button:hover span:last-child,
.sl-demo-guide__button:focus-visible span:last-child {
  transform: translateX(5px);
}


/* ==========================================================
   ACCESSIBILITÉ
   ========================================================== */

.sl-demo-guide a:focus-visible {
  outline: 2px solid var(--sl-demo-gold-dark);
  outline-offset: 5px;
}


/* ==========================================================
   ORDINATEURS PORTABLES
   ========================================================== */

@media (max-width: 1200px) {

  .sl-demo-guide__container {
    width: calc(100% - 64px);

    padding-top: 58px;
    padding-bottom: 58px;
  }

  .sl-demo-guide__header {
    grid-template-columns:
      minmax(440px, 1fr)
      minmax(320px, 0.82fr);

    gap: 50px;

    margin-bottom: 38px;
  }

  .sl-demo-guide__title {
    font-size: 64px !important;
  }

  .sl-demo-guide__feature {
    padding-right: 25px;
    padding-left: 25px;
  }

  .sl-demo-guide__feature:first-child {
    padding-left: 0;
  }

  .sl-demo-guide__feature:last-child {
    padding-right: 0;
  }

  .sl-demo-guide__feature--featured::before {
    left: 25px;
    right: 25px;
  }

  .sl-demo-guide__feature h3 {
    min-height: 82px;

    font-size: 32px !important;
  }

  .sl-demo-guide__footer {
    gap: 44px;
  }

  .sl-demo-guide__button,
  .sl-demo-guide__button:link,
  .sl-demo-guide__button:visited {
    font-size: 8px !important;
    letter-spacing: 0.11em !important;
  }
}


/* ==========================================================
   TABLETTES
   ========================================================== */

@media (max-width: 950px) {

  .sl-demo-guide__container {
    width: calc(100% - 48px);
  }

  .sl-demo-guide__header {
    grid-template-columns: 1fr;

    gap: 25px;
  }

  .sl-demo-guide__title {
    max-width: 760px;

    font-size: 59px !important;
  }

  .sl-demo-guide__introduction {
    max-width: 680px;
  }

  .sl-demo-guide__content {
    grid-template-columns: 1fr;
  }

  .sl-demo-guide__feature,
  .sl-demo-guide__feature:first-child,
  .sl-demo-guide__feature:last-child {
    padding:
      27px
      0;

    border-left: 0;
  }

  .sl-demo-guide__feature + .sl-demo-guide__feature {
    border-top: 1px solid var(--sl-demo-line);
  }

  .sl-demo-guide__feature--featured::before {
    display: none;
  }

  .sl-demo-guide__feature h3 {
    min-height: auto;
    max-width: 650px;
  }

  .sl-demo-guide__description {
    max-width: 730px;
  }

  .sl-demo-guide__list,
  .sl-demo-guide__steps {
    max-width: 620px;
  }

  .sl-demo-guide__footer {
    grid-template-columns: 1fr;

    gap: 28px;
  }

  .sl-demo-guide__button {
    max-width: 600px;
  }
}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 700px) {

  .sl-demo-guide__container {
    width: calc(100% - 40px);

    padding-top: 52px;
    padding-bottom: 54px;
  }

  .sl-demo-guide__header {
    gap: 22px;

    margin-bottom: 33px;
  }

  .sl-demo-guide__eyebrow {
    margin-bottom: 15px !important;
  }

  .sl-demo-guide__eyebrow::before {
    width: 31px;
    flex-basis: 31px;
  }

  .sl-demo-guide__title {
    font-size: 46px !important;
    line-height: 0.96 !important;
  }

  .sl-demo-guide__title em {
    margin-top: 6px;
    margin-left: 15px;
  }

  .sl-demo-guide__introduction p {
    font-size: 15px !important;
    line-height: 1.75 !important;
  }

  .sl-demo-guide__feature,
  .sl-demo-guide__feature:first-child,
  .sl-demo-guide__feature:last-child {
    padding:
      25px
      0;
  }

  .sl-demo-guide__feature-heading {
    align-items: flex-start;

    gap: 11px;

    margin-bottom: 15px;
  }

  .sl-demo-guide__label {
    font-size: 8px !important;
    letter-spacing: 0.14em !important;
  }

  .sl-demo-guide__feature h3 {
    margin-bottom: 14px !important;

    font-size: 29px !important;
    line-height: 1.06 !important;
  }

  .sl-demo-guide__description {
    font-size: 14px !important;
    line-height: 1.72 !important;
  }

  .sl-demo-guide__footer {
    padding-top: 29px;
  }

  .sl-demo-guide__statement {
    padding-left: 38px;
  }

  .sl-demo-guide__statement-mark {
    top: -11px;

    font-size: 59px;
  }

  .sl-demo-guide__statement p {
    font-size: 28px !important;
  }

  .sl-demo-guide__button,
  .sl-demo-guide__button:link,
  .sl-demo-guide__button:visited {
    width: 100%;
    max-width: none;
    min-height: 68px;

    padding:
      17px
      18px;

    font-size: 8px !important;
    letter-spacing: 0.09em !important;
  }
}


/* ==========================================================
   PETITS MOBILES
   ========================================================== */

@media (max-width: 390px) {

  .sl-demo-guide__container {
    width: calc(100% - 30px);

    padding-top: 48px;
    padding-bottom: 50px;
  }

  .sl-demo-guide__title {
    font-size: 41px !important;
  }

  .sl-demo-guide__feature h3 {
    font-size: 27px !important;
  }

  .sl-demo-guide__statement {
    padding-left: 32px;
  }

  .sl-demo-guide__statement p {
    font-size: 25px !important;
  }

  .sl-demo-guide__button,
  .sl-demo-guide__button:link,
  .sl-demo-guide__button:visited {
    gap: 10px;

    padding-right: 15px;
    padding-left: 15px;

    font-size: 7px !important;
    letter-spacing: 0.07em !important;
  }
}


/* ==========================================================
   RÉDUCTION DES ANIMATIONS
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

  .sl-demo-guide *,
  .sl-demo-guide *::before,
  .sl-demo-guide *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-49f6d78 *//* ==========================================================
   SOFT LOVE — POURQUOI CHOISIR UNE DÉMONSTRATION
   Version desktop rééquilibrée
   ========================================================== */

.sl-demo-advantages {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #ffffff;
  color: #171717;
  font-family: Arial, Helvetica, sans-serif;
}

.sl-demo-advantages *,
.sl-demo-advantages *::before,
.sl-demo-advantages *::after {
  box-sizing: border-box;
}

.sl-demo-advantages__container {
  width: min(100% - 48px, 1360px);
  margin: 0 auto;
  padding: 84px 0;
}


/* ==========================================================
   EN-TÊTE
   ========================================================== */

.sl-demo-advantages__header {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.72fr);
  gap: clamp(54px, 7vw, 105px);
  align-items: end;
  padding-bottom: 48px;
  border-bottom: 1px solid rgba(23, 23, 23, 0.14);
}

.sl-demo-advantages__heading {
  max-width: 760px;
}

.sl-demo-advantages__eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 20px;
  color: #9b7b3f;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.sl-demo-advantages__eyebrow::before {
  width: 38px;
  height: 1px;
  flex: 0 0 auto;
  background: #b39761;
  content: "";
}

.sl-demo-advantages__title {
  margin: 0;
  color: #151515;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(42px, 4.5vw, 68px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.04em;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.sl-demo-advantages__title span,
.sl-demo-advantages__title em {
  display: block;
}

.sl-demo-advantages__title em {
  margin-top: 7px;
  color: #9b7b3f;
  font-weight: 400;
}

.sl-demo-advantages__introduction {
  max-width: 510px;
}

.sl-demo-advantages__introduction p {
  margin: 0;
  color: #3a3a3a;
  font-size: 16px;
  line-height: 1.72;
}

.sl-demo-advantages__introduction-note {
  margin-top: 18px !important;
  padding-left: 20px;
  border-left: 1px solid #b39761;
  color: #686868 !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}


/* ==========================================================
   CONTENU PRINCIPAL
   ========================================================== */

.sl-demo-advantages__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: clamp(48px, 5.5vw, 82px);
  align-items: start;
  padding-top: 50px;
}


/* ==========================================================
   GRILLE DES AVANTAGES
   ========================================================== */

.sl-demo-advantages__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-flow: row;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(23, 23, 23, 0.14);
}

.sl-demo-advantages__item {
  position: relative;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 17px;
  min-width: 0;
  min-height: 245px;
  margin: 0;
  padding: 30px 32px;
  border-bottom: 1px solid rgba(23, 23, 23, 0.14);
  background: #ffffff;
}

.sl-demo-advantages__item:nth-child(odd) {
  padding-left: 0;
  border-right: 1px solid rgba(23, 23, 23, 0.14);
}

.sl-demo-advantages__item:nth-child(even) {
  padding-right: 0;
}

.sl-demo-advantages__number {
  display: block;
  padding-top: 5px;
  color: #9b7b3f;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.08em;
}

.sl-demo-advantages__item-content {
  width: 100%;
  min-width: 0;
}

.sl-demo-advantages__item-title {
  margin: 0 0 14px;
  color: #171717;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(23px, 1.7vw, 29px);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -0.025em;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.sl-demo-advantages__item-text,
.sl-demo-advantages__item-note,
.sl-demo-advantages__reward-note {
  margin: 0;
  color: #505050;
  font-size: 14px;
  line-height: 1.68;
}

.sl-demo-advantages__item-note {
  margin-top: 11px;
  color: #737373;
}

.sl-demo-advantages__item-text strong,
.sl-demo-advantages__item-note strong,
.sl-demo-advantages__reward-note strong {
  color: #171717;
  font-weight: 600;
}

.sl-demo-advantages__item-kicker {
  margin: 0 0 9px;
  color: #8f7138;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}


/* ==========================================================
   TROISIÈME RANGÉE
   Les deux cases restent équilibrées
   ========================================================== */

.sl-demo-advantages__item:nth-child(5),
.sl-demo-advantages__item:nth-child(6) {
  min-height: 405px;
}


/* ==========================================================
   AVANTAGE HÔTE
   ========================================================== */

.sl-demo-advantages__item--reward {
  background: #f8f6f1;
}

.sl-demo-advantages__item--reward:nth-child(odd) {
  padding: 30px 30px 30px 24px;
}

.sl-demo-advantages__item--reward .sl-demo-advantages__number {
  color: #8f7138;
}

.sl-demo-advantages__item--reward .sl-demo-advantages__item-title {
  color: #8f7138;
}


/* ==========================================================
   EXEMPLE COMPACT
   ========================================================== */

.sl-demo-advantages__reward-example {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1.15fr);
  gap: 12px;
  align-items: center;
  width: 100%;
  margin: 21px 0 17px;
  padding: 17px 0;
  border-top: 1px solid rgba(143, 113, 56, 0.25);
  border-bottom: 1px solid rgba(143, 113, 56, 0.25);
}

.sl-demo-advantages__reward-amount,
.sl-demo-advantages__reward-result {
  min-width: 0;
}

.sl-demo-advantages__reward-amount strong,
.sl-demo-advantages__reward-result strong {
  display: block;
  color: #171717;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(20px, 1.5vw, 25px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -0.025em;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.sl-demo-advantages__reward-result strong {
  color: #8f7138;
}

.sl-demo-advantages__reward-amount span,
.sl-demo-advantages__reward-result span {
  display: block;
  margin-top: 5px;
  color: #777777;
  font-size: 10px;
  line-height: 1.4;
}

.sl-demo-advantages__reward-arrow {
  color: #8f7138;
  font-size: 18px;
  line-height: 1;
  text-align: center;
}

.sl-demo-advantages__reward-note {
  color: #656565;
}


/* ==========================================================
   PACKS
   ========================================================== */

.sl-demo-advantages__item--packs .sl-demo-advantages__number,
.sl-demo-advantages__item--packs .sl-demo-advantages__item-kicker {
  color: #8f7138;
}


/* ==========================================================
   ENCART NOIR
   ========================================================== */

.sl-demo-advantages__statement {
  position: sticky;
  top: 30px;
  display: flex;
  min-width: 0;
  min-height: 550px;
  flex-direction: column;
  justify-content: space-between;
  padding: 40px 36px 34px;
  background: #171717;
  color: #ffffff;
}

.sl-demo-advantages__statement-content {
  width: 100%;
  min-width: 0;
}

.sl-demo-advantages__statement-label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 40px;
  color: #c7aa72;
  font-size: 9px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.sl-demo-advantages__statement-label::before {
  width: 28px;
  height: 1px;
  flex: 0 0 auto;
  background: #c7aa72;
  content: "";
}

.sl-demo-advantages__statement-text {
  width: 100%;
  margin: 0;
  color: #ffffff;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 37px;
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.035em;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.sl-demo-advantages__statement-main {
  display: block;
  color: #ffffff;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.sl-demo-advantages__statement-accent {
  display: block;
  margin-top: 15px;
  color: #c7aa72;
  font-weight: 400;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.sl-demo-advantages__statement-description {
  margin: 25px 0 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 13px;
  line-height: 1.68;
}


/* ==========================================================
   BOUTON
   Protection contre les styles globaux PrestaShop
   ========================================================== */

.sl-demo-advantages
a.sl-demo-advantages__button.ask-presentation-btn {
  position: relative !important;
  z-index: 2 !important;
  display: flex !important;
  width: 100% !important;
  min-height: 56px !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin: 40px 0 0 !important;
  padding: 16px 18px !important;
  border: 1px solid rgba(255, 255, 255, 0.55) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #ffffff !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 10px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.13em !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-align: left !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  -webkit-text-fill-color: #ffffff !important;
  transition:
    background-color 0.3s ease,
    border-color 0.3s ease,
    color 0.3s ease !important;
}

.sl-demo-advantages
a.sl-demo-advantages__button.ask-presentation-btn
.sl-demo-advantages__button-label,
.sl-demo-advantages
a.sl-demo-advantages__button.ask-presentation-btn
.sl-demo-advantages__button-arrow {
  display: inline-block !important;
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
  -webkit-text-fill-color: #ffffff !important;
}

.sl-demo-advantages
a.sl-demo-advantages__button.ask-presentation-btn
.sl-demo-advantages__button-label {
  min-width: 0;
  max-width: calc(100% - 35px);
}

.sl-demo-advantages
a.sl-demo-advantages__button.ask-presentation-btn
.sl-demo-advantages__button-arrow {
  flex: 0 0 auto;
  font-size: 16px !important;
  line-height: 1 !important;
}

.sl-demo-advantages
a.sl-demo-advantages__button.ask-presentation-btn:hover,
.sl-demo-advantages
a.sl-demo-advantages__button.ask-presentation-btn:focus,
.sl-demo-advantages
a.sl-demo-advantages__button.ask-presentation-btn:focus-visible {
  border-color: #ffffff !important;
  background: #ffffff !important;
  color: #171717 !important;
  text-decoration: none !important;
  -webkit-text-fill-color: #171717 !important;
}

.sl-demo-advantages
a.sl-demo-advantages__button.ask-presentation-btn:hover
.sl-demo-advantages__button-label,
.sl-demo-advantages
a.sl-demo-advantages__button.ask-presentation-btn:hover
.sl-demo-advantages__button-arrow,
.sl-demo-advantages
a.sl-demo-advantages__button.ask-presentation-btn:focus
.sl-demo-advantages__button-label,
.sl-demo-advantages
a.sl-demo-advantages__button.ask-presentation-btn:focus
.sl-demo-advantages__button-arrow,
.sl-demo-advantages
a.sl-demo-advantages__button.ask-presentation-btn:focus-visible
.sl-demo-advantages__button-label,
.sl-demo-advantages
a.sl-demo-advantages__button.ask-presentation-btn:focus-visible
.sl-demo-advantages__button-arrow {
  color: #171717 !important;
  -webkit-text-fill-color: #171717 !important;
}


/* ==========================================================
   ÉCRANS INTERMÉDIAIRES
   ========================================================== */

@media (max-width: 1100px) {

  .sl-demo-advantages__container {
    width: min(100% - 40px, 1040px);
    padding: 74px 0;
  }

  .sl-demo-advantages__header {
    grid-template-columns: minmax(0, 1fr) minmax(290px, 0.7fr);
    gap: 44px;
  }

  .sl-demo-advantages__content {
    grid-template-columns: minmax(0, 1fr) 305px;
    gap: 40px;
  }

  .sl-demo-advantages__item {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 14px;
    min-height: 270px;
    padding: 27px 22px;
  }

  .sl-demo-advantages__item:nth-child(odd) {
    padding-left: 0;
  }

  .sl-demo-advantages__item:nth-child(even) {
    padding-right: 0;
  }

  .sl-demo-advantages__item:nth-child(5),
  .sl-demo-advantages__item:nth-child(6) {
    min-height: 445px;
  }

  .sl-demo-advantages__item--reward:nth-child(odd) {
    padding: 27px 20px;
  }

  .sl-demo-advantages__reward-example {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .sl-demo-advantages__reward-arrow {
    text-align: left;
    transform: rotate(90deg);
    transform-origin: center;
  }

  .sl-demo-advantages__statement {
    padding: 35px 28px 30px;
  }

  .sl-demo-advantages__statement-text {
    font-size: 33px;
  }

}


/* ==========================================================
   TABLETTES
   ========================================================== */

@media (max-width: 900px) {

  .sl-demo-advantages__container {
    padding: 66px 0;
  }

  .sl-demo-advantages__header {
    grid-template-columns: 1fr;
    gap: 30px;
    padding-bottom: 40px;
  }

  .sl-demo-advantages__introduction {
    max-width: 650px;
  }

  .sl-demo-advantages__content {
    grid-template-columns: 1fr;
    gap: 40px;
    padding-top: 42px;
  }

  .sl-demo-advantages__item {
    min-height: 245px;
  }

  .sl-demo-advantages__item:nth-child(5),
  .sl-demo-advantages__item:nth-child(6) {
    min-height: 410px;
  }

  .sl-demo-advantages__reward-example {
    grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1.15fr);
    gap: 12px;
  }

  .sl-demo-advantages__reward-arrow {
    text-align: center;
    transform: none;
  }

  .sl-demo-advantages__statement {
    position: relative;
    top: auto;
    min-height: auto;
  }

  .sl-demo-advantages__statement-content {
    max-width: 650px;
  }

  .sl-demo-advantages__statement-text {
    max-width: 560px;
    font-size: clamp(34px, 5.5vw, 45px);
  }

  .sl-demo-advantages__statement-description {
    max-width: 560px;
  }

  .sl-demo-advantages
  a.sl-demo-advantages__button.ask-presentation-btn {
    max-width: 380px !important;
  }

}


/* ==========================================================
   MOBILES
   ========================================================== */

@media (max-width: 680px) {

  .sl-demo-advantages__container {
    width: min(100% - 30px, 620px);
    padding: 52px 0;
  }

  .sl-demo-advantages__header {
    gap: 26px;
    padding-bottom: 34px;
  }

  .sl-demo-advantages__eyebrow {
    margin-bottom: 16px;
    font-size: 9px;
  }

  .sl-demo-advantages__title {
    font-size: clamp(36px, 11vw, 50px);
  }

  .sl-demo-advantages__introduction p {
    font-size: 15px;
    line-height: 1.65;
  }

  .sl-demo-advantages__introduction-note {
    padding-left: 16px;
    font-size: 13px !important;
  }

  .sl-demo-advantages__content {
    gap: 34px;
    padding-top: 36px;
  }

  .sl-demo-advantages__list {
    grid-template-columns: 1fr;
  }

  .sl-demo-advantages__item,
  .sl-demo-advantages__item:nth-child(odd),
  .sl-demo-advantages__item:nth-child(even),
  .sl-demo-advantages__item--reward:nth-child(odd) {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 10px;
    min-height: auto;
    padding: 26px 0;
    border-right: 0;
  }

  .sl-demo-advantages__item:nth-child(5),
  .sl-demo-advantages__item:nth-child(6) {
    min-height: auto;
  }

  .sl-demo-advantages__item--reward,
  .sl-demo-advantages__item--reward:nth-child(odd) {
    padding: 26px 18px;
  }

  .sl-demo-advantages__item-title {
    margin-bottom: 12px;
    font-size: 24px;
  }

  .sl-demo-advantages__item-text,
  .sl-demo-advantages__item-note,
  .sl-demo-advantages__reward-note {
    font-size: 13px;
    line-height: 1.68;
  }

  .sl-demo-advantages__reward-example {
    grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr);
    gap: 8px;
    margin: 19px 0 16px;
    padding: 15px 0;
  }

  .sl-demo-advantages__reward-arrow {
    text-align: center;
    transform: none;
  }

  .sl-demo-advantages__reward-amount strong,
  .sl-demo-advantages__reward-result strong {
    font-size: 20px;
  }

  .sl-demo-advantages__statement {
    padding: 32px 24px 26px;
  }

  .sl-demo-advantages__statement-label {
    margin-bottom: 30px;
  }

  .sl-demo-advantages__statement-text {
    font-size: clamp(30px, 9vw, 40px);
  }

  .sl-demo-advantages__statement-description {
    margin-top: 22px;
    font-size: 13px;
  }

  .sl-demo-advantages
  a.sl-demo-advantages__button.ask-presentation-btn {
    width: 100% !important;
    max-width: none !important;
    margin-top: 34px !important;
  }

}


/* ==========================================================
   TRÈS PETITS ÉCRANS
   ========================================================== */

@media (max-width: 390px) {

  .sl-demo-advantages__container {
    width: min(100% - 24px, 366px);
  }

  .sl-demo-advantages__title {
    font-size: 35px;
  }

  .sl-demo-advantages__reward-example {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .sl-demo-advantages__reward-arrow {
    text-align: left;
    transform: rotate(90deg);
    transform-origin: center;
  }

  .sl-demo-advantages__statement-text {
    font-size: 29px;
  }

  .sl-demo-advantages
  a.sl-demo-advantages__button.ask-presentation-btn {
    font-size: 9px !important;
    letter-spacing: 0.1em !important;
  }

}


/* ==========================================================
   ACCESSIBILITÉ
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

  .sl-demo-advantages
  a.sl-demo-advantages__button.ask-presentation-btn {
    transition: none !important;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-96eff1b *//* ==========================================================
   SOFT LOVE — AVIS GOOGLE
   Défilement continu pleine largeur
   ========================================================== */

.sl-google-reviews {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 38px 0 48px;
  border-top: 1px solid rgba(23, 23, 23, 0.08);
  border-bottom: 1px solid rgba(23, 23, 23, 0.08);
  background: #ffffff;
  color: #171717;
  font-family: Arial, Helvetica, sans-serif;
}

.sl-google-reviews *,
.sl-google-reviews *::before,
.sl-google-reviews *::after {
  box-sizing: border-box;
}


/* ==========================================================
   EN-TÊTE
   ========================================================== */

.sl-google-reviews__header {
  width: min(100% - 48px, 1360px);
  margin: 0 auto 26px;
}

.sl-google-reviews__title {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.sl-google-reviews__summary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  width: 100%;
  color: #171717;
}

.sl-google-reviews__summary-stars {
  display: flex;
  align-items: center;
  gap: 1px;
  color: #c99d4d;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 21px;
  line-height: 1;
  letter-spacing: -0.06em;
}

.sl-google-reviews__summary-stars span {
  display: block;
}

.sl-google-reviews__summary-score {
  color: #171717;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  white-space: nowrap;
}

.sl-google-reviews__summary-separator {
  color: #c99d4d;
  font-size: 13px;
  line-height: 1;
}

.sl-google-reviews__summary-count {
  color: #777777;
  font-size: 15px;
  line-height: 1.3;
  white-space: nowrap;
}


/* ==========================================================
   MARQUEE PLEINE LARGEUR
   ========================================================== */

.sl-google-reviews__marquee {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 0;
}


/*
   Les dégradés latéraux donnent l’impression que les cartes
   entrent et sortent progressivement de la page.
*/

.sl-google-reviews__marquee::before,
.sl-google-reviews__marquee::after {
  position: absolute;
  z-index: 5;
  top: 0;
  bottom: 0;
  width: clamp(24px, 5vw, 90px);
  pointer-events: none;
  content: "";
}

.sl-google-reviews__marquee::before {
  left: 0;
  background:
    linear-gradient(
      90deg,
      #ffffff 0%,
      rgba(255, 255, 255, 0.92) 24%,
      rgba(255, 255, 255, 0) 100%
    );
}

.sl-google-reviews__marquee::after {
  right: 0;
  background:
    linear-gradient(
      270deg,
      #ffffff 0%,
      rgba(255, 255, 255, 0.92) 24%,
      rgba(255, 255, 255, 0) 100%
    );
}


/* ==========================================================
   PISTE ANIMÉE
   ========================================================== */

.sl-google-reviews__track {
  display: flex;
  width: max-content;
  transform: translate3d(0, 0, 0);
  animation: sl-google-reviews-scroll 58s linear infinite;
  will-change: transform;
}

.sl-google-reviews__marquee:hover .sl-google-reviews__track,
.sl-google-reviews__marquee:focus-within .sl-google-reviews__track {
  animation-play-state: paused;
}

.sl-google-reviews__group {
  display: flex;
  flex: 0 0 auto;
  gap: 16px;
  padding-right: 16px;
}


/*
   Le premier groupe et le second groupe ont exactement
   la même largeur.

   Lorsque la piste atteint -50 %, le second groupe se trouve
   exactement à la position initiale du premier.
*/

@keyframes sl-google-reviews-scroll {

  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(-50%, 0, 0);
  }

}


/* ==========================================================
   CARTES
   ========================================================== */

.sl-google-reviews__card {
  position: relative;
  display: flex;
  width: clamp(330px, 25vw, 410px);
  min-height: 205px;
  flex: 0 0 clamp(330px, 25vw, 410px);
  flex-direction: column;
  justify-content: space-between;
  margin: 0;
  padding: 23px 24px 22px;
  border: 1px solid rgba(23, 23, 23, 0.1);
  background: #ffffff;
}

.sl-google-reviews__card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.sl-google-reviews__stars {
  display: flex;
  align-items: center;
  gap: 1px;
  color: #c99d4d;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 19px;
  line-height: 1;
  letter-spacing: -0.05em;
}

.sl-google-reviews__stars span {
  display: block;
}

.sl-google-reviews__date {
  flex: 0 0 auto;
  color: #999999;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.3;
  white-space: nowrap;
}


/* ==========================================================
   AVIS
   ========================================================== */

.sl-google-reviews__quote {
  margin: 24px 0;
  padding: 0;
  border: 0;
}

.sl-google-reviews__quote p {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: #484848;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: -0.01em;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.sl-google-reviews__author {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: auto;
  color: #1f1f1f;
  font-size: 12px;
  line-height: 1.35;
}

.sl-google-reviews__author > span {
  color: #555555;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 15px;
}

.sl-google-reviews__author strong {
  font-weight: 700;
}


/* ==========================================================
   GRANDS ÉCRANS
   ========================================================== */

@media (min-width: 1600px) {

  .sl-google-reviews__card {
    width: 410px;
    flex-basis: 410px;
  }

}


/* ==========================================================
   TABLETTES
   ========================================================== */

@media (max-width: 1050px) {

  .sl-google-reviews {
    padding: 36px 0 42px;
  }

  .sl-google-reviews__header {
    width: min(100% - 40px, 980px);
    margin-bottom: 24px;
  }

  .sl-google-reviews__track {
    animation-duration: 52s;
  }

  .sl-google-reviews__card {
    width: 340px;
    min-height: 210px;
    flex-basis: 340px;
  }

  .sl-google-reviews__summary-stars {
    font-size: 20px;
  }

  .sl-google-reviews__summary-score,
  .sl-google-reviews__summary-count {
    font-size: 14px;
  }

}


/* ==========================================================
   PETITES TABLETTES
   ========================================================== */

@media (max-width: 760px) {

  .sl-google-reviews__summary {
    flex-wrap: wrap;
    gap: 8px 10px;
    text-align: center;
  }

  .sl-google-reviews__summary-separator {
    display: none;
  }

  .sl-google-reviews__summary-count {
    width: 100%;
  }

  .sl-google-reviews__track {
    animation-duration: 46s;
  }

  .sl-google-reviews__card {
    width: min(78vw, 330px);
    min-height: 215px;
    flex-basis: min(78vw, 330px);
  }

  .sl-google-reviews__marquee::before,
  .sl-google-reviews__marquee::after {
    width: 28px;
  }

}


/* ==========================================================
   MOBILES
   ========================================================== */

@media (max-width: 520px) {

  .sl-google-reviews {
    padding: 32px 0 36px;
  }

  .sl-google-reviews__header {
    width: min(100% - 28px, 480px);
    margin-bottom: 22px;
  }

  .sl-google-reviews__summary {
    gap: 7px;
  }

  .sl-google-reviews__summary-stars {
    font-size: 19px;
  }

  .sl-google-reviews__summary-score,
  .sl-google-reviews__summary-count {
    font-size: 13px;
  }

  .sl-google-reviews__group {
    gap: 12px;
    padding-right: 12px;
  }

  .sl-google-reviews__track {
    animation-duration: 42s;
  }

  .sl-google-reviews__card {
    width: calc(100vw - 46px);
    min-height: 210px;
    flex-basis: calc(100vw - 46px);
    padding: 21px 20px 20px;
  }

  .sl-google-reviews__quote {
    margin: 20px 0;
  }

  .sl-google-reviews__quote p {
    font-size: 15px;
    line-height: 1.48;
  }

  .sl-google-reviews__date {
    font-size: 10px;
  }

  .sl-google-reviews__marquee::before,
  .sl-google-reviews__marquee::after {
    width: 16px;
  }

}


/* ==========================================================
   RÉDUCTION DES ANIMATIONS
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

  .sl-google-reviews__marquee {
    overflow-x: auto;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }

  .sl-google-reviews__track {
    animation: none;
  }

  .sl-google-reviews__group[aria-hidden="true"] {
    display: none;
  }

  .sl-google-reviews__marquee::before,
  .sl-google-reviews__marquee::after {
    display: none;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c0e9cbc *//* ==========================================================
   SOFT LOVE — RÉSERVATION DÉMONSTRATION
   Version corrigée, compacte et sans chevauchement
   ========================================================== */

.sl-booking-final {
  --sl-booking-bg: #151111;
  --sl-booking-white: #ffffff;
  --sl-booking-cream: #eadfd6;
  --sl-booking-gold: #cb9a70;
  --sl-booking-gold-dark: #a87550;
  --sl-booking-text: rgba(255, 255, 255, 0.72);
  --sl-booking-muted: rgba(255, 255, 255, 0.42);
  --sl-booking-line: rgba(255, 255, 255, 0.13);

  --sl-booking-serif:
    "Cormorant Garamond",
    Georgia,
    "Times New Roman",
    serif;

  --sl-booking-sans:
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif;

  position: relative;
  isolation: isolate;

  width: 100vw;
  max-width: 100vw;

  margin: 0;
  margin-left: calc(50% - 50vw);

  overflow: hidden;

  background: var(--sl-booking-bg);
  color: var(--sl-booking-white);
}


/* ==========================================================
   DÉCORATION
   ========================================================== */

.sl-booking-final::before {
  content: "";

  position: absolute;
  z-index: -1;

  top: -190px;
  right: -170px;

  width: 470px;
  height: 470px;

  border: 1px solid rgba(203, 154, 112, 0.14);
  border-radius: 50%;

  pointer-events: none;
}

.sl-booking-final::after {
  content: "";

  position: absolute;
  z-index: -1;

  right: 4%;
  bottom: -260px;

  width: 430px;
  height: 430px;

  border: 1px solid rgba(203, 154, 112, 0.09);
  border-radius: 50%;

  pointer-events: none;
}


/* ==========================================================
   RESET LOCAL
   ========================================================== */

.sl-booking-final,
.sl-booking-final *,
.sl-booking-final *::before,
.sl-booking-final *::after {
  box-sizing: border-box;
}

.sl-booking-final h2,
.sl-booking-final p {
  margin: 0;
  padding: 0;
}

.sl-booking-final a {
  color: inherit;
  text-decoration: none;
}


/* ==========================================================
   CONTENEUR
   ========================================================== */

.sl-booking-final__container {
  display: grid;
  grid-template-columns:
    minmax(0, 1.35fr)
    minmax(360px, 0.65fr);

  align-items: center;

  gap: clamp(56px, 6vw, 100px);

  width: calc(100% - 96px);
  max-width: 1480px;

  margin: 0 auto;

  padding-top: 68px;
  padding-bottom: 68px;
}


/* ==========================================================
   PARTIE PRINCIPALE
   ========================================================== */

.sl-booking-final__main {
  display: grid;
  grid-template-columns:
    minmax(400px, 1.05fr)
    minmax(280px, 0.65fr);

  align-items: end;

  gap: clamp(38px, 4vw, 64px);

  min-width: 0;
}


/* ==========================================================
   SUR-TITRE
   ========================================================== */

.sl-booking-final__eyebrow {
  display: flex !important;
  align-items: center;

  gap: 14px;

  margin-bottom: 18px !important;

  color: var(--sl-booking-gold) !important;

  font-family: var(--sl-booking-sans) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
}

.sl-booking-final__eyebrow::before {
  content: "";

  width: 36px;
  height: 1px;
  flex: 0 0 36px;

  background: var(--sl-booking-gold);
}


/* ==========================================================
   TITRE
   ========================================================== */

.sl-booking-final__title {
  display: block !important;

  width: 100%;
  max-width: 650px;

  color: var(--sl-booking-white) !important;

  font-family: var(--sl-booking-serif) !important;
  font-size: clamp(54px, 4.4vw, 72px) !important;
  font-weight: 400 !important;
  line-height: 0.94 !important;

  letter-spacing: -0.042em !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.sl-booking-final__title span,
.sl-booking-final__title em {
  display: block !important;
}

.sl-booking-final__title em {
  max-width: 620px;

  margin-top: 7px;
  margin-left: 36px;

  color: var(--sl-booking-cream) !important;

  font-weight: 400 !important;
}


/* ==========================================================
   DESCRIPTION
   ========================================================== */

.sl-booking-final__description {
  width: 100%;
  max-width: 400px;

  padding-bottom: 4px;
}

.sl-booking-final__description p {
  color: var(--sl-booking-text) !important;

  font-family: var(--sl-booking-sans) !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1.72 !important;

  letter-spacing: 0 !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.sl-booking-final__description p + p {
  margin-top: 12px !important;
}


/* ==========================================================
   COLONNE ACTION
   ========================================================== */

.sl-booking-final__action {
  min-width: 0;

  padding-left: clamp(30px, 3vw, 48px);

  border-left: 1px solid var(--sl-booking-line);
}


/* ==========================================================
   RÉASSURANCE
   ========================================================== */

.sl-booking-final__benefits {
  margin-bottom: 25px;
}

.sl-booking-final__benefits p {
  display: grid;
  grid-template-columns:
    31px
    minmax(0, 1fr);

  align-items: baseline;

  gap: 12px;

  padding: 11px 0;

  border-bottom: 1px solid var(--sl-booking-line);

  color: var(--sl-booking-text) !important;

  font-family: var(--sl-booking-sans) !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  line-height: 1.5 !important;

  letter-spacing: 0 !important;
  text-transform: none !important;
}

.sl-booking-final__benefits p:first-child {
  border-top: 1px solid var(--sl-booking-line);
}

.sl-booking-final__benefits span {
  color: var(--sl-booking-gold);

  font-family: var(--sl-booking-serif);
  font-size: 15px;
  font-style: italic;
  line-height: 1;
}


/* ==========================================================
   BOUTON
   ========================================================== */

.sl-booking-final__button,
.sl-booking-final__button:link,
.sl-booking-final__button:visited,
.sl-booking-final .ask-presentation-btn {
  display: flex !important;
  align-items: center;
  justify-content: space-between;

  gap: 22px;

  width: 100%;
  min-height: 68px;

  margin: 0 !important;

  padding:
    19px
    24px !important;

  border: 1px solid var(--sl-booking-gold) !important;
  border-radius: 0 !important;

  background: var(--sl-booking-gold) !important;
  color: var(--sl-booking-bg) !important;

  box-shadow: none !important;

  font-family: var(--sl-booking-sans) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  letter-spacing: 0.16em !important;
  text-align: left !important;
  text-transform: uppercase !important;

  cursor: pointer;

  transition:
    color 300ms ease,
    background-color 300ms ease,
    border-color 300ms ease,
    transform 300ms ease !important;
}

.sl-booking-final__button span:first-child {
  min-width: 0;
}

.sl-booking-final__button span:last-child {
  flex: 0 0 auto;

  font-size: 20px;
  font-weight: 300;
  line-height: 1;

  transition: transform 300ms ease;
}

.sl-booking-final__button:hover,
.sl-booking-final__button:focus-visible,
.sl-booking-final .ask-presentation-btn:hover,
.sl-booking-final .ask-presentation-btn:focus-visible {
  background: transparent !important;
  color: var(--sl-booking-white) !important;

  transform: translateY(-3px);
}

.sl-booking-final__button:hover span:last-child,
.sl-booking-final__button:focus-visible span:last-child {
  color: var(--sl-booking-gold);

  transform: translateX(5px);
}


/* ==========================================================
   NOTE
   ========================================================== */

.sl-booking-final__note {
  margin-top: 12px !important;

  color: var(--sl-booking-muted) !important;

  font-family: var(--sl-booking-sans) !important;
  font-size: 10px !important;
  font-weight: 300 !important;
  line-height: 1.5 !important;

  letter-spacing: 0 !important;
  text-align: center !important;
  text-transform: none !important;
}


/* ==========================================================
   ACCESSIBILITÉ
   ========================================================== */

.sl-booking-final a:focus-visible {
  outline: 2px solid var(--sl-booking-cream);
  outline-offset: 5px;
}


/* ==========================================================
   ÉCRANS INTERMÉDIAIRES
   ========================================================== */

@media (max-width: 1250px) {

  .sl-booking-final__container {
    grid-template-columns:
      minmax(0, 1.1fr)
      minmax(340px, 0.7fr);

    gap: 50px;

    width: calc(100% - 64px);

    padding-top: 60px;
    padding-bottom: 60px;
  }

  .sl-booking-final__main {
    grid-template-columns: 1fr;

    gap: 25px;
  }

  .sl-booking-final__title {
    max-width: 720px;

    font-size: 64px !important;
  }

  .sl-booking-final__description {
    max-width: 620px;
  }

}


/* ==========================================================
   TABLETTE
   ========================================================== */

@media (max-width: 950px) {

  .sl-booking-final__container {
    grid-template-columns: 1fr;

    gap: 38px;

    width: calc(100% - 48px);
  }

  .sl-booking-final__main {
    grid-template-columns:
      minmax(390px, 1fr)
      minmax(270px, 0.72fr);

    gap: 38px;
  }

  .sl-booking-final__title {
    font-size: 57px !important;
  }

  .sl-booking-final__action {
    width: 100%;
    max-width: 680px;

    padding-left: 0;

    border-left: 0;
  }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 700px) {

  .sl-booking-final::before {
    top: -120px;
    right: -250px;

    width: 420px;
    height: 420px;
  }

  .sl-booking-final::after {
    display: none;
  }

  .sl-booking-final__container {
    gap: 30px;

    width: calc(100% - 40px);

    padding-top: 48px;
    padding-bottom: 50px;
  }

  .sl-booking-final__main {
    grid-template-columns: 1fr;

    gap: 22px;
  }

  .sl-booking-final__eyebrow {
    margin-bottom: 15px !important;
  }

  .sl-booking-final__eyebrow::before {
    width: 31px;
    flex-basis: 31px;
  }

  .sl-booking-final__title {
    max-width: 100%;

    font-size: 45px !important;
    line-height: 0.97 !important;
  }

  .sl-booking-final__title em {
    margin-top: 6px;
    margin-left: 14px;
  }

  .sl-booking-final__description {
    max-width: none;
  }

  .sl-booking-final__description p {
    font-size: 14px !important;
    line-height: 1.72 !important;
  }

  .sl-booking-final__action {
    max-width: none;
  }

  .sl-booking-final__button,
  .sl-booking-final__button:link,
  .sl-booking-final__button:visited,
  .sl-booking-final .ask-presentation-btn {
    min-height: 68px;

    padding:
      18px
      19px !important;

    font-size: 9px !important;
    letter-spacing: 0.12em !important;
  }

}


/* ==========================================================
   PETITS MOBILES
   ========================================================== */

@media (max-width: 390px) {

  .sl-booking-final__container {
    width: calc(100% - 30px);

    padding-top: 44px;
    padding-bottom: 46px;
  }

  .sl-booking-final__title {
    font-size: 40px !important;
  }

  .sl-booking-final__benefits p {
    grid-template-columns:
      27px
      minmax(0, 1fr);

    gap: 9px;

    font-size: 11px !important;
  }

  .sl-booking-final__button,
  .sl-booking-final__button:link,
  .sl-booking-final__button:visited,
  .sl-booking-final .ask-presentation-btn {
    gap: 12px;

    padding-right: 16px !important;
    padding-left: 16px !important;

    font-size: 8px !important;
    letter-spacing: 0.1em !important;
  }

}


/* ==========================================================
   RÉDUCTION DES ANIMATIONS
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

  .sl-booking-final *,
  .sl-booking-final *::before,
  .sl-booking-final *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-5646b64 *//* ==========================================================
   SOFT LOVE — FAQ DÉMONSTRATIONS
   Version inclusive, compacte et premium
   ========================================================== */

.sl-faq {
  --sl-faq-white: #ffffff;
  --sl-faq-black: #171313;
  --sl-faq-black-soft: #332d2a;
  --sl-faq-grey: #706762;
  --sl-faq-grey-light: #978d87;
  --sl-faq-line: #e4ddd7;
  --sl-faq-background-soft: #faf8f6;

  --sl-faq-gold: #c49369;
  --sl-faq-gold-dark: #936244;
  --sl-faq-gold-light: #eadbcf;

  --sl-faq-serif:
    "Cormorant Garamond",
    Georgia,
    "Times New Roman",
    serif;

  --sl-faq-sans:
    "Helvetica Neue",
    Helvetica,
    Arial,
    sans-serif;

  position: relative;
  isolation: isolate;

  width: 100vw;
  max-width: 100vw;

  margin: 0;
  margin-left: calc(50% - 50vw);

  overflow: visible;

  background: var(--sl-faq-white);
  color: var(--sl-faq-black);
}


/* ==========================================================
   RESET LOCAL
   ========================================================== */

.sl-faq,
.sl-faq *,
.sl-faq *::before,
.sl-faq *::after {
  box-sizing: border-box;
}

.sl-faq h2,
.sl-faq h3,
.sl-faq h4,
.sl-faq p,
.sl-faq ul,
.sl-faq ol,
.sl-faq li,
.sl-faq blockquote,
.sl-faq address,
.sl-faq section,
.sl-faq article,
.sl-faq details,
.sl-faq summary,
.sl-faq footer,
.sl-faq nav {
  margin: 0;
  padding: 0;
}

.sl-faq address {
  font-style: normal;
}

.sl-faq a {
  color: inherit;
  text-decoration: none;
}

.sl-faq summary {
  list-style: none;
}

.sl-faq summary::-webkit-details-marker {
  display: none;
}


/* ==========================================================
   CONTENEUR
   ========================================================== */

.sl-faq__container {
  width: calc(100% - 96px);
  max-width: 1480px;

  margin: 0 auto;

  padding-top: 64px;
  padding-bottom: 64px;
}


/* ==========================================================
   EN-TÊTE
   ========================================================== */

.sl-faq__header {
  display: grid;
  grid-template-columns:
    minmax(500px, 1fr)
    minmax(360px, 0.76fr);

  align-items: end;

  gap: 72px;

  margin-bottom: 42px;
}


/* ==========================================================
   SUR-TITRE
   ========================================================== */

.sl-faq__eyebrow {
  display: flex !important;
  align-items: center;

  gap: 14px;

  margin-bottom: 17px !important;

  color: var(--sl-faq-gold-dark) !important;

  font-family: var(--sl-faq-sans) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  letter-spacing: 0.23em !important;
  text-transform: uppercase !important;
}

.sl-faq__eyebrow::before {
  content: "";

  display: block;

  width: 36px;
  height: 1px;
  flex: 0 0 36px;

  background: var(--sl-faq-gold);
}


/* ==========================================================
   TITRE PRINCIPAL
   ========================================================== */

.sl-faq__title {
  display: block !important;

  width: 100%;
  max-width: 780px;

  color: var(--sl-faq-black) !important;

  font-family: var(--sl-faq-serif) !important;
  font-size: clamp(54px, 4.6vw, 76px) !important;
  font-weight: 400 !important;
  line-height: 0.94 !important;

  letter-spacing: -0.043em !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.sl-faq__title span,
.sl-faq__title em {
  display: block !important;
}

.sl-faq__title em {
  margin-top: 7px;
  margin-left: 42px;

  font-weight: 400 !important;
}


/* ==========================================================
   INTRODUCTION
   ========================================================== */

.sl-faq__introduction {
  width: 100%;
  max-width: 570px;
}

.sl-faq__introduction p {
  color: var(--sl-faq-grey) !important;

  font-family: var(--sl-faq-sans) !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.72 !important;

  letter-spacing: 0 !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.sl-faq__introduction p + p {
  margin-top: 10px !important;

  color: var(--sl-faq-grey-light) !important;
  font-size: 13px !important;
}


/* ==========================================================
   MISE EN PAGE
   ========================================================== */

.sl-faq__layout {
  display: grid;
  grid-template-columns:
    minmax(250px, 0.28fr)
    minmax(0, 1fr);

  align-items: start;

  gap: clamp(48px, 6vw, 88px);
}


/* ==========================================================
   SOMMAIRE LATÉRAL
   ========================================================== */

.sl-faq__aside {
  position: sticky;
  top: 100px;

  min-width: 0;

  padding:
    27px
    26px;

  border-top: 1px solid var(--sl-faq-line);
  border-bottom: 1px solid var(--sl-faq-line);

  background: var(--sl-faq-white);
}

.sl-faq__aside-label {
  margin-bottom: 8px !important;

  color: var(--sl-faq-gold-dark) !important;

  font-family: var(--sl-faq-sans) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
}

.sl-faq__aside-number {
  color: var(--sl-faq-black) !important;

  font-family: var(--sl-faq-serif) !important;
  font-size: 70px !important;
  font-weight: 400 !important;
  line-height: 0.9 !important;

  letter-spacing: -0.045em !important;
}

.sl-faq__aside-text {
  max-width: 230px;

  margin-top: 13px !important;

  color: var(--sl-faq-grey) !important;

  font-family: var(--sl-faq-sans) !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  line-height: 1.65 !important;

  letter-spacing: 0 !important;
  text-transform: none !important;
}


/* ==========================================================
   NAVIGATION LATÉRALE
   ========================================================== */

.sl-faq__aside-topics {
  margin-top: 23px;
  margin-bottom: 23px;

  border-top: 1px solid var(--sl-faq-line);
}

.sl-faq__aside-topics a {
  display: grid;
  grid-template-columns:
    29px
    minmax(0, 1fr);

  align-items: baseline;

  gap: 8px;

  padding: 11px 0;

  border-bottom: 1px solid var(--sl-faq-line);

  color: var(--sl-faq-grey) !important;

  font-family: var(--sl-faq-sans) !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;

  transition:
    color 250ms ease,
    padding-left 250ms ease;
}

.sl-faq__aside-topics a span {
  color: var(--sl-faq-gold);

  font-family: var(--sl-faq-serif);
  font-size: 14px;
  font-style: italic;
}

.sl-faq__aside-topics a:hover,
.sl-faq__aside-topics a:focus-visible {
  padding-left: 5px;

  color: var(--sl-faq-gold-dark) !important;
}


/* ==========================================================
   BOUTON LATÉRAL
   ========================================================== */

.sl-faq__booking,
.sl-faq__booking:link,
.sl-faq__booking:visited,
.sl-faq .sl-faq__booking.ask-presentation-btn {
  display: flex !important;
  align-items: center;
  justify-content: space-between;

  gap: 14px;

  width: 100%;
  min-height: 58px;

  margin: 0 !important;

  padding:
    16px
    17px !important;

  border: 1px solid var(--sl-faq-black) !important;
  border-radius: 0 !important;

  background: var(--sl-faq-black) !important;
  color: var(--sl-faq-white) !important;

  box-shadow: none !important;

  font-family: var(--sl-faq-sans) !important;
  font-size: 8px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  letter-spacing: 0.11em !important;
  text-align: left !important;
  text-transform: uppercase !important;

  transition:
    color 250ms ease,
    background-color 250ms ease,
    border-color 250ms ease,
    transform 250ms ease !important;
}

.sl-faq__booking span:last-child {
  flex: 0 0 auto;

  color: var(--sl-faq-gold);

  font-size: 17px;
  font-weight: 300;

  transition: transform 250ms ease;
}

.sl-faq__booking:hover,
.sl-faq__booking:focus-visible {
  border-color: var(--sl-faq-gold-dark) !important;

  background: var(--sl-faq-white) !important;
  color: var(--sl-faq-gold-dark) !important;

  transform: translateY(-2px);
}

.sl-faq__booking:hover span:last-child,
.sl-faq__booking:focus-visible span:last-child {
  transform: translateX(4px);
}


/* ==========================================================
   CONTENU
   ========================================================== */

.sl-faq__content {
  min-width: 0;
}


/* ==========================================================
   GROUPES
   ========================================================== */

.sl-faq__group {
  scroll-margin-top: 110px;
}

.sl-faq__group + .sl-faq__group {
  margin-top: 50px;
}


/* ==========================================================
   EN-TÊTE DE GROUPE
   ========================================================== */

.sl-faq__group-header {
  display: grid;
  grid-template-columns:
    44px
    minmax(0, 1fr);

  align-items: start;

  gap: 17px;

  margin-bottom: 16px;
}

.sl-faq__group-number {
  padding-top: 7px;

  color: var(--sl-faq-gold);

  font-family: var(--sl-faq-serif);
  font-size: 18px;
  font-style: italic;
  line-height: 1;
}

.sl-faq__group-label {
  margin-bottom: 4px !important;

  color: var(--sl-faq-gold-dark) !important;

  font-family: var(--sl-faq-sans) !important;
  font-size: 8px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  letter-spacing: 0.19em !important;
  text-transform: uppercase !important;
}

.sl-faq__group-header h3 {
  color: var(--sl-faq-black) !important;

  font-family: var(--sl-faq-serif) !important;
  font-size: clamp(31px, 2.4vw, 39px) !important;
  font-weight: 400 !important;
  line-height: 1.05 !important;

  letter-spacing: -0.027em !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}


/* ==========================================================
   ACCORDÉON
   ========================================================== */

.sl-faq__item {
  border-top: 1px solid var(--sl-faq-line);
}

.sl-faq__item:last-child {
  border-bottom: 1px solid var(--sl-faq-line);
}


/* ==========================================================
   QUESTION
   ========================================================== */

.sl-faq__item summary {
  display: grid;
  grid-template-columns:
    43px
    minmax(0, 1fr)
    32px;

  align-items: center;

  gap: 16px;

  min-height: 70px;

  padding:
    14px
    0;

  cursor: pointer;
}

.sl-faq__question-number {
  color: var(--sl-faq-gold);

  font-family: var(--sl-faq-serif);
  font-size: 15px;
  font-style: italic;
  line-height: 1;
}

.sl-faq__question {
  color: var(--sl-faq-black-soft) !important;

  font-family: var(--sl-faq-serif) !important;
  font-size: clamp(21px, 1.65vw, 27px) !important;
  font-weight: 400 !important;
  line-height: 1.17 !important;

  letter-spacing: -0.015em !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;

  transition: color 250ms ease;
}

.sl-faq__item summary:hover .sl-faq__question,
.sl-faq__item[open] .sl-faq__question {
  color: var(--sl-faq-gold-dark) !important;
}


/* ==========================================================
   PLUS / MOINS
   ========================================================== */

.sl-faq__toggle {
  position: relative;

  display: block;

  width: 27px;
  height: 27px;

  border: 1px solid var(--sl-faq-line);
  border-radius: 50%;

  transition:
    border-color 250ms ease,
    transform 300ms ease;
}

.sl-faq__toggle::before,
.sl-faq__toggle::after {
  content: "";

  position: absolute;

  top: 50%;
  left: 50%;

  width: 9px;
  height: 1px;

  background: var(--sl-faq-gold-dark);

  transform: translate(-50%, -50%);

  transition: transform 250ms ease;
}

.sl-faq__toggle::after {
  transform:
    translate(-50%, -50%)
    rotate(90deg);
}

.sl-faq__item[open] .sl-faq__toggle {
  border-color: var(--sl-faq-gold);

  transform: rotate(180deg);
}

.sl-faq__item[open] .sl-faq__toggle::after {
  transform:
    translate(-50%, -50%)
    rotate(0deg);
}


/* ==========================================================
   RÉPONSES
   ========================================================== */

.sl-faq__answer {
  max-width: 920px;

  padding:
    2px
    48px
    29px
    59px;
}

.sl-faq__answer p,
.sl-faq__answer li {
  color: var(--sl-faq-grey) !important;

  font-family: var(--sl-faq-sans) !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 1.75 !important;

  letter-spacing: 0 !important;
  text-transform: none !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.sl-faq__answer p + p {
  margin-top: 11px !important;
}

.sl-faq__answer h4 {
  margin-top: 22px !important;
  margin-bottom: 9px !important;

  color: var(--sl-faq-black-soft) !important;

  font-family: var(--sl-faq-serif) !important;
  font-size: 23px !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;

  letter-spacing: -0.015em !important;
  text-transform: none !important;
}


/* ==========================================================
   LISTES
   ========================================================== */

.sl-faq__answer ul {
  list-style: none;

  margin-top: 8px !important;

  border-top: 1px solid var(--sl-faq-line);
}

.sl-faq__answer ul li {
  position: relative;

  padding:
    9px
    0
    9px
    19px;

  border-bottom: 1px solid var(--sl-faq-line);
}

.sl-faq__answer ul li::before {
  content: "";

  position: absolute;

  top: 19px;
  left: 1px;

  width: 5px;
  height: 5px;

  border-radius: 50%;

  background: var(--sl-faq-gold);
}


/* ==========================================================
   ÉTAPES
   ========================================================== */

.sl-faq__steps {
  list-style: none;

  margin-top: 9px !important;

  border-top: 1px solid var(--sl-faq-line);
}

.sl-faq__steps li {
  display: grid;
  grid-template-columns:
    32px
    minmax(0, 1fr);

  gap: 12px;

  padding: 10px 0;

  border-bottom: 1px solid var(--sl-faq-line);
}

.sl-faq__steps li span {
  padding-top: 3px;

  color: var(--sl-faq-gold);

  font-family: var(--sl-faq-serif);
  font-size: 14px;
  font-style: italic;
  line-height: 1;
}


/* ==========================================================
   NOTES
   ========================================================== */

.sl-faq__notice {
  margin-top: 17px !important;

  padding:
    15px
    18px;

  border-left: 2px solid var(--sl-faq-gold);

  background: var(--sl-faq-background-soft);

  color: var(--sl-faq-grey) !important;

  font-family: var(--sl-faq-sans) !important;
  font-size: 13px !important;
  font-style: normal;
  font-weight: 300 !important;
  line-height: 1.7 !important;
}

.sl-faq__highlight {
  margin-top: 16px !important;

  color: var(--sl-faq-gold-dark) !important;

  font-family: var(--sl-faq-serif) !important;
  font-size: 21px !important;
  font-style: italic;
  font-weight: 400 !important;
  line-height: 1.35 !important;
}


/* ==========================================================
   CARTES
   ========================================================== */

.sl-faq__cards,
.sl-faq__delivery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 1px;

  margin-top: 15px;
  margin-bottom: 17px;

  border: 1px solid var(--sl-faq-line);

  background: var(--sl-faq-line);
}

.sl-faq__card,
.sl-faq__delivery-item {
  min-width: 0;

  padding:
    17px
    18px;

  background: var(--sl-faq-white);
}

.sl-faq__card h4,
.sl-faq__delivery-item h4 {
  margin: 0 0 7px !important;

  font-size: 19px !important;
}

.sl-faq__card p,
.sl-faq__delivery-item p {
  font-size: 12px !important;
  line-height: 1.65 !important;
}


/* ==========================================================
   CONTACT
   ========================================================== */

.sl-faq__contact {
  margin-top: 10px;

  border-top: 1px solid var(--sl-faq-line);
}

.sl-faq__contact p {
  display: grid;
  grid-template-columns:
    minmax(155px, 0.45fr)
    minmax(0, 1fr);

  gap: 18px;

  padding: 10px 0;

  border-bottom: 1px solid var(--sl-faq-line);
}

.sl-faq__contact strong {
  color: var(--sl-faq-black-soft);

  font-weight: 500;
}

.sl-faq__contact a {
  color: var(--sl-faq-gold-dark);

  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}


/* ==========================================================
   CTA FINAL
   ========================================================== */

.sl-faq__footer {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(340px, 0.62fr);

  align-items: center;

  gap: 48px;

  margin-top: 48px;

  padding:
    29px
    0;

  border-top: 1px solid var(--sl-faq-line);
  border-bottom: 1px solid var(--sl-faq-line);
}

.sl-faq__footer-label {
  margin-bottom: 5px !important;

  color: var(--sl-faq-gold-dark) !important;

  font-family: var(--sl-faq-sans) !important;
  font-size: 8px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  letter-spacing: 0.19em !important;
  text-transform: uppercase !important;
}

.sl-faq__footer-title {
  color: var(--sl-faq-black-soft) !important;

  font-family: var(--sl-faq-serif) !important;
  font-size: clamp(29px, 2.4vw, 39px) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;

  letter-spacing: -0.025em !important;
  text-transform: none !important;
}

.sl-faq__footer-button,
.sl-faq__footer-button:link,
.sl-faq__footer-button:visited,
.sl-faq .sl-faq__footer-button.ask-presentation-btn {
  display: flex !important;
  align-items: center;
  justify-content: space-between;

  gap: 20px;

  width: 100%;
  min-height: 62px;

  margin: 0 !important;

  padding:
    17px
    21px !important;

  border: 1px solid var(--sl-faq-black) !important;
  border-radius: 0 !important;

  background: var(--sl-faq-black) !important;
  color: var(--sl-faq-white) !important;

  box-shadow: none !important;

  font-family: var(--sl-faq-sans) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  letter-spacing: 0.13em !important;
  text-align: left !important;
  text-transform: uppercase !important;

  transition:
    color 250ms ease,
    background-color 250ms ease,
    border-color 250ms ease,
    transform 250ms ease !important;
}

.sl-faq__footer-button span:last-child {
  color: var(--sl-faq-gold);

  font-size: 19px;
  font-weight: 300;

  transition: transform 250ms ease;
}

.sl-faq__footer-button:hover,
.sl-faq__footer-button:focus-visible {
  border-color: var(--sl-faq-gold-dark) !important;

  background: var(--sl-faq-white) !important;
  color: var(--sl-faq-gold-dark) !important;

  transform: translateY(-2px);
}

.sl-faq__footer-button:hover span:last-child,
.sl-faq__footer-button:focus-visible span:last-child {
  transform: translateX(5px);
}


/* ==========================================================
   ACCESSIBILITÉ
   ========================================================== */

.sl-faq summary:focus-visible,
.sl-faq a:focus-visible {
  outline: 2px solid var(--sl-faq-gold-dark);
  outline-offset: 4px;
}


/* ==========================================================
   ORDINATEURS PORTABLES
   ========================================================== */

@media (max-width: 1200px) {

  .sl-faq__container {
    width: calc(100% - 64px);

    padding-top: 58px;
    padding-bottom: 58px;
  }

  .sl-faq__header {
    grid-template-columns:
      minmax(430px, 1fr)
      minmax(320px, 0.72fr);

    gap: 50px;

    margin-bottom: 38px;
  }

  .sl-faq__title {
    font-size: 64px !important;
  }

  .sl-faq__layout {
    grid-template-columns:
      minmax(220px, 0.25fr)
      minmax(0, 1fr);

    gap: 46px;
  }

  .sl-faq__aside {
    padding-right: 20px;
    padding-left: 20px;
  }

}


/* ==========================================================
   TABLETTES
   ========================================================== */

@media (max-width: 950px) {

  .sl-faq__container {
    width: calc(100% - 48px);
  }

  .sl-faq__header {
    grid-template-columns: 1fr;

    gap: 24px;
  }

  .sl-faq__title {
    font-size: 58px !important;
  }

  .sl-faq__introduction {
    max-width: 680px;
  }

  .sl-faq__layout {
    grid-template-columns: 1fr;

    gap: 36px;
  }

  .sl-faq__aside {
    position: static;

    display: grid;
    grid-template-columns:
      minmax(160px, 0.4fr)
      minmax(0, 1fr);

    align-items: end;

    gap:
      10px
      34px;

    padding:
      23px
      0;
  }

  .sl-faq__aside-label,
  .sl-faq__aside-number,
  .sl-faq__aside-text {
    grid-column: 1;
  }

  .sl-faq__aside-topics,
  .sl-faq__booking {
    grid-column: 2;
  }

  .sl-faq__aside-topics {
    grid-row: 1 / span 3;

    margin: 0;
  }

  .sl-faq__booking {
    margin-top: 8px !important;
  }

}


/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width: 700px) {

  .sl-faq__container {
    width: calc(100% - 40px);

    padding-top: 50px;
    padding-bottom: 52px;
  }

  .sl-faq__header {
    margin-bottom: 32px;
  }

  .sl-faq__eyebrow {
    margin-bottom: 15px !important;
  }

  .sl-faq__eyebrow::before {
    width: 31px;
    flex-basis: 31px;
  }

  .sl-faq__title {
    font-size: 46px !important;
    line-height: 0.96 !important;
  }

  .sl-faq__title em {
    margin-top: 6px;
    margin-left: 15px;
  }

  .sl-faq__introduction p {
    font-size: 14px !important;
  }

  .sl-faq__aside {
    display: block;

    padding:
      21px
      0;
  }

  .sl-faq__aside-number {
    font-size: 58px !important;
  }

  .sl-faq__aside-topics {
    margin-top: 19px;
    margin-bottom: 19px;
  }

  .sl-faq__group + .sl-faq__group {
    margin-top: 40px;
  }

  .sl-faq__group-header {
    grid-template-columns:
      34px
      minmax(0, 1fr);

    gap: 12px;
  }

  .sl-faq__group-header h3 {
    font-size: 30px !important;
  }

  .sl-faq__item summary {
    grid-template-columns:
      30px
      minmax(0, 1fr)
      27px;

    gap: 10px;

    min-height: 66px;

    padding:
      13px
      0;
  }

  .sl-faq__question {
    font-size: 20px !important;
    line-height: 1.18 !important;
  }

  .sl-faq__toggle {
    width: 25px;
    height: 25px;
  }

  .sl-faq__answer {
    padding:
      1px
      0
      25px
      40px;
  }

  .sl-faq__answer p,
  .sl-faq__answer li {
    font-size: 13px !important;
    line-height: 1.72 !important;
  }

  .sl-faq__answer h4 {
    font-size: 21px !important;
  }

  .sl-faq__cards,
  .sl-faq__delivery {
    grid-template-columns: 1fr;
  }

  .sl-faq__contact p {
    grid-template-columns: 1fr;

    gap: 3px;
  }

  .sl-faq__footer {
    grid-template-columns: 1fr;

    gap: 21px;

    margin-top: 39px;

    padding:
      24px
      0;
  }

}


/* ==========================================================
   PETITS MOBILES
   ========================================================== */

@media (max-width: 390px) {

  .sl-faq__container {
    width: calc(100% - 30px);

    padding-top: 46px;
    padding-bottom: 48px;
  }

  .sl-faq__title {
    font-size: 41px !important;
  }

  .sl-faq__question {
    font-size: 18px !important;
  }

  .sl-faq__answer {
    padding-left: 0;
  }

  .sl-faq__question-number {
    font-size: 13px;
  }

  .sl-faq__footer-button,
  .sl-faq__footer-button:link,
  .sl-faq__footer-button:visited,
  .sl-faq .sl-faq__footer-button.ask-presentation-btn {
    gap: 12px;

    padding-right: 16px !important;
    padding-left: 16px !important;

    font-size: 8px !important;
    letter-spacing: 0.09em !important;
  }

}


/* ==========================================================
   RÉDUCTION DES ANIMATIONS
   ========================================================== */

@media (prefers-reduced-motion: reduce) {

  .sl-faq *,
  .sl-faq *::before,
  .sl-faq *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }

}/* End custom CSS */