/**
 * Styles pour les blocs ACF
 * @package Nature Digitale
 */

/* ==========================================================================
   Base - Page ACF Content
   ========================================================================== */

.page-acf-content {
  width: 100%;
}

.acf-block {
  width: 100%;
}

/* ==========================================================================
   Block - Slideshow
   ========================================================================== */

.block-slideshow {
  width: 100%;
}

.sb-slider-wrapper {
  width: 100%;
  overflow: hidden;
  padding: 60px 0 40px;
  position: relative;
}

.sb-slider {
  width: 100%;
  overflow: visible;
  padding-bottom: 50px;
}

/* Configuration Swiper - Hauteur fixe */
.sb-slider .swiper-wrapper {
  align-items: center;
  height: 600px;
}

.sb-slider .swiper-slide {
  width: auto !important;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.5s ease;
}

/* Container image - Respecte le ratio naturel */
.sb-slide-inner {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sb-slide-inner img {
  height: 100%;
  width: auto;
  max-width: none;
  object-fit: contain;
  display: block;
}

/* Slide actif (central) - Scale et compensation gérés par JS */
.sb-slider .swiper-slide-active {
  z-index: 2;
}

.sb-slider .swiper-slide-active .sb-slide-inner img {
  box-shadow: none;
}

/* Navigation - Flèches en bas au centre */
.sb-slider-nav {
  position: absolute;
  bottom: -40px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  gap: 20px;
  pointer-events: none;
  z-index: 10;
}

.sb-slider-prev,
.sb-slider-next {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid #9e8044;
  border-radius: 0;
  cursor: pointer;
  pointer-events: auto;
  transition: all 0.3s ease;
}

.sb-slider-prev img,
.sb-slider-next img {
  width: 24px;
  height: 24px;
  filter: invert(52%) sepia(28%) saturate(740%) hue-rotate(2deg) brightness(94%)
    contrast(85%);
  transition: filter 0.3s ease;
}

.sb-slider-prev:hover,
.sb-slider-next:hover {
  background: #9e8044;
}

.sb-slider-prev:hover img,
.sb-slider-next:hover img {
  filter: brightness(0) invert(1);
}

/* Pagination - Masquée */
.sb-slider-pagination {
  display: none;
}

/* Responsive - Tablette (980px) */
@media (max-width: 980px) {
  .sb-slider-wrapper {
    padding: 30px 0;
  }

  .sb-slider .swiper-wrapper {
    height: 500px;
  }

  .sb-slider-prev,
  .sb-slider-next {
    width: 40px;
    height: 40px;
  }
}

/* Responsive - Mobile (767px) */
@media (max-width: 767px) {
  .sb-slider-wrapper {
    padding: 50px 0;
  }

  .sb-slider {
    padding-bottom: 40px;
  }

  .sb-slider .swiper-wrapper {
    height: 400px;
  }

  .sb-slider-prev,
  .sb-slider-next {
    width: 36px;
    height: 36px;
  }

  .sb-slider-nav {
    gap: 15px;
  }
}

/* Petit mobile (480px) */
@media (max-width: 480px) {
  .sb-slider .swiper-wrapper {
    height: 350px;
  }
}

/* Grands écrans (1600px+) */
@media (min-width: 1600px) {
  .sb-slider .swiper-wrapper {
    height: 700px;
  }
}

/* Accessibilité - Focus visible */
.sb-slider-prev:focus-visible,
.sb-slider-next:focus-visible {
  outline: 2px solid #9e8044;
  outline-offset: 2px;
}

/* Animation de chargement initial */
.sb-slider:not(.swiper-initialized) {
  opacity: 0;
}

.sb-slider.swiper-initialized {
  animation: sbFadeIn 0.6s ease forwards;
}

@keyframes sbFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* ==========================================================================
   Block - Title
   ========================================================================== */

.block-title {
  width: 100%;
  padding-inline: 20px;
}

.block-title.center {
  text-align: center;
}

.block-title__primary,
.block-title__secondary {
  font-family: "Calluna-Regular", serif;
  margin: 0 !important;
  padding: 0 !important;
  font-weight: 500 !important;
  line-height: 1.2em;
}

.block-title__primary {
  font-size: clamp(32px, 4vw, 42px) !important;
}

/* Dual titles: primary = petit/gris, secondary = grand/doré */

/* ==========================================================================
   Block - Text
   ========================================================================== */

.block-text {
  width: 100%;
  padding-inline: 20px;
}

.block-text.center {
  text-align: center;
}

.block-text__content {
  font-family: "Nunito", sans-serif;
  font-size: 16px;
  color: #666;
  font-weight: 500;
  line-height: 1.8;
}

.block-text__content h2 {
  font-family: "Calluna-Regular", serif;
  font-size: clamp(32px, 4vw, 42px);
  font-weight: 500;
  color: #9e8044;
  line-height: 1.2;
  margin: 0 0 16px;
  padding: 0;
}

.block-text__content h3 {
  font-family: "Calluna-Regular", serif;
  font-size: 26px !important;
  font-weight: 500;
  color: #9e8044 !important;
  line-height: 1.2;
  margin: 0 0 25px;
  padding: 0;
}

/* ==========================================================================
   Component - Bouton (format WYSIWYG)
   ========================================================================== */
.block-btn a {
  text-align: center;
  display: block;
  background-color: #9e8044;
  width: fit-content;
  padding: 5px 30px;
  color: white;
  border: 1px solid #9e8044;
  transition:
    background-color 0.3s ease,
    color 0.3s ease;
}

.block-btn a:hover {
  background-color: transparent;
  color: #9e8044;
}

/* ==========================================================================
   Block - Key Figures
   ========================================================================== */

.block-key-figures {
  width: 100%;
  padding-inline: 20px;
}

.block-key-figures__grid {
  display: flex;
  justify-content: center;
  gap: 60px;
  flex-wrap: wrap;
}

.block-key-figures__item {
  text-align: center;
  min-width: 140px;
}

.block-key-figures__nombre {
  font-family: "Calluna-Regular", serif;
  font-size: clamp(36px, 6vw, 52px);
  font-weight: 400;
  color: #9e8044;
  line-height: 1.1;
  margin-bottom: 8px;
}

.block-key-figures__value {
  display: inline;
  font-variant-numeric: tabular-nums;
}

.block-key-figures__suffixe {
  display: inline;
}

.block-key-figures__label {
  font-family: "Nunito", sans-serif;
  font-size: 14px !important;
  font-weight: 500;
  color: #666;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin: 0;
}

/* Responsive - Tablette (980px) */
@media (max-width: 980px) {
  .block-key-figures__grid {
    gap: 40px;
  }
}

/* Responsive - Mobile (767px) */
@media (max-width: 767px) {
  .block-key-figures__grid {
    gap: 30px 40px;
  }

  .block-key-figures__item {
    min-width: 120px;
  }

  .block-key-figures__label {
    font-size: 13px;
  }
}

/* Petit mobile (480px) */
@media (max-width: 480px) {
  .block-key-figures__grid {
    gap: 24px 30px;
  }

  .block-key-figures__item {
    min-width: 100px;
  }
}

/* ==========================================================================
   Block - Media Text
   ========================================================================== */

.block-media-text {
  width: 100%;
  padding-inline: 20px;
}

.block-media-text__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
}

/* Image à droite : on inverse l'ordre des colonnes */
.block-media-text--image-right .block-media-text__grid {
  direction: rtl;
}

.block-media-text--image-right .block-media-text__grid > * {
  direction: ltr;
}

.block-media-text--image-right .block-media-text__text {
  text-align: right;
}

.block-media-text--image-right .block-media-text__text h2 {
  text-align: right;
}

.block-media-text--image-right .block-media-text__text p {
  text-align: right;
}

.block-media-text__media img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  object-position: center;
  aspect-ratio: 3/4;
}

.block-media-text__text {
  font-family: "Nunito", sans-serif;
  font-size: 16px;
  color: #666;
  font-weight: 500;
  line-height: 1.8;
}

.block-media-text__text h2 {
  font-family: "Calluna-Regular", serif;
  font-size: clamp(32px, 4vw, 42px) !important;
  font-weight: 500;
  color: #9e8044 !important;
  line-height: 1.2;
  margin: 0 0 40px;
  padding: 0;
}

.block-media-text__text p {
  text-align: justify;
}

.block-media-text__text p:first-child {
  margin-top: 0;
}

.block-media-text__text p:last-child {
  margin-bottom: 0;
}

.block-media-text__content .block-btn {
  margin-top: 40px;
}

/* Responsive - Tablette (980px) */
@media (max-width: 980px) {
  .block-media-text__grid {
    gap: 30px;
  }
}

/* Responsive - Mobile (767px) */
@media (max-width: 767px) {
  .block-media-text__grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  /* Sur mobile, toujours image en premier */
  .block-media-text--image-right .block-media-text__grid {
    direction: ltr;
  }

  .block-media-text__media {
    order: -1;
  }

  .block-media-text__text h2 {
    text-align: center;
  }

  .block-media-text--image-right .block-media-text__text,
  .block-media-text--image-right .block-media-text__text h2,
  .block-media-text--image-right .block-media-text__text p {
    text-align: center;
  }

  .block-media-text__content .block-btn a {
    margin-inline: auto;
  }
}

/* ==========================================================================
   Block - Portfolio Cards
   ========================================================================== */

.block-portfolio-cards {
  width: 100%;
  padding-inline: 20px;
}

.block-portfolio-cards__grid {
  display: grid;
  grid-template-columns: 1fr 1.15fr 1fr;
  gap: 20px;
  align-items: center;
}

/* Card centrale légèrement plus grande */
.block-portfolio-cards__card:nth-child(2) {
  z-index: 1;
}

.block-portfolio-cards__card {
  display: block;
  text-decoration: none;
  overflow: hidden;
  position: relative;
}

.block-portfolio-cards__image {
  overflow: hidden;
}

.block-portfolio-cards__image img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  aspect-ratio: 3/4;
  transition: transform 0.5s ease;
}

.block-portfolio-cards__card:hover .block-portfolio-cards__image img {
  transform: scale(1.03);
}

.block-portfolio-cards__title {
  font-family: "Calluna-Regular", serif;
  font-size: 24px !important;
  font-weight: 500;
  color: #9e8044;
  text-align: center;
  margin: 30px 0 0;
  padding: 0;
}

a.block-portfolio-cards__card:hover .block-portfolio-cards__title {
  color: #333;
}

/* Responsive - Tablette (980px) */
@media (max-width: 980px) {
  .block-portfolio-cards__grid {
    gap: 20px;
  }

  .block-portfolio-cards__card:nth-child(2) {
    transform: scale(1.03);
  }
}

/* Responsive - Mobile (767px) */
@media (max-width: 767px) {
  .block-portfolio-cards__grid {
    grid-template-columns: 1fr;
    max-width: 100%;
    margin-inline: auto;
    gap: 90px;
  }

  .block-portfolio-cards__card:nth-child(2) {
    transform: none;
  }

  .block-portfolio-cards__card {
    display: flex;
    flex-direction: column-reverse;
  }

  .block-portfolio-cards__title {
    margin: 0 0 30px;
    font-size: 26px !important;
    color: #9e8044;
  }
}

/* ==========================================================================
   Block - Logo Slider
   ========================================================================== */

.block-logo-slider {
  width: 100%;
  overflow: hidden;
  padding: 10px 0;
  position: relative;
}

.block-logo-slider::before,
.block-logo-slider::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 80px;
  z-index: 2;
  pointer-events: none;
}

.block-logo-slider::before {
  left: 0;
  background: linear-gradient(
    to right,
    var(--logo-slider-fade, #f7f4ef),
    transparent
  );
}

.block-logo-slider::after {
  right: 0;
  background: linear-gradient(
    to left,
    var(--logo-slider-fade, #f7f4ef),
    transparent
  );
}

.block-logo-slider__swiper {
  overflow: hidden;
}

.block-logo-slider__slide {
  width: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 30px;
  box-sizing: content-box;
}

.block-logo-slider__slide img {
  height: 90px;
  width: 200px;
  max-width: unset;
  object-fit: contain;
  margin: 0 auto;
  display: block;
  filter: grayscale(100%);
  opacity: 0.6;
  transition:
    filter 0.3s ease,
    opacity 0.3s ease;
}

.block-logo-slider__swiper {
  pointer-events: none;
}

/* ==========================================================================
   Block - Reviews
   ========================================================================== */

.block-reviews {
  width: 100%;
}

.block-reviews .block-wrapper {
  max-width: 900px;
  margin-inline: auto;
  padding: 0 20px;
}

.block-reviews__swiper {
  overflow: hidden;
  position: relative;
  padding-bottom: 90px;
}

.block-reviews__card {
  text-align: center;
  padding: 20px 40px;
  height: 500px;
  display: flex;
  flex-direction: column;
}

.block-reviews__text {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
  font-style: italic;
  margin: 0 0 16px;
  padding: 0 10px 30px 0;
  flex: 1;
  overflow-y: auto;
  position: relative;
  scrollbar-width: thin;
  scrollbar-color: #9e8044 transparent;
  mask-image: linear-gradient(to bottom, #000 80%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, #000 80%, transparent 100%);
}

.block-reviews__text::-webkit-scrollbar {
  width: 4px;
}

.block-reviews__text::-webkit-scrollbar-thumb {
  background: #9e8044;
  border-radius: 2px;
}

.block-reviews__text p {
  margin: 0 0 10px;
}

.block-reviews__text p:last-child {
  margin-bottom: 0;
}

.block-reviews__name {
  font-family: "Calluna-Regular", serif;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #9e8044;
  margin: 0 0 10px;
}

.block-reviews__stars {
  display: flex;
  justify-content: center;
  gap: 3px;
  margin-bottom: 20px;
}

/* Navigation */
.block-reviews__nav {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 20px;
}

.block-reviews__prev,
.block-reviews__next {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 1px solid #9e8044;
  cursor: pointer;
  transition: all 0.3s ease;
}

.block-reviews__prev img,
.block-reviews__next img {
  width: 24px;
  height: 24px;
  filter: invert(52%) sepia(28%) saturate(740%) hue-rotate(2deg) brightness(94%)
    contrast(85%);
  transition: filter 0.3s ease;
}

.block-reviews__prev:hover,
.block-reviews__next:hover {
  background: #9e8044;
}

.block-reviews__prev:hover img,
.block-reviews__next:hover img {
  filter: brightness(0) invert(1);
}

/* Responsive - Mobile */
@media (max-width: 767px) {
  .block-reviews__card {
    padding: 10px 10px;
  }
}

/* ==========================================================================
   Block - List Columns
   ========================================================================== */

.block-list-columns .block-wrapper {
  max-width: 900px;
  margin-inline: auto;
  padding: 0 20px;
}

.block-list-columns__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px 60px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.block-list-columns__item {
  padding: 0 0 20px;
  border-bottom: 1px solid rgba(217, 217, 217, 0.4);
}

.block-list-columns__title {
  font-family: "Calluna-Regular", serif;
  font-size: 16px;
  font-weight: 600;
  color: #9e8044;
  margin: 0 0 6px;
}

.block-list-columns__text {
  font-size: 14px;
  line-height: 1.6;
  color: #555;
  margin: 0;
}

.block-list-columns__text p {
  margin: 0;
}

.block-list-columns__text a {
  color: #9e8044;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: opacity 0.3s ease;
}

.block-list-columns__text a:hover {
  opacity: 0.7;
}

/* Responsive - Mobile */
@media (max-width: 767px) {
  .block-list-columns__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* ==========================================================================
   Block - Button
   ========================================================================== */

.block-button {
  padding: 20px 0;
}

.block-button.center a {
  margin-inline: auto;
}

/* ==========================================================================
   Block - Image Grid
   ========================================================================== */

.block-image-grid__grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 15px;
}

.block-image-grid__item img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

@media (max-width: 767px) {
  .block-image-grid__grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   Block - FAQ
   ========================================================================== */

.block-faq .block-wrapper {
  max-width: 800px;
  margin-inline: auto;
  padding: 0 20px;
}

.block-faq__list {
  border-top: 1px solid rgba(217, 217, 217, 0.4);
}

.block-faq__item {
  border-bottom: 1px solid rgba(217, 217, 217, 0.4);
}

.block-faq__question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background: none;
  border: none;
  padding: 20px 0;
  font-family: "Calluna-Regular", serif;
  font-size: 16px;
  font-weight: 400;
  color: #333;
  text-align: left;
  cursor: pointer;
  line-height: 1.4;
  transition: color 0.3s ease;
}

.block-faq__question:hover {
  color: #9e8044;
}

.block-faq__icon {
  position: relative;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #9e8044;
}

.block-faq__icon::before,
.block-faq__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: #fff;
  border-radius: 1px;
  transition: transform 0.3s ease;
}

.block-faq__icon::before {
  width: 9px;
  height: 1px;
  transform: translate(-50%, -50%);
}

.block-faq__icon::after {
  width: 1px;
  height: 9px;
  transform: translate(-50%, -50%);
}

.block-faq__item.open .block-faq__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
  opacity: 0;
}

.block-faq__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
}

.block-faq__answer-inner {
  padding: 0 0 20px;
  font-size: 14px;
  line-height: 1.8;
  color: #555;
}

.block-faq__answer-inner p {
  margin: 0 0 10px;
}

.block-faq__answer-inner p:last-child {
  margin-bottom: 0;
}

.block-faq__answer-inner a {
  color: #9e8044;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ==========================================================================
   Page Accueil V2 - Design spécifique
   ========================================================================== */

.page-template-template-acf-blocks.page-accueil-v2 p,
.page-template-template-acf-blocks.page-accueil-v2 li,
.page-template-template-acf-blocks.page-accueil-v2 .block-text__content {
  font-family: "Nunito", sans-serif;
  font-size: 17px;
}

.page-template-template-acf-blocks.page-accueil-v2 ul {
  list-style: disc;
  padding-left: 17px;
  padding-top: 20px;
  padding-bottom: 20px;
}

.page-template-template-acf-blocks.page-accueil-v2 li {
  margin-bottom: 10px;
  color: #666;
  line-height: 1.8;
}

.page-template-template-acf-blocks.page-accueil-v2 li::marker {
  color: #9e8044;
}

/* seconde section */

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-002
  .block-title {
  max-width: 800px;
  margin-inline: auto;
  padding: 90px 20px 40px;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-002
  .block-title.default-titles
  .block-title__primary {
  font-size: clamp(26px, 4vw, 32px) !important;
  color: #666 !important;
  padding-bottom: 90px !important;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-002
  .block-title.default-titles
  .block-title__secondary {
  font-size: clamp(28px, 5vw, 38px) !important;
  color: #9e8044 !important;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-002
  .block-title.title-single {
  padding: 90px 20px 0px;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-002
  .block-title.title-single
  h3.block-title__primary {
  font-size: clamp(28px, 5vw, 38px) !important;
  color: #9e8044 !important;
  padding-bottom: 40px !important;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-002
  .block-title__primary {
  font-size: clamp(22px, 4vw, 26px) !important;
  color: #666 !important;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-002
  .block-title__secondary {
  font-size: clamp(24px, 4vw, 32px) !important;
  color: #666 !important;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-002
  .custom-titles
  .block-title__primary {
  font-size: 48px !important;
  color: #9e8044 !important;
  padding-bottom: 90px !important;
  display: flex;
  flex-direction: column;
  max-width: 450px;
  margin-left: auto !important;
  margin-right: auto !important;
  line-height: 1.4;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-002
  .custom-titles
  .block-title__primary
  .first-part-title {
  align-self: flex-start;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-002
  .custom-titles
  .block-title__primary
  .second-part-title {
  align-self: flex-end;
}

@media (max-width: 768px) {
  .page-template-template-acf-blocks.page-accueil-v2
    .section-sbp-002
    .custom-titles
    .block-title__primary
    .first-part-title,
  .page-template-template-acf-blocks.page-accueil-v2
    .section-sbp-002
    .custom-titles
    .block-title__primary
    .second-part-title {
    align-self: center;
  }
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-002
  .custom-titles
  .block-title__secondary {
  font-size: clamp(28px, 5vw, 38px) !important;
  color: #9e8044 !important;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-002
  .block-text {
  max-width: 700px;
  margin-inline: auto;
  text-align: justify;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-002
  .block-text
  p {
  font-size: 19px;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-002
  .block-text
  ul {
  padding: 20px 0;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-002
  .block-text
  li {
  color: #9e8044;
}

/* troisieme section */

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-003
  .block-key-figures {
  background-color: #f7f4ef;
  margin: 90px 0;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-003
  .block-key-figures
  .block-wrapper {
  max-width: 1200px;
  margin-inline: auto;
  padding: 40px 0;
}

/* quatrieme section */

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-004
  .block-media-text {
  margin: 90px 0;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-004
  .block-media-text
  .block-wrapper {
  max-width: 950px;
  margin-inline: auto;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-004
  .block-media-text--image-left {
  background-color: #f7f4ef;
  padding: 90px 20px;
}

.page-template-template-acf-blocks.page-accueil-v2 .section-sbp-004 p {
  font-size: 19px;
}

/* cinquieme section */

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-005
  .block-title {
  max-width: 800px;
  margin-inline: auto;
  padding: 0px 0 40px;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-005
  .block-title__primary {
  font-size: clamp(32px, 5vw, 42px) !important;
  color: #9e8044 !important;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-005
  .block-text {
  max-width: 600px;
  margin-inline: auto;
  padding-bottom: 40px;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-005
  .block-portfolio-cards
  .block-wrapper {
  max-width: 1200px;
  margin-inline: auto;
  padding: 40px 0 110px;
}

/* sixieme section */

.page-template-template-acf-blocks.page-accueil-v2 .section-sbp-006 {
  /* background-color: #eee9e0; */
  background-color: #f7f4ef;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-006
  .block-title {
  max-width: 800px;
  margin-inline: auto;
  padding: 90px 0 40px;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-006
  .block-title__primary {
  font-size: clamp(32px, 5vw, 42px) !important;
  color: #9e8044 !important;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-006
  .block-logo-slider {
  max-width: 1200px;
  margin-inline: auto;
  isolation: isolate;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-006
  .block-logo-slider:last-child {
  padding-bottom: 90px;
}

/* septieme section */
.page-template-template-acf-blocks.page-accueil-v2 .section-sbp-007 {
  /* background-color: #f7f4ef; */
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-007
  .block-title {
  max-width: 800px;
  margin-inline: auto;
  padding: 90px 0 40px;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-007
  .block-title__primary {
  font-size: clamp(32px, 5vw, 42px) !important;
  color: #9e8044 !important;
}

/* huitieme section */

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-008
  .block-title {
  max-width: 700px;
  margin-inline: auto;
  padding: 90px 0 40px;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-008
  .block-title__primary {
  font-size: clamp(32px, 5vw, 42px) !important;
  color: #9e8044 !important;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-008
  .block-text {
  max-width: 800px;
  margin-inline: auto;
  padding-bottom: 90px;
  text-align: justify;
}

/* neuvieme section */

.page-template-template-acf-blocks.page-accueil-v2 .section-sbp-009 {
  /* background-color: #f7f4ef; */
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-009
  .block-title {
  max-width: 700px;
  margin-inline: auto;
  padding: 90px 0 40px;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-009
  .block-title__primary {
  font-size: clamp(32px, 5vw, 42px) !important;
  color: #9e8044 !important;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-009
  .block-text {
  max-width: 800px;
  margin-inline: auto;
  padding-bottom: 90px;
  text-align: justify;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-009
  .block-image-grid {
  max-width: 1200px;
  margin-inline: auto;
  padding-bottom: 90px;
  padding-inline: 20px;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-009
  .block-image-grid__grid {
  grid-template-columns: 1fr 1fr;
}

/* dizieme section */

.page-template-template-acf-blocks.page-accueil-v2 .section-sbp-010 {
  background-color: #f7f4ef;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-010
  .block-title {
  max-width: 700px;
  margin-inline: auto;
  padding: 90px 0 40px;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-010
  .block-title__primary {
  font-size: clamp(32px, 5vw, 42px) !important;
  color: #9e8044 !important;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-010
  .block-image-grid {
  max-width: 1200px;
  margin-inline: auto;
  padding-bottom: 30px;
}

@media (max-width: 768px) {
  .page-template-template-acf-blocks.page-accueil-v2
    .section-sbp-010
    .block-image-grid__grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* onzieme section */

.page-template-template-acf-blocks.page-accueil-v2 .section-sbp-011 {
  background-color: #f7f4ef;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-011
  .block-title {
  max-width: 700px;
  margin-inline: auto;
  padding: 90px 0 40px;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-011
  .block-title__primary {
  font-size: clamp(32px, 5vw, 42px) !important;
  color: #9e8044 !important;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-011
  .block-text {
  max-width: 800px;
  margin-inline: auto;
  padding-bottom: 60px;
  text-align: justify;
  border-bottom: 1px solid #ebe9e6;
  margin-bottom: 60px;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-011
  .block-list-columns
  ~ .block-text {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-011
  .block-list-columns
  .block-wrapper {
  max-width: 800px;
  padding-bottom: 60px;
  border-bottom: 1px solid #ebe9e6;
  margin-bottom: 60px;
}

/* SBP-011 — List Columns : style numérotation éditoriale */

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-011
  .block-list-columns__grid {
  counter-reset: list-counter;
  gap: 40px;
  padding: 0 0 20px;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-011
  .block-list-columns__item {
  counter-increment: list-counter;
  position: relative;
  border-bottom: none;
  padding: 0;
  margin: 0;
  list-style: none;
  padding: 15px;
  border-radius: 5px;
  background-color: #f0ece4;
  border: 1px solid #eee6d5;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-011
  .block-list-columns__item::before {
  content: counter(list-counter, decimal-leading-zero);
  font-family: "Calluna-Regular", serif;
  font-size: clamp(48px, 6vw, 72px);
  font-weight: 700;
  color: rgba(158, 128, 68, 0.1);
  line-height: 1;
  display: block;
  margin-bottom: 15px;
  pointer-events: none;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-011
  .block-list-columns__title {
  font-size: 18px;
  font-weight: 700;
  padding-bottom: 15px;
  margin-bottom: 0px;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-011
  .block-list-columns__text {
  font-size: 15px;
  text-align: justify;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-011
  .block-button {
  max-width: 800px;
  margin-inline: auto;
  padding: 60px 0 90px;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-011
  .block-button a {
  font-size: 18px;
}

/* Douzieme section */

.page-template-template-acf-blocks.page-accueil-v2 .section-sbp-012 {
  /* background-color: #f7f4ef; */
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-012
  .block-title {
  max-width: 700px;
  margin-inline: auto;
  padding: 90px 20px 40px;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-012
  .block-title__primary {
  font-size: clamp(32px, 5vw, 42px) !important;
  color: #9e8044 !important;
}

.page-template-template-acf-blocks.page-accueil-v2
  .section-sbp-012
  .block-faq
  .block-wrapper {
  padding-bottom: 90px;
}
