.swiper-button-next,
.swiper-button-prev {
  width: 2rem;
  height: 2rem;
  left: 0;
}
.swiper-button-next {
  right: 0;
  left: auto;
}
.swiper-button-next:after,
.swiper-button-prev:after {
  content: '';
  display: block;
  width: 2rem;
  height: 2rem;
  aspect-ratio: 1/1;
  background-size: 2rem 2rem;
  background-repeat: no-repeat;
  background-position: center;
  background-image: var(--slider-arrow-black);
}

.swiper-button-next:hover:after,
.swiper-button-prev:hover:after {
  background-image: var(--slider-arrow-orange);
}

.swiper-button-prev:after {
  transform: rotate(180deg);
}

.page-home--component-title-sliding-images-and-texts__home {
  width: var(--content-width);
  max-width: var(--max-content-width);
  margin: 0 auto;
}
.component-title-sliding-images-and-texts--head {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.component-title-sliding-images-and-texts__wide-slider {
  margin-top: 4.06rem;
  margin-bottom: 4.13rem;

  .component-title-sliding-images-and-texts--wrapper__wide-slider {
    max-width: 75.75rem;
    margin: 0 auto;
  }
  .component-title-sliding-images-and-texts--head__wide-slider {
    margin-bottom: 4.56rem;
  }
  h2 {
    text-wrap: auto;
    max-width: 20rem;
    color: var(--black);
    font-family: var(--font-family);
    font-size: 1.625rem;
    font-style: normal;
    font-weight: 900;
    line-height: 2rem; /* 123.077% */
    text-transform: uppercase;
    padding-left: 0.63rem;
    position: relative;
  }
  h2::before {
    content: '';
    width: 0.625rem;
    height: 0.625rem;
    background-color: var(--primary);
    position: absolute;
    display: block;
    left: -0.63rem;
    top: 0.83rem;
  }

  .component-title-sliding-images-and-texts--slides__wide-slider {
    display: flex;
    flex-direction: column;
  }

  .page-product-page {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .page-product-page:hover {
    .page-product-page--brand {
      color: var(--primary);
    }
  }

  .page-product-page--brand {
    color: var(--black);
    font-family: var(--font-family);
    font-size: 1rem;
    font-style: normal;
    font-weight: 900;
    text-transform: uppercase;
    text-align: center;
  }

  .page-product-page--title {
    color: var(--secondary-grey);
    font-family: var(--font-family);
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    padding-top: 0.5rem;
  }

  .component-title-sliding-images-and-texts--cta__wide-slider {
    margin-top: 2.5rem;
    display: flex;
  }
  .component-cta {
    padding: 0.9375rem 1.125rem;
    width: 14.6875rem;
    margin: 0 auto;
  }
}

.component-title-sliding-images-and-texts__slider-brand {
  margin-top: 2.56rem;
  margin-bottom: 4.25rem;
  .component-title-sliding-images-and-texts--head__slider-brand {
    max-width: 75.75rem;
    margin: 0 auto 2.3125rem;
  }
  h2 {
    text-wrap: auto;
    max-width: 20rem;
    color: var(--black);
    font-family: var(--font-family);
    font-size: 1.625rem;
    font-style: normal;
    font-weight: 900;
    line-height: 2rem; /* 123.077% */
    text-transform: uppercase;
    padding-left: 0.63rem;
    position: relative;
  }
  h2::before {
    content: '';
    width: 0.625rem;
    height: 0.625rem;
    background-color: var(--primary);
    position: absolute;
    display: block;
    left: -0.63rem;
    top: 0.83rem;
  }
  .component-title-sliding-images-and-texts--wrapper__slider-brand {
    position: relative;
  }
  .component-title-sliding-images-and-texts--slides__slider-brand {
    position: static;
    max-width: calc(100% - 7.38rem);
  }
  .component-title-cta-images-and-caption__slider-brand {
    display: flex;
    justify-content: center;
  }
  .swiper-button-next,
  .swiper-button-prev {
    top: 90%;
  }
}

.component-title-sliding-images-and-texts__slider-rs {
  width: 100%;
  max-width: 100%;
  padding: 2.94rem 0 2.56rem;
  background-color: #f6f6f6;
  .component-title-sliding-images-and-texts--wrapper__slider-rs {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
  }

  .component-title-sliding-images-and-texts--head__slider-rs {
    order: 1;
    margin: 5.06rem 0 1.26rem;
  }

  .component-title-sliding-images-and-texts--head__slider-rs h2 {
    text-wrap: auto;
    max-width: 20rem;
    color: var(--black);
    font-family: var(--font-family);

    font-style: normal;
    font-weight: 900;

    text-transform: uppercase;
    padding-left: 0.63rem;
    position: relative;
    text-align: center;
    padding: 0;

    font-size: 2rem;
    line-height: 2.1875rem;
  }

  .component-title-sliding-images-and-texts--head__slider-rs h2::before {
    display: none;
  }

  .component-title-sliding-images-and-texts--slides__slider-rs {
    order: 0;
    max-width: 100%;
    overflow: visible;
  }

  .component-title-sliding-images-and-texts--cta__slider-rs {
    order: 2;
    display: flex;
  }

  .component-title-sliding-images-and-texts--cta__slider-rs a {
    margin: 0 auto;
  }

  .component-title-sliding-images-and-texts--swiper-wrapper__slider-rs {
    position: relative;
  }

  .component-title-sliding-images-and-texts--slide__slider-rs {
    display: grid;
    place-items: center;
    height: 164px;
  }

  .component-title-sliding-images-and-texts--swiper-wrapper__slider-rs {
    transform-origin: center center;
    will-change: transform;
  }

  .swiper-arrow {
    top: auto;
    bottom: -4rem;
  }

  .swiper-arrow::after {
    background-image: var(--slider-arrow-orange);
  }

  .swiper-button-prev {
    left: 50%;
    transform: translateX(-120%);
  }

  .swiper-button-next {
    right: 50%;
    transform: translateX(110%);
  }
}

.component-title-sliding-images-and-texts__masonry-desktop {
  background-color: var(--primary);
  padding: 2.56rem 0 3.19rem;
  width: 100%;
  max-width: none;
  margin: 0;
  overflow-x: hidden;

  .component-title-sliding-images-and-texts--wrapper {
    width: var(--content-width);
    max-width: var(--max-content-width);
    margin: 0 auto;
  }

  .component-title-sliding-images-and-texts--title__masonry-desktop {
    text-wrap: auto;
    max-width: 20rem;
    color: var(--black);
    font-family: var(--font-family);
    font-size: 1.625rem;
    font-style: normal;
    font-weight: 900;
    line-height: 2rem; /* 123.077% */
    text-transform: uppercase;
    position: relative;
    text-align: center;
    padding: 0;
    margin: 0 auto;
  }

  .component-title-sliding-images-and-texts--title__masonry-desktop::before {
    content: '';
    width: 0.625rem;
    height: 0.625rem;
    position: absolute;
    display: block;
    background-color: var(--black);
    left: 2.5rem;
    top: 0.7rem;
  }
  .component-title-sliding-images-and-texts--description__masonry-desktop {
    margin-top: 1.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
  }

  .component-title-sliding-images-and-texts--description__masonry-desktop p {
    color: var(--black);
    text-align: center;
    font-family: var(--font-family);
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5625rem;
  }

  .component-title-sliding-images-and-texts--slides__masonry-desktop {
    margin-top: 1.75rem;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    overflow: visible;
    padding-left: clamp(1rem, 5vw, 3rem);
    padding-right: clamp(1rem, 5vw, 3rem);

    .swiper-arrow {
      display: none;
    }
  }

  .component-title-sliding-images-and-texts--slide__masonry-desktop {
    height: auto;
  }

  .component-title-sliding-images-and-texts--slide__masonry-desktop .card--content {
    display: block;
    
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--black);
    color: var(--white);
  }

  .component-title-sliding-images-and-texts--slide__masonry-desktop .card--content-regular {
    padding: 1rem 0;
  }

  .component-title-sliding-images-and-texts--slide__masonry-desktop .card--content-regular h3 {
    color: var(--white);
    font-family: var(--font-family);
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 600;
    line-height: 1.15;
    margin-left: 2.25rem;
    position: relative;
  }

  .component-title-sliding-images-and-texts--slide__masonry-desktop .card--content-regular h3::before {
    content: '';
    display: inline-block;
    width: 0.81981rem;
    height: 0.81981rem;
    aspect-ratio: 1/1;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -1.43981rem;

    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.1299 6.94503C11.2324 6.84253 11.2899 6.70354 11.2899 6.55862C11.2899 6.4137 11.2324 6.27471 11.1299 6.17222L8.03811 3.08043C7.98769 3.02823 7.92738 2.98659 7.8607 2.95795C7.79402 2.9293 7.72231 2.91423 7.64974 2.9136C7.57717 2.91296 7.5052 2.92679 7.43803 2.95427C7.37086 2.98175 7.30984 3.02234 7.25852 3.07365C7.20721 3.12497 7.16662 3.18599 7.13914 3.25316C7.11166 3.32033 7.09783 3.3923 7.09846 3.46487C7.0991 3.53744 7.11417 3.60915 7.14282 3.67583C7.17146 3.74251 7.2131 3.80282 7.2653 3.85324L9.42414 6.01208L2.18628 6.01208C2.04133 6.01208 1.90231 6.06966 1.79982 6.17216C1.69732 6.27465 1.63974 6.41367 1.63974 6.55862C1.63974 6.70357 1.69732 6.84259 1.79982 6.94508C1.90231 7.04758 2.04133 7.10516 2.18628 7.10516L9.42414 7.10516L7.2653 9.26401C7.16574 9.36708 7.11065 9.50514 7.1119 9.64844C7.11314 9.79174 7.17062 9.92882 7.27196 10.0302C7.37329 10.1315 7.51037 10.189 7.65367 10.1902C7.79697 10.1915 7.93503 10.1364 8.03811 10.0368L11.1299 6.94503Z' fill='white'/%3E%3C/svg%3E");
  }

  .component-title-sliding-images-and-texts--cta__masonry-desktop {
    margin-top: 2.25rem;
    display: flex;
    justify-content: center;
  }

  .component-title-sliding-images-and-texts--cta__masonry-desktop a {
    color: var(--white);
  }

  .component-title-sliding-images-and-texts--cta__masonry-desktop a:hover {
    background-color: var(--black);
    color: var(--primary);
    border: 2px solid var(--black);
  }

  .card--img-wrapper__masonry-desktop img {
    width: 100%;
    object-fit: cover;
    object-position: center;
  }
}

.component-title-sliding-images-and-texts__slider-side-image {
  width: 100%;
  max-width: none;
  margin: 0;
  position: relative;

  .swiper-button-next,
  .swiper-button-prev {
    display: none;
  }
  .component-title-sliding-images-and-texts--wrapper__slider-side-image {
    max-width: 75.75rem;
    padding-bottom: 2.44rem;
    margin: 0 auto;
    position: relative;
  }

  .component-title-sliding-images-and-texts--img-wrapper__slider-side-image {
    position: absolute;
    right: 1.81rem;
  }
  h2 {
    text-wrap: auto;
    font-family: var(--font-family);
    font-size: 1.625rem;
    font-style: normal;
    font-weight: 900;
    line-height: 2rem; /* 123.077% */
    text-transform: uppercase;
    padding-left: 0.63rem;
    position: relative;
    margin-top: 0.97rem;
    color: var(--white);
    max-width: 11.125rem;
    margin-bottom: 1.31rem;
  }
  h2::before {
    content: '';
    width: 0.625rem;
    height: 0.625rem;
    background-color: var(--primary);
    position: absolute;
    display: block;
    left: -0.63rem;
    top: 0.83rem;
  }

  .component-title-sliding-images-and-texts--description p {
    color: var(--white);
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5625rem; /* 156.25% */
  }

  .component-title-sliding-images-and-texts--head__slider-side-image {
    max-width: 75.75rem;
    margin: 0 auto;
    position: relative;
    padding: 2.03rem 2rem 1.69rem 1.81rem;
  }
  .component-title-sliding-images-and-texts--slides__slider-side-image {
    margin: 0 2rem 0 1.81rem;
    width: 100%;

    .card--img-wrapper {
      .component-wrapper-picture--picture-image {
        width: 100%;
        object-fit: cover;
      }
    }
  }
  .card--inner {
    position: relative;
  }
  .card--content {
    background-color: var(--secondary-hover-orange);
    position: absolute;
    display: flex;
    width: 100%;
    height: auto;
    bottom: 0;
    justify-content: center;
    align-items: center;
    padding: 1rem;
  }
  h3 {
    padding: 0 1.81rem 0 1.75rem;
    color: var(--black);
    text-align: center;
    font-size: 1.75rem;
    font-style: normal;
    font-weight: 900;
    line-height: 1.8125rem; /* 103.571% */
    text-transform: uppercase;
  }
}
.component-title-sliding-images-and-texts__slider-side-image::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100vw;
  background: linear-gradient(var(--black) 70%, #fff 30%);
}

.component-title-sliding-images-and-texts__page-terroirs-terroir {
  .component-title-sliding-images-and-texts--component-accordion__page-terroirs-terroir:has(.accordion-title.rotate-arrow-180) {
    padding: 1.25rem;
    background-color: var(--black);
  }

  .component-title-sliding-images-and-texts--component-accordion__page-terroirs-terroir:not(:has(.accordion-title.rotate-arrow-180))
    .component-title-sliding-images-and-texts--accordion-title__page-terroirs-terroir {
    display: none;
  }

  .component-title-sliding-images-and-texts--accordion-title__page-terroirs-terroir {
    height: 5.938rem;
    width: 100%;
    border: 0.5rem solid var(--white);
    color: var(--white);
    font-style: italic;
    font-weight: 400;
    font-size: 1rem;
    margin-bottom: 0;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .component-title-sliding-images-and-texts--accordion-title__page-terroirs-terroir::after {
    top: 50%;
    transform: translate(-6rem, -50%);
    left: 50%;
    margin-left: 0;
    background-image: var(--dropdown-arrow-background-white);
  }

  .component-title-sliding-images-and-texts--accordion-title__page-terroirs-terroir:hover {
    background-color: var(--white);
    color: var(--black);
    transition: all 0.5s;
    border-radius: 3.125rem;
  }

  .component-title-sliding-images-and-texts--accordion-title__page-terroirs-terroir:hover::after {
    background-image: var(--dropdown-arrow-background-black);
    transition: all 0.5s;
  }
}

.component-title-sliding-images-and-texts__terroir-single-sub-banner {
  position: relative;
  font-family: var(--font-family);

  .component-title-sliding-images-and-texts--img-wrapper__terroir-single-sub-banner {
    position: relative;
    width: 100%;
  }
  .component-title-sliding-images-and-texts--img-wrapper__terroir-single-sub-banner::after {
    content: '';
    display: block;
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(135deg, #1d1d1b, #1d1d1b 1px, #1d1d1b 1px, #000 4px);
    opacity: 0.25;
  }

  .component-title-sliding-images-and-texts--img-wrapper__terroir-single-sub-banner img {
    object-fit: cover;
  }

  .component-title-sliding-images-and-texts--head__terroir-single-sub-banner {
    position: relative;
  }

  .component-title-sliding-images-and-texts--texts__terroir-single-sub-banner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    padding: 0;
  }

  .component-title-sliding-images-and-texts--title__terroir-single-sub-banner {
    color: var(--white);
    font-weight: 900;
    text-transform: uppercase;
    font-size: 1.875rem;
    line-height: 2.188rem;
    text-align: center;
  }

  .component-title-sliding-images-and-texts--title__terroir-single-sub-banner::before {
    display: none;
  }

  .component-title-sliding-images-and-texts--title__terroir-single-sub-banner::after {
    margin: 1.875rem auto;
    background-color: var(--white);
    content: '';
    display: block;
    height: 0.625rem;
    width: 2.188rem;
  }

  .component-title-sliding-images-and-texts--description__terroir-single-sub-banner {}

  .component-title-sliding-images-and-texts--description__terroir-single-sub-banner p {
    font-size: 1rem;
    line-height: 1.625rem;
    font-style: italic;
    color: var(--white);
    text-align: center;
  }

  .component-title-sliding-images-and-texts--description__terroir-single-sub-banner p a {
    color: var(--primary);
  }

  .component-title-sliding-images-and-texts--description__terroir-single-sub-banner p a:hover {
    text-decoration: underline;
  }

  .component-title-cta-images-and-caption__terroir-single-sub-banner {
    background-color: var(--black);
    padding: 6.25rem 1.25rem;
    position: relative;
  }

  .component-title-cta-images-and-caption__terroir-single-sub-banner::before {
    position: absolute;
    left: 50%;
    top: 3.125rem;

    content: '';
    display: block;
    height: 0.625rem;
    width: 2.188rem;
    background-color: var(--white);
    transform: translateX(-50%);
  }

  .component-title-cta-images-and-caption__terroir-single-sub-banner::after {
    position: absolute;
    left: 50%;
    bottom: 3.125rem;

    content: '';
    display: block;
    height: 0.625rem;
    width: 2.188rem;
    background-color: var(--white);
    transform: translateX(-50%);
  }

  .component-title-cta-images-and-caption__terroir-single-sub-banner--image-wrapper img {
    width: 100%;
    height: auto;
    max-width: 60%;
    margin: 0 auto;
  }

  .component-title-cta-images-and-caption__terroir-single-sub-banner--description p {
    font-size: 1.125rem;
    line-height: 1.25rem;
    margin: 1.25rem auto 1.875rem;
    max-width: 15.313rem;
    color: var(--white);
    text-align: center;
    font-style: italic;
  }
}

.component-title-sliding-images-and-texts__conseil-enfant {
  width: var(--content-width);
  max-width: var(--max-content-width);
  margin: 3.125rem auto 0;

  .component-title-sliding-images-and-texts--slides__conseil-enfant {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
  }

  .component-title-sliding-images-and-texts--page-generic-page__conseil-enfant--title {
    font-size: 0.938rem;
    line-height: 1.25rem;
    font-weight: 700;
    color: var(--primary-grey-5);
    margin-top: 0.313rem;
  }

  .component-title-sliding-images-and-texts--component-wrapper-picture-picture-image__conseil-enfant {
    width: 100%;
    height: auto;
  }
}

.component-title-sliding-images-and-texts__conseil-enfant-2cols {
  width: var(--content-width);
  max-width: var(--max-content-width);
  margin: 3.75rem auto;

  .card__conseil-enfant-2cols {
    position: relative;
  }

  .card__conseil-enfant-2cols::before {
    background: var(--black-3);
    opacity: 0.25;
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 1;
    content: '';
    display: block;
  }

  .component-title-sliding-images-and-texts--slides__conseil-enfant-2cols {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
  }

  .component-title-sliding-images-and-texts--page-generic-page__conseil-enfant-2cols--title {
    font-size: 1.875rem;
    line-height: 2.063rem;
    font-weight: 900;
    color: var(--white);
    width: 100%;
    text-align: center;

    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
  }

  .component-title-sliding-images-and-texts--component-wrapper-picture-picture-image__conseil-enfant-2cols {
    width: 100%;
    height: auto;
  }
}

.component-title-sliding-images-and-texts__sub-aside-2cards {
  .component-title-sliding-images-and-texts--slides__sub-aside-2cards {
    display: flex;
    flex-direction: column;
  }

  .component-title-cta-images-and-caption__page-terroirs-terroir {
    height: auto;
    aspect-ratio: 390/279;
    justify-content: center;
  }
  .component-title-cta-images-and-caption__page-terroirs-terroir:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--black-3);
    opacity: 0.25;
    z-index: 1;
  }
  .component-title-cta-images-and-caption__page-terroirs-terroir .component-title-cta-images-and-caption--image-wrapper {
    display: none;
  }
  .component-title-cta-images-and-caption__page-terroirs-terroir--title {
    position: relative;
    font-size: 1.875rem;
    line-height: 1.875rem;
    z-index: 2;
  }
  .component-title-cta-images-and-caption__page-terroirs-terroir--title:after {
    position: absolute;
    bottom: -1.5rem;
    left: 50%;
    transform: translateX(-50%);

    content: '';
    border-bottom: 0.75rem solid;
    display: block;
    width: 1.875rem;
    font-size: inherit;
    font-family: inherit;
  }

  .component-title-cta-images-and-caption__page-terroirs-terroir:after {
    content: 'Terroirs';

    position: absolute;
    display: block;
    font-size: 1.375rem;
    font-family: var(--font-family-playfair);
    font-style: italic;
    text-transform: initial;
    color: var(--white);
    font-weight: 900;
    z-index: 2;

    background-image: url("data:image/svg+xml,%3Csvg width='62' height='64' viewBox='0 0 62 64' fill='none' xmlns='http://www.w3.org/2000/svg' opacity='0.5'%3E%3Cpath d='M0.359253 63.3478L61.3593 0.347809' stroke='white'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-position: center;
    top: 1rem;
    left: 50%;
    transform: translateX(-50%);
  }

  .component-title-cta-images-and-caption__page-terroirs-terroir>a {
    justify-content: center;
    align-items: center;
  }

  .component-title-sliding-images-and-texts--component-wrapper-picture-picture-image {
    height: auto;
    aspect-ratio: 390/279;
  }
}

@media (max-width: 47.938rem /* 767px */) {
  .component-title-sliding-images-and-texts__conseil-enfant {
    max-width: 25rem;
  }
}

@media (min-width: 48rem /* 768px */) {
  .component-title-sliding-images-and-texts__wide-slider {
    .component-title-sliding-images-and-texts--head__wide-slider {
      padding-left: 1rem;
    }
    h2 {
      max-width: none;
    }

    h2::before {
      top: 50%;
      transform: translateY(-50%);
    }
    .component-cta {
      width: auto;
      padding: 0.9375rem 3.125rem;
    }
  }
  .component-title-sliding-images-and-texts__slider-brand {
    .swiper-button-next,
    .swiper-button-prev {
      top: 80%;
    }
    h2 {
      max-width: none;
    }

    h2::before {
      top: 50%;
      transform: translateY(-50%);
    }
  }
  .component-title-sliding-images-and-texts__slider-rs {
    .component-title-sliding-images-and-texts--slide__slider-rs {
      height: 375px;
    }
  }
  .component-title-sliding-images-and-texts__masonry-desktop {
    .component-title-sliding-images-and-texts--swiper-wrapper__masonry-desktop {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      grid-template-rows: 18.375rem 18.375rem 27.5625rem;

      gap: 0.75rem;
      width: 100%;
    }
    .component-title-sliding-images-and-texts--title__masonry-desktop {
      max-width: none;
    }

    .component-title-sliding-images-and-texts--title__masonry-desktop::before {
      left: -1rem;
      top: 50%;
      transform: translateY(-50%);
    }

    .component-title-sliding-images-and-texts--description__masonry-desktop p {
      max-width: 50.75rem;
      font-size: 1.25rem;
    }

    .component-title-sliding-images-and-texts--slide__masonry-desktop {
      max-width: 100%;
    }

    .card--img-wrapper__masonry-desktop img {
      height: 18.375rem;
    }

    .component-title-sliding-images-and-texts--slide__masonry-desktop:nth-child(1) {
      grid-column: 1 / span 2;
      grid-row: 1 / span 2;
    }

    .component-title-sliding-images-and-texts--slide__masonry-desktop:nth-child(1) .card--img-wrapper__masonry-desktop img {
      height: 37.5rem;
    }

    .component-title-sliding-images-and-texts--slide__masonry-desktop:nth-child(2) {
      grid-column: 3;
      grid-row: 1;
    }

    .component-title-sliding-images-and-texts--slide__masonry-desktop:nth-child(3) {
      grid-column: 3;
      grid-row: 2;
    }

    .component-title-sliding-images-and-texts--slide__masonry-desktop:nth-child(4) {
      grid-column: 1 / span 3;
      grid-row: 3;
    }

    .component-title-sliding-images-and-texts--slide__masonry-desktop:nth-child(4) .card--img-wrapper__masonry-desktop img {
      height: 27.5625rem;
    }
  }
  .component-title-sliding-images-and-texts__slider-side-image {
    .page-home--component-wrapper-picture-picture-image__home {
      max-width: 9.375rem;
      height: auto;
    }
    h2 {
      max-width: none;
    }

    h2::before {
      top: 50%;
      transform: translateY(-50%);
    }
    .component-title-sliding-images-and-texts--description__slider-side-image {
      max-width: 70%;
    }
    .card__slider-side-image,
    .card--content {
      max-width: 15.75rem;
    }

    .card--content {
      display: none;
    }

    .card--inner:hover .card--content {
      display: flex;
      height: 100%;
    }
  }
  .component-title-sliding-images-and-texts__page-terroirs-terroir {
    .component-title-sliding-images-and-texts--component-accordion__page-terroirs-terroir:has(.accordion-title.rotate-arrow-180) {
      padding-top: 6.25rem;
    }

    .component-title-sliding-images-and-texts--accordion-title__page-terroirs-terroir {
      font-size: 1.5rem;
      line-height: 5rem;
    }

    .component-title-sliding-images-and-texts--accordion-title__page-terroirs-terroir::after {
      transform: translate(-8rem, -50%);
      background-size: 1.5rem 1.5rem;
      width: 1.5rem;
      height: 1.5rem;
    }
  }
  .component-title-sliding-images-and-texts__terroir-single-sub-banner {
    .component-title-sliding-images-and-texts--img-wrapper__terroir-single-sub-banner img {
      height: auto;
      width: 100%;
    }
    .component-title-sliding-images-and-texts--title__terroir-single-sub-banner {
      top: 6.25rem;
      font-size: 2.125rem;
      line-height: 2.125rem;
    }
    .component-title-sliding-images-and-texts--title__terroir-single-sub-banner::after {
      margin: 3.125rem auto;
    }
    .component-title-sliding-images-and-texts--description__terroir-single-sub-banner {
      top: 17rem;
    }

    .component-title-sliding-images-and-texts--description__terroir-single-sub-banner p {
      font-size: 1.125rem;
      line-height: 1.875rem;
    }
    .component-title-cta-images-and-caption__terroir-single-sub-banner--image-wrapper img {
      max-width: 17.688rem;
    }
  }
  .component-title-sliding-images-and-texts__conseil-enfant {
    .component-title-sliding-images-and-texts--slides__conseil-enfant {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      column-gap: 1.875rem;
      row-gap: 2.813rem;
    }
    .component-title-sliding-images-and-texts--component-wrapper-picture-picture-image__conseil-enfant {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
    }
    .component-title-sliding-images-and-texts--page-generic-page__conseil-enfant--title {
      font-size: 1.25rem;
    }
  }
  .component-title-sliding-images-and-texts__conseil-enfant-2cols {
    .component-title-sliding-images-and-texts--slides__conseil-enfant-2cols {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      column-gap: 1.875rem;
      row-gap: 2.813rem;
    }
    .component-title-sliding-images-and-texts--component-wrapper-picture-picture-image__conseil-enfant {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
    }
    .component-title-sliding-images-and-texts--page-generic-page__conseil-enfant--title {
      font-size: 1.25rem;
    }
  }
  .component-title-sliding-images-and-texts__sub-aside-2cards {
    .component-title-sliding-images-and-texts--slides__sub-aside-2cards {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
    }

    .component-title-cta-images-and-caption__page-terroirs-terroir--title {
      top: auto;
      left: auto;
      transform: none;
    }

    .component-title-sliding-images-and-texts--wrapper-asset img {
      position: absolute;
      height: 100%;
    }
  }
}

@media (min-width: 64rem /* 1024px */) {
  .swiper-button-next,
  .swiper-button-prev {
    width: 2.875rem;
    height: 2.875rem;
  }
  .swiper-button-next:after,
  .swiper-button-prev:after {
    width: 2.875rem;
    height: 2.875rem;
    background-size: 2.875rem 2.875rem;
  }

  .component-title-sliding-images-and-texts__wide-slider {
    margin-top: 4.81rem;
    margin-bottom: 3.13rem;
    .component-title-sliding-images-and-texts--wrapper__wide-slider {
      position: relative;
    }
    .component-title-sliding-images-and-texts--slides__wide-slider {
      position: static;
      max-width: calc(100% - 13rem);
    }
    h2 {
      font-size: 2.125rem;
      line-height: 3.75rem; /* 176.471% */
    }
    .component-title-sliding-images-and-texts--cta__wide-slider {
      margin-top: 3.81rem;
    }
  }
  .component-title-sliding-images-and-texts__slider-brand {
    margin-top: 3.75rem;
    margin-bottom: 3.42rem;
    .component-title-sliding-images-and-texts--head__slider-brand {
      margin-bottom: 2.25rem;
    }
    h2 {
      font-size: 2.125rem;
      line-height: 3.75rem; /* 176.471% */
    }
    .swiper-button-next,
    .swiper-button-prev {
      top: 75%;
    }
  }

  .component-title-sliding-images-and-texts__slider-rs {
    padding-top: 4.12rem;
    padding-bottom: 3.12rem;

    .component-title-sliding-images-and-texts--head__slider-rs {
      margin-top: 6.06rem;
    }

    .component-title-sliding-images-and-texts--head__slider-rs h2 {
      max-width: 54.6875rem;
      font-size: 3.75rem;
      line-height: 4.2875rem;
    }

    .swiper-arrow {
      bottom: -4.75rem;
    }
  }

  .component-title-sliding-images-and-texts__masonry-desktop {
    padding-bottom: 4.13rem;
    .component-title-sliding-images-and-texts--swiper-wrapper__masonry-desktop {
      grid-template-columns: minmax(18.375rem, 37.5rem) minmax(0, 18.375rem) minmax(0, 18.375rem);
      grid-template-rows: repeat(2, 18.375rem);
      margin: 0 auto;
      max-width: 75.75rem;
    }
    .component-title-sliding-images-and-texts--title__masonry-desktop {
      font-size: 2.125rem;
      line-height: 3.75rem; /* 176.471% */
    }
    
    .component-title-sliding-images-and-texts--slides__masonry-desktop {
      width: 100%;
      margin-left: auto;
      margin-right: auto;
      padding-left: 0;
      padding-right: 0;
    }

    .component-title-sliding-images-and-texts--slide__masonry-desktop:nth-child(1) {
      grid-column: 1;
    }

    .component-title-sliding-images-and-texts--slide__masonry-desktop:nth-child(2) {
      grid-column: 2;
      grid-row: 1;
    }

    .component-title-sliding-images-and-texts--slide__masonry-desktop:nth-child(3) {
      grid-column: 3;
      grid-row: 1;
    }

    .component-title-sliding-images-and-texts--slide__masonry-desktop:nth-child(4) {
      grid-column: 2 / span 2;
      grid-row: 2;
    }

    .component-title-sliding-images-and-texts--slide__masonry-desktop:nth-child(4) .card--img-wrapper__masonry-desktop img {
      height: 18.375rem;
    }

    .component-title-sliding-images-and-texts--slide__masonry-desktop .card--inner {

      picture {
        overflow: hidden;

        img {
          transition: transform 0.25s;
        }
      }
    }

    .component-title-sliding-images-and-texts--slide__masonry-desktop .card--content {
      display: none;
    }

    .component-title-sliding-images-and-texts--slide__masonry-desktop .card--inner:hover {

      img {
        transform: scale(1.1);
      }

      .card--content {
        display: block;
      }
    }

    .component-title-sliding-images-and-texts--slide__masonry-desktop .card--content-regular {
      --arrow-size: 1.5rem;

      padding: 1.5rem;
      padding-left: calc(var(--arrow-size) * 3);
    }

    .component-title-sliding-images-and-texts--slide__masonry-desktop .card--content-regular h3 {
      --card-font-size: 1.875rem;
      --card-line-height: 2.75rem;

      font-size: var(--card-font-size);
      /*line-height: var(--card-line-height);*/
      margin-left: 0;
      padding: 0;
    }

    .component-title-sliding-images-and-texts--slide__masonry-desktop .card--content-regular h3::before {
      width: var(--arrow-size);
      height: var(--arrow-size);
      left: calc(var(--arrow-size) * (-2)); /*-2.43981rem;*/
      background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20.364 12.7071C20.5515 12.5196 20.6568 12.2653 20.6568 12.0001C20.6568 11.7349 20.5515 11.4806 20.364 11.2931L14.707 5.6361C14.6148 5.54059 14.5044 5.46441 14.3824 5.412C14.2604 5.35959 14.1292 5.332 13.9964 5.33085C13.8636 5.3297 13.7319 5.355 13.609 5.40528C13.4861 5.45556 13.3745 5.52981 13.2806 5.6237C13.1867 5.7176 13.1125 5.82925 13.0622 5.95215C13.0119 6.07504 12.9866 6.20672 12.9877 6.3395C12.9889 6.47228 13.0165 6.6035 13.0689 6.7255C13.1213 6.84751 13.1975 6.95785 13.293 7.0501L17.243 11.0001L4 11.0001C3.73478 11.0001 3.48043 11.1055 3.29289 11.293C3.10536 11.4805 3 11.7349 3 12.0001C3 12.2653 3.10536 12.5197 3.29289 12.7072C3.48043 12.8947 3.73478 13.0001 4 13.0001L17.243 13.0001L13.293 16.9501C13.1108 17.1387 13.01 17.3913 13.0123 17.6535C13.0146 17.9157 13.1198 18.1665 13.3052 18.3519C13.4906 18.5373 13.7414 18.6425 14.0036 18.6448C14.2658 18.6471 14.5184 18.5463 14.707 18.3641L20.364 12.7071Z' fill='white'/%3E%3C/svg%3E");
    }

    .component-title-sliding-images-and-texts--slide__masonry-desktop:nth-child(2) .card--content-regular,
    .component-title-sliding-images-and-texts--slide__masonry-desktop:nth-child(3) .card--content-regular {
      --arrow-size: 1rem;
      
      padding: 1rem;
      padding-left: calc(var(--arrow-size) * 3);

      h3 {
        font-size: calc(var(--card-font-size) / 2);
        /*line-height: calc(var(--card-line-height) / 2);*/
      }
    }

    .component-title-sliding-images-and-texts--slide__masonry-desktop:nth-child(4) .card--content-regular {
      h3 {
        font-size: calc(var(--card-font-size) / 1.5);
        /*line-height: calc(var(--card-line-height) / 1.5);*/
      }
    }
  }
  
  .component-title-sliding-images-and-texts__slider-side-image {
    .swiper-button-next,
    .swiper-button-prev {
      display: block;
      width: 2.875rem;
      height: 2.875rem;
      top: auto;
      bottom: 5.69rem;
    }

    .swiper-button-prev {
      right: 3.625rem;
      left: auto;
    }
    .swiper-button-next {
      right: 0;
    }

    .component-title-sliding-images-and-texts--slides__slider-side-image {
      max-width: 51.625rem;
      position: static;
      margin: 0;

      .card--img-wrapper {
        .component-wrapper-picture--picture-image {
          width: 15.5rem;
          height: 19.125rem;
          max-width: none;
        }
      }
    }
    .component-title-sliding-images-and-texts--wrapper__slider-side-image {
      padding-bottom: 5.69rem;
      width: var(--content-width);
      margin: 0 auto;
    }

    .swiper-button-next:after,
    .swiper-button-prev:after {
      background-image: var(--slider-arrow-orange);
      width: 2.875rem;
      height: 2.875rem;
      background-size: 2.875rem 2.875rem;
    }
    h2 {
      font-size: 2.125rem;
      line-height: 3.75rem; /* 176.471% */
      margin-top: 2.87rem;
      padding-left: 1.255rem;
    }
    h2::before {
      left: 0;
    }
    .component-title-sliding-images-and-texts--head__slider-side-image {
      max-width: 75.75rem;
      padding: 2.03rem 0 1.69rem;
    }
    .component-title-sliding-images-and-texts--img-wrapper__slider-side-image {
      right: 0;
    }
    .page-home--component-wrapper-picture-picture-image__home {
      max-width: 14.5rem;
    }
    .component-title-sliding-images-and-texts--description__slider-side-image {
      max-width: 50%;
      br {
        display: none;
      }
      p {
        font-size: 1.25rem;
        font-weight: 400;
        line-height: 1.5625rem; /* 125% */
      }
    }
    .card__slider-side-image,
    .card--content {
      max-width: none;
      width: 15.5rem;
    }
  }
  .component-title-sliding-images-and-texts__terroir-single-sub-banner {
    .component-title-sliding-images-and-texts--wrapper__terroir-single-sub-banner {
      display: flex;
    }

    .component-title-sliding-images-and-texts--head__terroir-single-sub-banner {
      width: 70%;
      position: relative;
    }

    .component-title-sliding-images-and-texts--title__terroir-single-sub-banner {
      font-size: 2.5rem;
      line-height: 2.625rem;
    }

    .component-title-sliding-images-and-texts--slides__terroir-single-sub-banner {
      width: 30%;
    }

    .component-title-cta-images-and-caption__terroir-single-sub-banner {
      padding: 6.25rem 0;
      height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .component-title-cta-images-and-caption__terroir-single-sub-banner--image-wrapper img {
      max-width: 60%;
    }
  }
  .component-title-sliding-images-and-texts__conseil-enfant {
    .component-title-sliding-images-and-texts--slides__conseil-enfant {
      grid-template-columns: repeat(3, 1fr);
    }
  }
  .component-title-sliding-images-and-texts__sub-aside-2cards {
    .component-title-cta-images-and-caption__page-terroirs-terroir--title {
      font-size: 3.125rem;
      line-height: 3.125rem;
      width: 80%;
    }
  }
}

@media (min-width: 80rem /* 1280px */) {
  .component-title-sliding-images-and-texts__slider-side-image {
    .swiper-button-prev {
      left: 58.685rem;
      right: auto;
    }
    .swiper-button-next {
      left: 62.31rem;
      right: auto;
    }
    .component-title-sliding-images-and-texts--img-wrapper__slider-side-image {
      right: 0.5rem;
      top: 4rem;
    }
    .page-home--component-wrapper-picture-picture-image__home {
      max-width: none;
    }
    .component-title-sliding-images-and-texts--description__slider-side-image {
      max-width: 51.625rem;
    }
  }
  .component-title-sliding-images-and-texts__terroir-single-sub-banner {
    .component-title-sliding-images-and-texts--title__terroir-single-sub-banner {
      font-size: 3.438rem;
      line-height: 3.563rem;
    }
    .component-title-sliding-images-and-texts--description__terroir-single-sub-banner {
      top: 20rem;
    }

    .component-title-sliding-images-and-texts--description__terroir-single-sub-banner p {
      font-size: 1.5rem;
      line-height: 2.25rem;
    }

    .component-title-cta-images-and-caption__terroir-single-sub-banner--image-wrapper img {
      max-width: 17.688rem;
    }
  }
  .component-title-sliding-images-and-texts__sub-aside-2cards {
    .component-title-cta-images-and-caption__page-terroirs-terroir--title {
      font-size: 3.625rem;
      line-height: 3.625rem;
    }
  }
}

@media (min-width: 90rem /* 1440px */) {
  .component-title-sliding-images-and-texts__slider-rs {

    .component-title-sliding-images-and-texts--wrapper__slider-rs {
      --fade: 5rem; /* 80px */

      max-width: 90rem; /* 1440px */
      margin-inline: auto;
      overflow: hidden;
      mask-image: linear-gradient(
        to right,
        transparent,
        black var(--fade),
        black calc(100% - var(--fade)),
        transparent
      );
    }
  }

  .component-title-sliding-images-and-texts__terroir-single-sub-banner {
    .component-title-sliding-images-and-texts--title__terroir-single-sub-banner {
      font-size: 4.063rem;
      line-height: 4.063rem;
    }
  }
}
