/* -------------------------- GLOBAL -------------------------- */

.content.container {
  max-width: 1500px;
}

.content > * {
  margin-top: 40px;
}

.content > .btn,
.content > .title + * {
  margin-top: 24px;
}

.content > .title + * {
  margin-top: 0;
}

.single > .container {
  padding-inline: 30px;
}

@media (max-width: 576px) {
  .single > .container {
    padding-inline: unset;
  }
}

@media (max-width: 992px) {
  .content > * {
    margin-top: 24px;
  }
}

/* -------------------------- TITRE -------------------------- */

.content > .title {
  font-size: 1.875rem;
  line-height: 2.5rem;
}

@media (max-width: 992px) {
  .content > .title {
    font-size: 1.25rem;
    line-height: 1.875rem;
  }
}

/* -------------------------- PARAGRAPHE -------------------------- */

/* -------------------------- IMAGE -------------------------- */

.content .image {
  border-radius: 30px;
  margin-inline: auto;
  display: block;
}

/* .content .image.vertical {
  max-width: 70%;
  margin-inline: auto;
} */

@media (max-width: 992px) {
  .content .image {
    border-radius: 12px;
  }
}

@media (max-width: 768px) {
  .content .image.vertical {
    max-width: 100%;
  }
}

/* -------------------------- BOUTON -------------------------- */

/* -------------------------- CITATION -------------------------- */

.content .quote {
  font-size: 1.375rem;
  line-height: 2.1875rem;
  padding-left: 48px;
  border-left: solid 3px var(--color-primary);
}

@media (max-width: 992px) {
  .content .quote {
    font-size: 1.25rem;
    line-height: 2rem;
    padding-left: 32px;
  }
}

/* -------------------------- VIDEO -------------------------- */

.content iframe {
  width: 100%;
}

/* -------------------------- FICHIER -------------------------- */

.content .file {
  width: 100%;
  max-width: 1000px;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  background-color: var(--color-primary);
  color: var(--color-white);
  border-radius: 12px;
  padding: 27px 50px;
}

.content .file p {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 1.375rem;
  line-height: 1.625rem;
}

.content .file > svg {
  width: 34px;
  min-width: 34px;
  height: auto;
}

@media (min-width: 993px) {
  .content .file:hover {
    background-color: var(--color-primary);
  }
}

@media (max-width: 992px) {
  .content .file {
    padding: 20px 30px;
  }
  .content .file p {
    font-size: 1.125rem;
    line-height: 1.25rem;
  }
  .content .file p svg {
    width: 25px;
    min-width: 25px;
    height: auto;
  }
  .content .file > svg {
    width: 23px;
    min-width: 23px;
  }
}

/* -------------------------- RÉSUMÉ -------------------------- */

.content .summary {
  border: solid 2px var(--color-primary);
  background-color: #f7f8fa;
  padding: 32px 50px;
  border-radius: 24px;
  max-width: 1000px;
  margin-inline: auto;
}

.content .summary .title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 22px;
  line-height: 26px;
  font-weight: normal;
}

.content .summary p {
  font-size: 1.25rem;
  line-height: 1.625rem;
}

@media (max-width: 992px) {
  .content .summary {
    padding: 28px 34px;
    border-radius: 12px;
  }
  .content .summary .title svg {
    width: 30px;
    height: auto;
  }
  .content .summary p {
    font-size: 1.125rem;
    line-height: 1.875rem;
  }
}

/* -------------------------- TRANSCRIPTION -------------------------- */

.content .transcription {
  background-color: #f7f8fa;
  border: solid 2px var(--color-primary);
  border-radius: 24px;
  max-width: 1000px;
  margin-inline: auto;
  cursor: pointer;
}

.content .transcription summary {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 22px;
  line-height: 26px;
  position: relative;
  padding: 32px 50px;
}

.content .transcription .paragraphe {
  margin: 0px;
  padding: 0px 50px 50px 50px;
}

.content .transcription .paragraphe p,
.content .transcription .paragraphe li,
.content .transcription .paragraphe span {
  font-size: 1.25rem;
  line-height: 1.625rem;
}

.content .transcription summary::after {
  position: absolute;
  content: "+";
  display: block;
  height: 23px;
  width: 23px;
  right: 36px;
  color: var(--color-primary);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 39px;
  line-height: 47px;
}

.content .transcription[open] summary::after {
  content: "-";
}

@media (max-width: 992px) {
  .content .transcription {
    border-radius: 12px;
  }
  .content .transcription summary {
    padding: 28px 34px;
  }
  .content .transcription summary svg {
    width: 30px;
    height: auto;
  }
  .content .transcription summary::after {
    height: 20px;
    width: 20px;
    font-size: 30px;
    line-height: 30px;
  }
  .content .transcription .paragraphe {
    padding: 0px 34px 28px 34px;
  }
  .content .transcription .paragraphe p,
  .content .transcription .paragraphe li,
  .content .transcription .paragraphe span {
    font-size: 1.125rem;
    line-height: 1.875rem;
  }
}

/* -------------------------- SLIDER -------------------------- */

.content .swiper.sliderBig {
  position: relative;
  border-radius: 30px;
  height: 754px;
  background-color: #e4e4e4;
}

.content .swiper.sliderBig .swiper-slide {
  object-fit: contain;
  border-radius: 30px;
}

.swiper-pagination {
  top: initial !important;
  bottom: 28px !important;
}

.swiper-pagination-bullet {
  background-color: var(--color-white) !important;
  margin-inline: 5px !important;
  height: 20px !important;
  width: 20px !important;
  opacity: 1 !important;
}

.swiper-pagination-bullet-active {
  background-color: var(--color-primary) !important;
}

.swiper-button-next,
.swiper-button-prev {
  background-color: var(--color-primary);
  border-radius: 100%;
  height: 70px;
  width: 70px;
  justify-content: center;
  align-items: center;
  border: solid 1px var(--color-primary);
}

.swiper-button-next {
  right: 42px;
  bottom: 0px !important;
  top: 47.5% !important;
  transform: translateY(-50%) !important;
  margin: 0px !important;
}

.swiper-button-prev {
  left: 42px;
  bottom: 0px !important;
  top: 47.5% !important;
  transform: translateY(-50%) !important;
  margin: 0px !important;
}

.swiper-button-next:after,
.swiper-button-prev:after {
  height: 12px;
  width: 18px;
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateX(0px);
  transition: 300ms ease;
}

.swiper-button-prev:after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='12' viewBox='0 0 19 12' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M2.35616 5.56163L18.0822 5.47944L18.1096 6.71232L2.63013 6.71232L6.95889 11.0411L5.99999 12L1.90735e-06 6.02739L0.0273991 5.99999L0.958904 5.06848L5.99999 0L6.95889 0.958902L2.35616 5.56163Z' fill='white'/%3E%3C/svg%3E");
}
.swiper-button-next:after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='12' viewBox='0 0 19 12' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M15.7534 5.56163L0.0273972 5.47944L0 6.71232H15.4794L11.1507 11.0411L12.1096 12L18.1096 6.02739L18.0822 5.99999L17.1507 5.06848L12.1096 0L11.1507 0.958902L15.7534 5.56163Z' fill='white'/%3E%3C/svg%3E");
}

.swiper-button-next,
.swiper-button-prev {
  height: 37px;
  width: 37px;
}
.swiper-button-next {
  right: -18px;
}
.swiper-button-prev {
  left: -18px;
}

/* @media (pointer: fine) {
  .swiper-button-prev:hover:after {
    transform: translateX(-6px);
    transition: 300ms ease;
  }
  .swiper-button-next:hover:after {
    transform: translateX(6px);
    transition: 300ms ease;
  }
} */

@media (max-width: 992px) {
  .content .swiper .sliderBig .swiper-slide {
    aspect-ratio: 375/275;
  }
  .swiper-button-next,
  .swiper-button-prev {
    height: 35px;
    width: 35px;
  }
  .swiper-button-next {
    right: -18px;
  }
  .swiper-button-prev {
    left: -18px;
  }
  .swiper-pagination {
    bottom: 8px !important;
  }
  .swiper-pagination-bullet {
    height: 10px !important;
    width: 10px !important;
    margin-inline: 3px !important;
  }
}

/* -------------------------- BLOCS -------------------------- */

.content .blocs {
  display: flex;
  flex-direction: column;
  gap: 100px;
}

.content .blocs .bloc {
  display: flex;
  align-items: center;
  gap: 120px;
}

.content .blocs .bloc .imgContainer,
.content .blocs .bloc figcaption {
  width: 50%;
}

.content .blocs .bloc .imgContainer,
.content .blocs .bloc .imgContainer img {
  display: block;
}

.content .blocs .bloc.odd .imgContainer {
  order: 2;
}

.content .blocs .bloc .imgContainer img {
  border-radius: 30px;
  aspect-ratio: 1;
}

.content .blocs .bloc .title {
  font-size: 1.875rem;
  line-height: 2.5rem;
  margin-bottom: 15px;
  color: var(--color-primary);
}

.content .blocs .bloc .paragraphe * {
  color: var(--color-primary);
}

.content .blocs .bloc .btn {
  margin-block: 22px 0px !important;
}

@media (max-width: 1400px) {
  .content .blocs {
    gap: 50px;
  }
  .content .blocs .bloc {
    gap: 80px;
  }
}

@media (max-width: 992px) {
  .content .blocs .bloc {
    gap: 50px;
  }
  .content .blocs .bloc .title {
    font-size: 1.25rem;
    line-height: 1.875rem;
  }
  .content .blocs .bloc .imgContainer img {
    border-radius: 12px;
  }
}

@media (max-width: 700px) {
  .content .blocs .bloc {
    flex-direction: column;
    gap: 30px;
  }
  .content .blocs .bloc .imgContainer,
  .content .blocs .bloc figcaption {
    width: 100%;
  }
  .content .blocs .bloc.odd .imgContainer {
    order: 0 !important;
  }
}

/* -------------------------- CHIFFRES -------------------------- */

.content .numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 60px 130px;
}

.content .numbers .number {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 300px;
}

.content .numbers .number p {
  font-family: "Outfit", sans-serif;
  font-size: 5rem;
  line-height: 4.375rem;
  text-align: center;
  font-weight: bold;
}

.content .numbers .number p.text {
  font-size: 1.25rem;
  line-height: 1.5625rem;
  color: var(--color-primary);
  text-align: center;
}

@media (max-width: 1600px) {
  .content .numbers {
    gap: 40px 90px;
  }
}

@media (max-width: 992px) {
  .content .numbers .number p {
    font-size: 3.75rem;
    line-height: 3.4375rem;
  }
}

/* -------------------------- GRILLE DE PAGES -------------------------- */

.content > .page_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-inline: auto;
}

.content > .page_grid .page {
  width: 100%;
}

.content > .page_grid:has(> :nth-child(3):last-child) {
  grid-template-columns: repeat(3, 1fr);
  justify-items: stretch;
}

.content > .page_grid:has(> :nth-child(2):last-child) {
  grid-template-columns: repeat(2, 1fr);
  justify-content: center;
  justify-items: center;
  max-width: 1000px;
  margin-inline: auto;
}

.content > .page_grid:has(> :nth-child(1):last-child) {
  grid-template-columns: 1fr;
  justify-content: center;
  justify-items: center;
  max-width: 400px;
  margin-inline: auto;
}

@media (max-width: 1200px) {
  .content > .page_grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 600px) {
  .content > .page_grid {
    grid-template-columns: 1fr !important;
  }
}

/* -------------------------- FORMULAIRE -------------------------- */

/* -------------------------- GRILLE D'IMAGES -------------------------- */

.content > .image_grid {
  display: grid;
  gap: 20px;
  margin-inline: auto;
}

/* Grille avec 2 images */
.content > .image_grid:has(> :nth-child(2):last-child) {
  grid-template-columns: repeat(2, 1fr);
  max-width: 1000px;
}

/* Grille avec 3 images */
.content > .image_grid:has(> :nth-child(3):last-child) {
  grid-template-columns: repeat(3, 1fr);
}

.content > .image_grid .image-item {
  width: 100%;
}

.content > .image_grid .image-item img {
  width: 100%;
  height: 100%;
  border-radius: 30px;
  object-fit: cover;
  display: block;
}

@media (max-width: 768px) {
  .content > .image_grid {
    grid-template-columns: 1fr !important;
  }
}

/* -------------------------- SLIDER SMALL -------------------------- */

.content .swiper.sliderSmall {
  position: relative;
}

.content .swiper.sliderSmall .swiper-slide {
  aspect-ratio: 1100/620;
  object-fit: contain;
}

@media (max-width: 992px) {
  .content .swiper.sliderSmall .swiper-slide {
    aspect-ratio: 375/275;
  }
  .swiper-pagination {
    bottom: 8px !important;
  }
}

/* -------------------------- SHORTCODE -------------------------- */
