/**
 * Life'Scape - Styles pour les pages Rooms
 * Extrait du CSS original WordPress
 */

/* ============================================
   GLOBAL - Body single room
   ============================================ */

body.single-room {
  padding-top: 270px;
}

body.single-room:before {
  content: url('../images/general/verticalsmoke.svg');
  left: 150px;
  max-height: 100%;
  overflow: hidden;
  position: absolute;
  z-index: 1;
}

@media (max-width: 768px) {
  body.single-room:before {
    display: none;
  }
}

/* ============================================
   BREADCRUMB
   ============================================ */

body.single-room .container > .breadcrum {
  margin-bottom: 40px;
  position: relative;
  z-index: 100;
}

.container .breadcrum {
  position: relative;
  z-index: 5;
}

.container .breadcrum,
.container .breadcrum a {
  color: #301f1f;
  font-family: Montserrat;
  font-size: 13px;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
  text-transform: uppercase;
}

@media (max-width: 768px) {
  .container .breadcrum {
    display: none;
  }
}

/* ============================================
   PAGE LISTING - Archive Rooms
   ============================================ */

.archive {
  padding-bottom: 50px;
  padding-top: 250px;
}

.archive .container {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 1280px;
  padding: 0 15px;
}

@media (max-width: 991px) {
  .archive .container {
    padding: 0 20px !important;
    width: 100%;
  }
}

.archive .container .breadcrum {
  margin-bottom: 40px;
  position: relative;
  z-index: 50;
}

.archive .container .breadcrum,
.archive .container .breadcrum a {
  color: #301f1f;
  font-family: Montserrat;
  font-size: 13px;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
  text-transform: uppercase;
}

.archive .archive-rooms {
  position: relative;
  text-align: center;
}

.archive .archive-rooms .archive-title {
  margin-bottom: 40px;
}

.archive .archive-rooms .archive-title h1 {
  color: #483c3c;
  font-family: Gelasio;
  font-size: 45px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  text-align: center;
}

@media (max-width: 768px) {
  .archive .archive-rooms .archive-title h1 {
    font-size: 35px;
  }
}

@media (max-width: 480px) {
  .archive .archive-rooms .archive-title h1 {
    font-size: 28px;
  }
}

.archive .archive-rooms .room-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
  position: relative;
}

.archive .archive-rooms .room-list .archivesinfo {
  display: flex;
  /* Les colonnes prennent la largeur de leur libelle, et la rangee se replie si
     elles ne tiennent pas cote a cote. Sans cela « 2 à 6 joueur·euse·s », qui
     demande 146px, restait bride a 100px : U+00B7 n'etant pas une opportunite
     de cesure, le texte ne pouvait ni tenir ni passer a la ligne, et mordait de
     46px sur « FRA/ENG* ». Valable a toutes les largeurs : le debordement se
     produisait aussi bien sur ordinateur que sur mobile. */
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 14px;
  padding-bottom: 10px;
  padding-top: 10px;
  width: 100%;
}

.archive .archive-rooms .room-list .archivesinfo .room-info-item {
  flex: 0 1 auto;
}

.archive .archive-rooms .room-list .archivesinfo .room-info-item img {
  height: 28px;
  width: auto;
}

.archive .archive-rooms .room-list .archivesinfo .room-info-item p {
  /* Plus de bride a 100px : la colonne suit son libelle. Le mot reste d'un
     bloc, c'est la rangee qui se replie si besoin, jamais le mot.
     14px au lieu de 16 : « 2 à 6 joueur·euse·s » passe de 146px a 128px, ce qui
     laisse les quatre pictos de Calamity Jane (avec PMR) tenir sur une seule
     rangee. C'est aussi la taille de ce meme bandeau sur les pages de salle. */
  max-width: none;
  width: auto;
  white-space: nowrap;
  font-size: 14px;
}

.archive .archive-rooms .room-list .room-item {
  flex: 1 1 calc(33.333% - 20px);
  max-width: calc(33.333% - 20px);
  text-align: center;
  z-index: 30;
}

@media (max-width: 992px) {
  .archive .archive-rooms .room-list .room-item {
    flex: 1 1 calc(50% - 20px);
    max-width: calc(50% - 20px);
  }
}

@media (max-width: 576px) {
  .archive .archive-rooms .room-list .room-item {
    flex: 1 1 100%;
    max-width: 100%;
  }
}

.archive .archive-rooms .room-list .room-item .room-thumbnail {
  position: relative;
  z-index: 2;
}

.archive .archive-rooms .room-list .room-item .room-thumbnail:after {
  background-image: url('../images/general/smoke-2-6.webp');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 130%;
  left: -15%;
  pointer-events: none;
  position: absolute;
  top: -15%;
  width: 130%;
  z-index: -1;
}

.archive .archive-rooms .room-list .room-item .room-thumbnail img {
  aspect-ratio: 425 / 417;
  display: block;
  height: auto;
  max-width: 425px;
  object-fit: cover;
  position: relative;
  width: 100%;
  z-index: 2;
}

.archive .archive-rooms .room-list .room-item .room-title {
  color: #483c3c;
  font-family: Gelasio;
  font-size: 1.2rem;
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  padding: 10px;
}

.archive .archive-rooms .room-list .room-item .room-info-item p {
  white-space: nowrap;
  width: 100%;
}

.archive .archive-rooms .room-list .room-item .room-button {
  background-color: #483c3c;
  border: none;
  border-radius: 2rem;
  color: #fff;
  font-family: Work Sans;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  padding: 1rem 40px;
  text-align: center;
  text-transform: uppercase;
  z-index: 50;
}

.archive .archive-rooms .room-list:after {
  content: url('../images/general/whitesmoke.svg');
  position: absolute;
  top: -200px;
  width: 100%;
  z-index: 1;
}

@media (max-width: 769px) {
  .archive .archive-rooms .room-list:after {
    display: none;
  }
}

.archive .archive-rooms .room-list:before {
  bottom: 120px;
  content: url('../images/general/whitesmoke1.svg');
  position: absolute;
  width: 100%;
  z-index: 1;
}

@media (max-width: 769px) {
  .archive .archive-rooms .room-list:before {
    display: none;
  }
}

.archive:after {
  content: url('../images/general/smokeleft.webp');
  left: -250px;
  position: absolute;
  top: -180px;
}

@media (max-width: 769px) {
  .archive:after {
    display: none;
  }
}

.archive:before {
  content: url('../images/general/smokeright.webp');
  position: absolute;
  right: -290px;
  top: -180px;
}

@media (max-width: 769px) {
  .archive:before {
    display: none;
  }
}

/* ============================================
   PAGES INDIVIDUELLES - Banner Section
   ============================================ */

/* 250px et non 150 : le voile de papier dechire occupe les 240 premiers pixels
   de chaque page, et le fil d'Ariane, premier enfant de cette section, tombait
   en plein dessus. 250px est la valeur deja retenue partout ailleurs sur le
   site (.txt2-img, .txt-img2 en tete de page) : les pages salles rentrent donc
   simplement dans le rang. */
.banner-sectionsingle {
  padding-top: 250px;
}

/* Le header est en position absolue : il ne pousse pas le contenu, c'est ce
   padding qui doit le degager. Sur mobile il s'empile en colonne et son logo
   descend bien plus bas que sur desktop, ou 150px suffisent.
   --header-bas porte le bas reel du logo, mesure au chargement (voir le script
   de partials/header.php). Une valeur en dur ne convenait pas : la hauteur du
   header varie selon l'appareil, et les 22px de marge que laissaient 220px
   etaient consommes des que le widget d'avis ou les polices se rendaient
   differemment — le logo recouvrait alors le titre.
   Le repli couvre le cas ou le script ne s'execute pas. */
@media (max-width: 1024px) {
  .banner-sectionsingle {
    padding-top: calc(var(--header-bas, 198px) + 2.5rem);
  }
}

.banner-sectionsingle .container {
  box-sizing: border-box;
}

@media (max-width: 991px) {
  .banner-sectionsingle .container {
    padding: 0 20px !important;
    width: 100%;
  }
}

.banner-sectionsingle .container .banner-single {
  display: grid;
  gap: 80px;
  grid-template-columns: 1fr 1fr;
  position: relative;
  z-index: 2;
}

@media (max-width: 768px) {
  .banner-sectionsingle .container .banner-single {
    grid-template-columns: 1fr;
    text-align: center;
  }
}

.banner-sectionsingle .container .banner-single .single-infos {
  z-index: 2;
}

.banner-sectionsingle .container .banner-single .single-infos h1 {
  color: #483c3c;
  font-family: Gelasio;
  font-size: 45px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  padding-bottom: 20px;
  padding-top: 20px;
  white-space: nowrap;
}

@media (max-width: 768px) {
  .banner-sectionsingle .container .banner-single .single-infos h1 {
    font-size: 35px;
    text-align: center;
    white-space: normal;
  }
}

.banner-sectionsingle .container .banner-single .single-infos .banner-infos {
  display: flex;
  flex-direction: row;
  gap: 50px;
  text-align: center;
  width: 100%;
  z-index: 2;
}

@media (max-width: 768px) {
  .banner-sectionsingle .container .banner-single .single-infos .banner-infos {
    justify-content: center;
    /* 50px de gouttiere ne laissaient que 78px par colonne : « Intermédiaire »
       n'y tenait pas. 1rem porte chaque colonne a ~100px, de quoi loger le plus
       long libelle sans le couper. */
    gap: 1rem;
  }
}

.banner-sectionsingle .container .banner-single .single-infos .banner-infos .banner-info img {
  height: 28px;
  -o-object-fit: contain;
  object-fit: contain;
  width: auto;
}

.banner-sectionsingle .container .banner-single .single-infos .banner-infos .banner-info p {
  color: #301f1f;
  font-family: Work Sans;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  max-width: 100px;
  text-align: center;
  width: 100%;
  /* Meme colonne fixe que sur la liste des salles, meme filet de securite. */
  overflow-wrap: break-word;
}

@media (max-width: 768px) {
  .banner-sectionsingle .container .banner-single .single-infos .banner-infos .banner-info p {
    font-size: 12px;
  }
}

.banner-sectionsingle .container .banner-single .single-infos .banner-link {
  background-color: #483c3c;
  border: none;
  border-radius: 2rem;
  color: #fff;
  font-family: Work Sans;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  margin-top: 20px;
  padding: 1rem 40px;
  text-align: center;
  text-transform: uppercase;
  z-index: 50;
}

@media (max-width: 768px) {
  .banner-sectionsingle .container .banner-single .single-infos .banner-link {
    margin-top: 15px;
    text-align: center;
  }
}

.banner-sectionsingle .container .banner-single .banner-image {
  width: 100%;
  z-index: 2;
}

.banner-sectionsingle .container .banner-single .banner-image img {
  height: auto;
  max-width: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  width: 100%;
}

@media (max-width: 768px) {
  .banner-sectionsingle .container .banner-single .banner-image,
  .banner-sectionsingle .container .banner-single .banner-image img {
    display: none;
  }
}

.banner-sectionsingle .container .banner-single:after {
  content: url('../images/general/whitesmoke.svg');
  height: 100%;
  left: -50px;
  position: absolute;
  top: -100px;
  width: 100%;
  z-index: 1;
}

@media (max-width: 768px) {
  .banner-sectionsingle .container .banner-single:after {
    display: none;
  }

  .banner-sectionsingle .container .banner {
    align-items: center;
    gap: 40px;
    grid-template-columns: 1fr;
    justify-content: center;
    text-align: center;
  }
}

/* ============================================
   Overlay
   ============================================ */

.overlay {
  background-image: url('../images/general/paper_origin_croped.webp');
  background-size: cover;
  height: 260px;
  left: 0;
  max-height: 260px;
  position: absolute;
  transform: rotate(180deg);
  width: 100vw;
}

/* ============================================
   Block Text-Image (Section 2)
   ============================================ */

.block--text-image {
  background: #dedcc3;
  margin-top: 75px;
  position: relative;
  z-index: 3;
}

@media (max-width: 768px) {
  .block--text-image {
    margin-top: 150px;
  }
}

.block--text-image .container {
  box-sizing: border-box;
}

@media (max-width: 991px) {
  .block--text-image .container {
    padding: 0 20px !important;
    width: 100%;
  }
}

.block--text-image .container .single-section2 {
  display: flex;
  gap: 80px;
  position: relative;
  z-index: 2;
}

@media (max-width: 768px) {
  .block--text-image .container .single-section2 {
    align-items: center;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    width: 100%;
  }
}

.block--text-image .container .single-section2 .content-container {
  max-width: 55%;
}

@media (max-width: 768px) {
  .block--text-image .container .single-section2 .content-container {
    max-width: 100%;
    padding: 0 20px;
  }
}

.block--text-image .container .single-section2 .content-container h2 {
  color: #483c3c;
  font-family: Gelasio;
  font-size: 45px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  padding-bottom: 20px;
}

@media (max-width: 768px) {
  .block--text-image .container .single-section2 .content-container h2 {
    font-size: 30px;
    white-space: normal;
  }
}

.block--text-image .container .single-section2 .content-container .sub-title {
  color: #483c3c;
  font-family: Montserrat;
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  padding-bottom: 20px;
}

@media (max-width: 768px) {
  .block--text-image .container .single-section2 .content-container .sub-title {
    font-size: 18px;
    line-height: 28px;
  }
}

.block--text-image .container .single-section2 .content-container .description {
  color: #000;
  font-family: Montserrat;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.block--text-image .container .single-section2 .image-single-container {
  display: flex;
  flex: 1;
  justify-content: center;
  padding: 20px;
}

.block--text-image .container .single-section2 .button-container {
  margin-top: 20px;
}

.block--text-image .container .single-section2 .button-container .button {
  background-color: #483c3c;
  border: none;
  border-radius: 2rem;
  color: #fff;
  font-family: Work Sans;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  padding: 1rem 40px;
  text-align: center;
  text-transform: uppercase;
  z-index: 50;
}

.block--text-image .container .single-section2 .image-single {
  height: 350px;
  max-height: 100%;
  max-width: 100%;
  position: relative;
  transform: rotate(13.23deg);
  width: 350px;
  z-index: 1;
}

@media (max-width: 768px) {
  .block--text-image .container .single-section2 .image-single {
    margin-top: 50px;
  }
}

.block--text-image .container .single-section2 .image-single img.main-image {
  display: block;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  position: relative;
  width: 100%;
  z-index: 2;
}

.block--text-image .container .single-section2 .image-single:after {
  content: url('../images/general/purplecard.webp');
  height: 100%;
  position: absolute;
  right: 50px;
  top: -100px;
  transform: rotate(-13.545deg);
  width: 100%;
  z-index: 1;
}

@media (max-width: 768px) {
  .block--text-image .container .single-section2 .image-single {
    display: none;
  }
}

/* ============================================
   Text-Image2 (Section 3 avec polaroids)
   ============================================ */

.text-image2 {
  background: #dedcc3;
  padding-top: 180px;
  padding-bottom: 300px;
}

.text-image2 .container {
  position: relative;
}

.text-image2 .container .single-section3 {
  display: flex;
  padding-bottom: 50px;
  position: relative;
  z-index: 2;
}

@media (max-width: 768px) {
  .text-image2 .container .single-section3 {
    align-items: center;
    flex-direction: column-reverse;
    justify-content: center;
    margin-top: -100px;
    padding-bottom: 150px;
    text-align: center;
    width: 100%;
  }
}

.text-image2 .container .single-section3 .img-section2 {
  margin-bottom: 20px;
  position: relative;
  transform: translateY(-130px);
  width: 45%;
}

@media (max-width: 768px) {
  .text-image2 .container .single-section3 .img-section2 {
    margin-bottom: -100px;
    margin-top: 160px;
  }
}

.text-image2 .container .single-section3 .img-section2 .image-main {
  box-sizing: border-box;
  max-height: 376px;
  max-width: 355px;
  padding: 30px;
  position: absolute;
  width: 100%;
  z-index: 2;
}

.text-image2 .container .single-section3 .img-section2 .image-filter {
  left: 0;
  position: relative;
  top: 7px;
  width: 97%;
  z-index: 1;
}

.text-image2 .container .single-section3 .img-section2 .img1 {
  max-width: 355px;
  overflow: hidden;
  transform: translateX(90px) rotate(-15deg);
}

@media (max-width: 426px) {
  .text-image2 .container .single-section3 .img-section2 .img1 {
    margin-left: -30px;
    margin-top: 50px;
    transform: rotate(-30deg);
    width: 150%;
  }
}

.text-image2 .container .single-section3 .img-section2 .img2 {
  max-width: 355px;
  overflow: hidden;
  position: absolute;
  top: 0;
  top: 300px;
  transform: rotate(15deg);
}

@media (max-width: 768px) {
  .text-image2 .container .single-section3 .img-section2 .img2 {
    transform: rotate(15deg);
  }
}

@media (max-width: 426px) {
  .text-image2 .container .single-section3 .img-section2 .img2 {
    right: -20px;
    transform: rotate(30deg);
    width: 150%;
  }
}

.text-image2 .container .single-section3 .content-section2 {
  margin-top: 65px;
  max-width: 55%;
}

@media (max-width: 768px) {
  .text-image2 .container .single-section3 .content-section2 {
    margin-top: 50px;
    max-width: 100%;
    padding: 0 20px;
  }
}

.text-image2 .container .single-section3 .content-section2 h2 {
  color: #483c3c;
  font-family: Gelasio;
  font-size: 45px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  padding-bottom: 20px;
}

@media (max-width: 768px) {
  .text-image2 .container .single-section3 .content-section2 h2 {
    font-size: 30px;
  }
}

.text-image2 .container .single-section3 .content-section2 p {
  max-width: 470px;
}

.text-image2 .container .single-section3 .content-section2 .sub-title {
  color: #483c3c;
  font-family: Montserrat;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  padding-bottom: 20px;
}

@media (max-width: 768px) {
  .text-image2 .container .single-section3 .content-section2 .sub-title {
    font-size: 18px;
    line-height: 28px;
  }
}

.text-image2 .container .single-section3 .content-section2 .description {
  color: #000;
  font-family: Montserrat;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

.text-image2 .container .single-section3 .content-section2 .button-container {
  margin-top: 20px;
}

.text-image2 .container .single-section3 .content-section2 .button-container .btn {
  background-color: #483c3c;
  border: none;
  border-radius: 2rem;
  color: #fff;
  font-family: Work Sans;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  padding: 1rem 40px;
  text-align: center;
  text-transform: uppercase;
  z-index: 50;
}

.text-image2 .overlay2 {
  background-image: url('../images/general/paper_origin_croped.webp');
  background-size: cover;
  height: 260px;
  left: 0;
  position: absolute;
  width: 100vw;
}

.text-image2 .overlay2 .min-image {
  height: 400px;
  position: absolute;
  right: -150px;
  top: 20px;
  transform: rotate(-20deg);
  width: 400px;
  z-index: 2;
}

.text-image2 .overlay2 .min-image img {
  display: block;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  z-index: 2;
}

@media (max-width: 426px) {
  .text-image2 .overlay2 .min-image {
    display: none;
  }
}

.text-image2:after {
  content: url('../images/general/smoke-single.webp');
  height: auto;
  position: absolute;
  right: 0;
  top: 1700px;
  transform: scaleX();
  width: auto;
}

/* ============================================
   Section 4 - Process Steps
   ============================================ */

.section4-single {
  position: relative;
}

.section4-single .container {
  box-sizing: border-box;
}

@media (max-width: 991px) {
  .section4-single .container {
    padding: 20px !important;
    width: 100%;
  }
}

.section4-single .container .block-title {
  text-align: center;
  width: 100%;
}

.section4-single .container .block-title h3 {
  color: #483c3c;
  font-family: Gelasio;
  font-size: 35px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  padding-bottom: 100px;
  position: relative;
  z-index: 1;
}

@media (max-width: 768px) {
  .section4-single .container .block-process .image-left {
    display: none;
  }
}

.section4-single .container .block-process .image-left img {
  left: -400px;
  position: absolute;
  right: 50%;
  top: -150px;
  width: 70%;
  z-index: 0;
}

.section4-single .container .block-process .list-process {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 50px;
  justify-content: center;
  position: relative;
  width: 100%;
  z-index: 3;
}

.section4-single .container .block-process .list-process .process-step {
  align-items: center;
  background-image: url('../images/general/background-process.webp');
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 15px 40px;
  text-align: center;
  width: 400px;
  z-index: 1;
}

@media (max-width: 426px) {
  .section4-single .container .block-process .list-process .process-step {
    padding: 10px 20px;
    width: 90%;
  }
}

@media (max-width: 376px) {
  .section4-single .container .block-process .list-process .process-step {
    width: 80%;
  }
}

.section4-single .container .block-process .list-process .process-step h4 {
  color: #483c3c;
  font-family: Gelasio;
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  text-align: center;
  width: 100%;
}

.section4-single .container .block-process .list-process .process-step p {
  color: #000;
  font-family: Montserrat;
  font-size: 14px;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
  text-align: center;
  z-index: 1;
}

.section4-single .container .block-process .list-process .process-step:after {
  content: url('../images/general/squaret-row.svg');
  height: 100%;
  left: 0;
  position: absolute;
  top: -80px;
  width: 100%;
  z-index: 303000;
}

.section4-single .container .block-process .list-process .process-separator {
  margin-bottom: -50px;
  margin-top: -45px;
}

@media (max-width: 768px) {
  .section4-single .container .block-process .image-right {
    display: none;
  }
}

.section4-single .container .block-process .image-right img {
  position: absolute;
  right: -450px;
  top: -150px;
  width: 70%;
  z-index: 0;
}

/* ============================================
   Section 5 - Tarifs
   ============================================ */

.section5 {
  background: #dedbc3;
  margin-bottom: 300px;
  padding-top: 260px;
}

.section5 .container {
  box-sizing: border-box;
}

@media (max-width: 991px) {
  .section5 .container {
    padding: 20px !important;
    width: 100%;
  }
}

.section5 .container .price-section h2 {
  color: #483c3c;
  font-family: Gelasio;
  font-size: 45px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  padding-bottom: 65px;
  text-align: center;
  width: 100%;
}

@media (max-width: 768px) {
  .section5 .container .price-section h2 {
    font-size: 32px;
    margin-top: -20px;
    padding-bottom: 40px;
  }
}

.section5 .container .price-section .prices {
  display: flex;
  justify-content: space-between;
}

@media (max-width: 768px) {
  .section5 .container .price-section .prices {
    align-items: center;
    flex-direction: column;
    gap: 30px;
  }
}

.section5 .container .price-section .prices .price-item {
  display: flex;
  flex-direction: column;
}

.section5 .container .price-section .prices .price-item img {
  height: 100%;
  max-height: 60px;
  -o-object-fit: contain;
  object-fit: contain;
}

@media (max-width: 768px) {
  .section5 .container .price-section .prices .price-item img {
    max-height: 50px;
  }
}

.section5 .container .price-section .prices .price-item .players {
  color: #483c3c;
  font-family: Gelasio;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  padding-bottom: 10px;
  text-align: center;
}

@media (max-width: 768px) {
  .section5 .container .price-section .prices .price-item .players {
    font-size: 14px;
  }
}

.section5 .container .price-section .prices .price-item .price {
  color: #483c3c;
  font-family: Gelasio;
  font-size: 45px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  position: relative;
  text-align: center;
}

@media (max-width: 768px) {
  .section5 .container .price-section .prices .price-item .price {
    font-size: 32px;
  }
}

.section5 .container .price-section .prices .price-item .price p {
  color: #483c3c;
  font-family: Gelasio;
  font-size: 24px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  position: relative;
  text-align: center;
  z-index: 2;
}

@media (max-width: 768px) {
  .section5 .container .price-section .prices .price-item .price p {
    font-size: 20px;
  }
}

.section5 .container .price-section .prices .price-item .price span {
  color: #483c3c;
  font-family: Gelasio;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

@media (max-width: 768px) {
  .section5 .container .price-section .prices .price-item .price span {
    font-size: 14px;
  }
}

.section5 .container .price-section .prices .price-item .price .frame-icon {
  background-image: url('../images/general/frame.svg');
  background-position: 50%;
  background-repeat: no-repeat;
  height: 200%;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 200%;
  z-index: 1;
}

.section5 .container .price-section .price-button {
  text-align: center;
  width: 100%;
}

.section5 .container .price-section .price-button a {
  background-color: #483c3c;
  border: none;
  border-radius: 2rem;
  color: #fff;
  font-family: Work Sans;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  margin-top: 60px;
  padding: 1rem 40px;
  text-align: center;
  text-transform: uppercase;
  z-index: 50;
}

@media (max-width: 768px) {
  .section5 .container .price-section .price-button a {
    margin-top: 40px;
  }
}

.section5 .container .separator {
  padding-bottom: 80px;
  padding-top: 60px;
  text-align: center;
  width: 100%;
}

@media (max-width: 480px) {
  .section5 .container .separator {
    padding-bottom: 30px;
    padding-top: 40px;
  }
}

/* Payment Section */
.section5 .container .payment-section h3 {
  color: #483c3c;
  font-family: Gelasio;
  font-size: 45px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  text-align: center;
  width: 100%;
}

@media (max-width: 768px) {
  .section5 .container .payment-section h3 {
    font-size: 32px;
  }
}

.section5 .container .payment-section .payment-methods {
  display: flex;
  justify-content: space-evenly;
  padding-top: 40px;
}

@media (max-width: 768px) {
  .section5 .container .payment-section .payment-methods {
    align-items: center;
    flex-direction: column;
    gap: 20px;
  }
}

/* Price Overlays */
.price-overlay {
  background-image: url('../images/general/paper_origin_croped.webp');
  background-size: cover;
  height: 260px;
  left: 0;
  max-height: 260px;
  position: absolute;
  transform: scaleY(-1);
  width: 100vw;
}

.price-overlay .min-image {
  height: 400px;
  left: -180px;
  position: absolute;
  top: -50px;
  transform: scaleX(-1) rotate(20deg);
  width: 400px;
  z-index: 1;
}

.price-overlay .min-image img {
  display: block;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  z-index: 2;
}

.section5 .price-overlay2 {
  background-image: url('../images/general/paper_origin_croped.webp');
  background-size: cover;
  height: 260px;
  left: 0;
  max-height: 260px;
  position: absolute;
  width: 100vw;
}

/* === Variantes mobiles des images de fond (généré) === */
/* Un téléphone n'a pas besoin d'une image de 1600 px de large.
   Seule l'URL change : taille, position et répétition restent celles
   de la règle d'origine, donc le rendu est identique.
   Généré par _docs/tooling/css-mobile-backgrounds.py — ne pas éditer. */
@media (max-width: 768px) {
    .overlay {
        background-image: url('../images/general/paper_origin_croped-800w.webp');
    }
    .text-image2 .overlay2 {
        background-image: url('../images/general/paper_origin_croped-800w.webp');
    }
    .price-overlay {
        background-image: url('../images/general/paper_origin_croped-800w.webp');
    }
    .section5 .price-overlay2 {
        background-image: url('../images/general/paper_origin_croped-800w.webp');
    }
}
