@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Poppins", sans-serif;
}

a {
  text-decoration: none;
  background-color: transparent;
  color: unset;
}
a:hover {
  text-decoration: none;
}

input,
button,
textarea,
select {
  font: inherit;
  color: inherit;
}

button {
  all: unset;
}

ul,
ol {
  padding-left: 0;
  list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: normal;
}

fieldset {
  border: none;
  margin: 0;
  padding: 0;
}

/* Pour tous les navigateurs supportant ::placeholder */
.home ::-moz-placeholder {
  color: #ffffff;
  opacity: 1;
  font-size: 16px;
}
.home ::placeholder {
  color: #ffffff;
  opacity: 1;
  font-size: 16px;
}

/* Spécifique pour Internet Explorer 10+ */
.home :-ms-input-placeholder {
  color: #ffffff;
  opacity: 1;
  font-size: 16px;
}

/* Spécifique pour Microsoft Edge */
.home ::-ms-input-placeholder {
  color: #ffffff;
  opacity: 1;
  font-size: 16px;
}

.bold__item {
  font-weight: bold;
}

.hidden {
  visibility: hidden;
}

.link-underline {
  text-decoration: underline;
}

p {
  line-height: 1.5;
}
@media screen and (min-width: 992px) {
  p {
    font-size: 18px;
  }
}

.header {
  padding: 20px 0px 0px 20px;
}
@media screen and (min-width: 992px) {
  .header {
    padding: 20px 0 0 0;
  }
}

.menu__logo {
  display: inline-block;
}
@media screen and (min-width: 992px) {
  .menu__logo {
    width: 20%;
  }
}
.menu__logo--img {
  width: 100%;
  max-width: 350px;
  height: 90px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 992px) {
  .menu__logo--img {
    max-width: unset;
    width: 350px;
    height: 100px;
  }
}

#menu__toggle {
  opacity: 0;
  height: 100%;
  width: 100%;
  position: absolute;
  right: 0;
}

#menu__toggle:checked ~ .menu__btn > span {
  transform: rotate(45deg);
}

#menu__toggle:checked ~ .menu__btn > span::before {
  top: 0;
  transform: rotate(0);
}

#menu__toggle:checked ~ .menu__btn > span::after {
  top: 0;
  transform: rotate(90deg);
}

#menu__toggle:checked ~ .menu__box {
  visibility: visible;
  left: 0;
}

.menu__btn {
  display: flex;
  align-items: center;
  position: absolute;
  top: 25px;
  right: 0px;
  width: 35px;
  height: 35px;
  cursor: pointer;
  z-index: 10;
}
@media screen and (min-width: 992px) {
  .menu__btn {
    display: none;
  }
}

.menu__btn > span,
.menu__btn > span::before,
.menu__btn > span::after {
  display: block;
  position: absolute;
  width: 100%;
  height: 3px;
  background-color: #2b2b2b;
  transition-duration: 0.25s;
}

.menu__btn > span::before {
  content: "";
  top: -12px;
}

.menu__btn > span::after {
  content: "";
  top: 12px;
}

.menu__box {
  display: block;
  position: fixed;
  visibility: hidden;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 80px 0;
  list-style: none;
  color: white;
  box-shadow: 1px 0px 6px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: rgb(55, 69, 113);
  transition-duration: 0.25s;
  z-index: 5;
}
@media screen and (min-width: 992px) {
  .menu__box {
    visibility: visible;
    left: 0;
    background-color: #ffffff;
    flex-direction: row;
    justify-content: space-between;
    padding: 0;
    position: unset;
    box-shadow: none;
    width: 30%;
  }
}

.nav {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .nav {
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 992px) {
  .nav {
    justify-content: space-around;
    padding: 0 0 20px 0;
    margin-bottom: 0;
    align-items: center;
  }
}

.hamburger-menu {
  position: relative;
  height: 35px;
  width: 35px;
  margin-right: 30px;
}
@media screen and (min-width: 992px) {
  .hamburger-menu {
    display: flex;
    justify-content: center;
    width: 42%;
    height: auto;
  }
}

.menu__item {
  display: block;
  padding: 12px 24px;
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
  transition-duration: 0.25s;
  color: white;
}
@media screen and (min-width: 992px) {
  .menu__item {
    color: #5f1717;
  }
  .menu__item:not(.menu__item--contact):hover {
    color: #5f1717;
    background-color: rgba(0, 0, 0, 0.02);
    border-radius: 10px;
    transition: all ease-in 300ms;
  }
}
.menu__item--contact {
  background-color: #2b2b2b;
  border-radius: 8px;
}
@media screen and (min-width: 992px) {
  .menu__item--contact {
    background-color: #2b2b2b;
    color: white;
    padding: 5px 30px;
    font-weight: 500;
    border-radius: 5px;
  }
  .menu__item--contact:hover {
    filter: brightness(110%);
    transition: all ease-in 300ms;
  }
}

.form__container {
  position: absolute;
  top: 58%;
  left: 47%;
}
@media screen and (min-width: 992px) {
  .form__container {
    top: auto;
    left: auto;
    top: 5%;
    right: 10%;
    height: 90%;
    width: 300px;
  }
}
@media screen and (min-width: 1200px) {
  .form__container {
    top: 14%;
  }
}
@media screen and (min-width: 1400px) {
  .form__container {
    top: 12%;
  }
}
@media screen and (min-width: 1600px) {
  .form__container {
    top: 9%;
  }
}
@media screen and (min-width: 1800px) {
  .form__container {
    top: 10%;
  }
}

.banner {
  height: 580px;
  width: calc(100% + 20px);
  -o-object-fit: cover;
     object-fit: cover;
  margin-left: -20px;
  margin-right: -20px;
}
@media screen and (min-width: 992px) {
  .banner {
    filter: brightness(60%);
    width: 100%;
    color: black;
    z-index: 1;
    margin-left: 0;
    margin-right: 0;
    aspect-ratio: 16/9;
    height: unset;
  }
}
@media screen and (min-width: 992px) and (min-width: 1400px) {
  .banner {
    aspect-ratio: 20/9;
  }
}
@media screen and (min-width: 992px) and (min-width: 1600px) {
  .banner {
    aspect-ratio: 24/9;
  }
}
@media screen and (min-width: 992px) and (min-width: 1800px) {
  .banner {
    aspect-ratio: 26/9;
  }
}
@media screen and (min-width: 992px) and (min-width: 2000px) {
  .banner {
    aspect-ratio: 28/9;
  }
}
@media screen and (min-width: 992px) {
  .banner__container {
    width: 100%;
  }
}
.banner__form {
  min-width: 330px;
  width: 60%;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #443e3e;
  border-radius: 10px;
  padding: 20px;
  padding-bottom: 0;
  border: #ffffff solid 3px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 768px) {
  .banner__form {
    position: relative;
    width: 60%;
    left: 4%;
  }
}
@media screen and (min-width: 992px) {
  .banner__form {
    transform: none;
    width: 100%;
    min-width: 0;
    top: 0;
  }
}
.banner__form__h1 {
  color: #5f1717;
  padding: 0 40px 20px 20px;
  font-size: 18px;
  font-weight: bold;
  text-align: left;
  width: 80%;
  min-width: 350px;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .banner__form__h1 {
    text-align: center;
    padding: 20px 0;
  }
}
@media screen and (min-width: 992px) {
  .banner__form__h1 {
    position: absolute;
    left: 16%;
    top: 44%;
    text-align: left;
    font-size: 52px;
    font-weight: 600;
    width: 65%;
    padding-left: 10%;
    color: #ffffff;
    z-index: 1;
    text-shadow: 1px 0px 1px #5f1717;
  }
}
.banner__form__input {
  cursor: pointer;
  margin-bottom: 15px;
  padding: 10px;
  margin-bottom: 20px;
  border: 2px solid #ffffff;
  background-color: transparent;
  border-radius: 10px;
  color: #ffffff;
  width: 100%;
}
.banner__form__input:focus {
  box-shadow: 0 0 2pt 1pt #d3d3d3;
  outline-width: 0px;
}
.banner__form__input--submit {
  background-color: #2b2b2b;
  font-size: 16px;
  font-weight: 500;
  border: none;
  margin: 30px 0;
  padding: 10px;
}
.banner__form__title {
  color: #ffffff;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 20px;
}
@media screen and (min-width: 992px) {
  .banner__form__title {
    font-size: 20px;
    font-weight: 600;
  }
}
.banner__form__section {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 992px) {
  .banner__form__section {
    align-items: unset;
    margin-bottom: 30px;
  }
}
.banner__form label {
  width: 90%;
}

.menu__item.active {
  text-decoration: underline;
}

.form-group .cta:hover {
  color: green;
  background-color: white;
  box-shadow: 0px 0px 3px white;
}

.form-group .banner__form__input--submit {
  color: #443e3e;
  border: none;
}

/* ===========================
   Component: sale-ribbon (BEM)
   Diagonal ribbon + attached horizontal callout
   =========================== */
.sale-ribbon {
  position: fixed;
  top: 0;
  right: 0;
  width: 12rem;
  height: 12rem;
  z-index: 9999;
  pointer-events: none;
  /* ---------- Cartouche "Pour en savoir plus" ---------- */
}
.sale-ribbon__link {
  pointer-events: auto;
  position: absolute;
  top: 2.2rem;
  right: -4.2rem;
  display: block;
  width: 17rem;
  padding: 0.6rem 0.8rem;
  text-align: center;
  transform: rotate(45deg);
  transform-origin: center;
  background: linear-gradient(180deg, #16a34a 0%, rgb(18.3610810811, 136.0389189189, 61.76) 100%);
  color: #ffffff;
  text-decoration: none;
  font-weight: 800;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25), 0 1px 0 rgba(255, 255, 255, 0.15) inset;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 0.125rem;
}
.sale-ribbon__link:hover, .sale-ribbon__link:focus-visible {
  background: linear-gradient(180deg, #159a3f 0%, rgb(17.328, 127.072, 51.984) 100%);
  outline: none;
}
.sale-ribbon__link::before, .sale-ribbon__link::after {
  content: "";
  position: absolute;
  top: 100%;
  border: 0.6rem solid transparent;
}
.sale-ribbon__link::before {
  left: 0;
  border-top-color: rgb(12.9027027027, 95.5972972973, 43.4);
}
.sale-ribbon__link::after {
  right: 0;
  border-top-color: rgb(12.9027027027, 95.5972972973, 43.4);
}
.sale-ribbon__text {
  display: inline-block;
  line-height: 1.1;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
  padding: 0 0.2rem;
}
.sale-ribbon__callout {
  pointer-events: auto;
  position: absolute;
  top: 7.6rem;
  right: 0.75rem;
  display: inline-flex;
  flex-direction: column;
  gap: 0.25rem;
  width: -moz-max-content;
  width: max-content;
  min-width: 42ch;
  max-width: 95vw;
  padding: 0.7rem 0.9rem;
  background: #ffffff;
  border: 2px solid #d1fae5;
  color: #065f46;
  text-decoration: none;
  font-weight: 600;
  border-radius: 0.5rem;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
}
.sale-ribbon__callout::before {
  content: "";
  position: absolute;
  top: -0.45rem;
  right: 1.2rem;
  width: 0.9rem;
  height: 0.9rem;
  background: #ffffff;
  border-left: 2px solid #d1fae5;
  border-top: 2px solid #d1fae5;
  transform: rotate(45deg);
}
.sale-ribbon__callout:hover, .sale-ribbon__callout:focus-visible {
  border-color: rgb(172.2, 246, 208.2);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.16);
  outline: none;
}
.sale-ribbon__callout-title {
  display: block;
  font-size: 0.95rem;
  line-height: 1.15;
  white-space: nowrap;
  opacity: 0.9;
}
.sale-ribbon__callout-email {
  display: block;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.95rem;
  letter-spacing: 0.2px;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  -webkit-hyphens: none;
          hyphens: none;
}
@media (max-width: 480px) {
  .sale-ribbon {
    width: 9.5rem;
    height: 9.5rem;
  }
  .sale-ribbon__link {
    right: -4.6rem;
    width: 15rem;
    font-size: 0.9rem;
  }
  .sale-ribbon__callout {
    right: 0.5rem;
    top: 6.9rem;
    padding: 0.55rem 0.7rem;
    min-width: 36ch;
    max-width: calc(100vw - 1rem);
  }
  .sale-ribbon__callout::before {
    right: 1rem;
  }
  .sale-ribbon__callout-title {
    font-size: 1rem;
  }
  .sale-ribbon__callout-email {
    font-size: 1rem;
  }
}
@media print {
  .sale-ribbon {
    display: none;
  }
}

.cta {
  background-color: white;
  border: 1px solid #5f1717;
  padding: 10px 20px;
  border-radius: 8px;
  font-size: 16px;
  color: #5f1717;
  margin-top: 30px;
  text-align: center;
  font-weight: 500;
  cursor: pointer;
}
.cta:hover {
  box-shadow: 0px 0px 5px #5f1717;
  filter: brightness(110%);
  font-weight: 600;
  transition: all ease-out 300ms;
  color: white;
  background-color: #5f1717;
}

.cta__container {
  display: flex;
  justify-content: center;
}

.glide__img {
  width: 100%;
  height: 70vh;
  -o-object-fit: cover;
     object-fit: cover;
  filter: brightness(70%);
}
.glide__arrow {
  color: rgb(210, 210, 231) !important;
  font-size: 1rem;
  font-weight: bold;
}
@media screen and (min-width: 992px) {
  .glide__arrow {
    font-size: 2.5rem;
  }
}

.collapse,
.blogPage__collapse {
  margin: 50px 0;
  padding: 0 20px;
}
@media screen and (min-width: 991px) {
  .collapse,
  .blogPage__collapse {
    padding: 0 15%;
  }
}
.collapse__item,
.blogPage__collapse__item {
  border: rgb(244, 243, 243) solid;
  box-shadow: 0 0 1px rgb(220, 219, 219);
  overflow: hidden;
  transition: max-height 0.3s ease-in-out;
  padding: 0 20px;
  margin-bottom: 20px;
  border-radius: 10px;
}
.collapse__btn,
.blogPage__collapse__btn {
  background: none;
  border: none;
  color: #686262;
  width: 100%;
  font-weight: bold;
  font-size: 16px;
  text-align: left;
  padding: 15px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.collapse__btn:hover, .collapse__btn:focus,
.blogPage__collapse__btn:hover,
.blogPage__collapse__btn:focus {
  cursor: pointer;
  outline: none;
}
.collapse__icon,
.blogPage__collapse__icon {
  transition: transform 0.3s ease-in-out;
  color: #2b2b2b;
}
.collapse__content,
.blogPage__collapse__content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-in-out;
  font-size: 16px !important;
  font-weight: 400;
}
@media screen and (min-width: 992px) {
  .collapse__content,
  .blogPage__collapse__content {
    font-size: 20px !important;
  }
}
@media screen and (min-width: 992px) {
  .collapse__inner,
  .blogPage__collapse__inner {
    padding-right: 10%;
  }
}
.collapse__inner p,
.blogPage__collapse__inner p {
  padding-bottom: 20px;
  line-height: 1.4;
}
.collapse__h6,
.blogPage__collapse__h6 {
  font-weight: bold;
  font-size: 16px;
  padding-right: 10px;
}
@media screen and (min-width: 992px) {
  .collapse__h6,
  .blogPage__collapse__h6 {
    font-size: 18px;
  }
}

.collapse__h3 {
  font-weight: bold;
  font-size: 16px;
}
@media screen and (min-width: 992px) {
  .collapse__h3 {
    font-size: 18px;
  }
}

.footer {
  margin-top: 20px;
  padding-bottom: 30px;
}
@media screen and (min-width: 992px) {
  .footer {
    padding-bottom: 0;
  }
}
@media screen and (min-width: 768px) {
  .footer__logos {
    padding: 0 5%;
  }
}
@media screen and (min-width: 992px) {
  .footer__logos {
    padding: 0 15%;
    display: flex;
    justify-content: space-between;
    padding-top: 30px;
  }
}
.footer__logosx2 {
  display: flex;
  justify-content: space-around;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .footer__logosx2 {
    margin-bottom: 50px;
  }
}
@media screen and (min-width: 992px) {
  .footer__logosx2 {
    width: 100%;
  }
}
.footer__logo {
  width: 70px;
  height: 80px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .footer__logo {
    width: 90px;
    height: 110px;
  }
}
.footer__logo--large {
  min-width: 210px;
}
@media screen and (min-width: 768px) {
  .footer__logo--large {
    min-width: 300px;
  }
}
.footer__text {
  line-height: 1.5;
}
.footer__bottom__container {
  margin-top: 20px;
  background-color: #28242c;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  padding: 20px;
  padding-top: 40px;
}
@media screen and (min-width: 768px) {
  .footer__bottom__container {
    padding: 30px;
  }
}
@media screen and (min-width: 992px) {
  .footer__bottom__container {
    flex-direction: row;
    justify-content: space-around;
    padding: 30px 15%;
  }
}
.footer__link {
  margin-bottom: 20px;
  color: white;
}
.footer__link:hover {
  color: azure;
  text-decoration: underline;
}
@media screen and (min-width: 992px) {
  .footer__link {
    margin-bottom: 0;
  }
}
.footer__img {
  -o-object-fit: contain;
     object-fit: contain;
  height: 90px;
  margin-top: 20px;
  margin-left: -20px;
}
@media screen and (min-width: 992px) {
  .footer__img {
    width: 350px;
    height: 100px;
  }
}
.footer__img__container {
  padding-left: 20px;
}
.footer__img__container a {
  padding-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .footer__img__container {
    padding-left: 30px;
  }
}
@media screen and (min-width: 992px) {
  .footer__img__container {
    padding: 0 15%;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}

@media screen and (min-width: 992px) {
  .responsive-break {
    display: none;
  }
}

#backToTopBtn {
  display: none; /* Ajouté ici pour le cacher initialement */
  position: fixed;
  bottom: 20px;
  right: 100px;
  z-index: 1000;
  padding: 10px 15px;
  background-color: #2b2b2b;
  color: #fff;
  border: none;
  cursor: pointer;
  border-radius: 5px;
  opacity: 0.7;
  transition: opacity 0.4s;
}

#backToTopBtn:focus {
  opacity: 1;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.5);
}

#backToTopBtn:active {
  opacity: 1;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.5);
}

#backToTopBtn:hover {
  opacity: 1;
}

.main {
  background-color: rgb(255, 254, 253);
}

.comprendre {
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .comprendre {
    margin-top: 20px;
  }
}
@media screen and (min-width: 992px) {
  .comprendre {
    margin-top: 0;
    padding: 0 15%;
    padding-top: 30px;
  }
}
.comprendre__title {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 30px;
  color: #686262;
  border-bottom: 3px solid #5f1717;
}
@media screen and (min-width: 992px) {
  .comprendre__title {
    font-size: 24px;
    margin-bottom: 30px;
  }
}
.comprendre__content {
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .comprendre__content {
    width: 80%;
    margin-bottom: 50px;
  }
}
@media screen and (min-width: 992px) {
  .comprendre__content {
    margin-bottom: 0px;
    line-height: 1.1;
  }
}
.comprendre__content__and__image__container {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 992px) {
  .comprendre__content__and__image__container {
    display: flex;
    flex-direction: row;
  }
}
.comprendre__content__container {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 992px) {
  .comprendre__content__container {
    align-items: flex-start;
  }
}
.comprendre__image {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}
@media screen and (min-width: 992px) {
  .comprendre__image {
    width: 300px;
    height: 300px;
  }
}
.comprendre__image__container {
  width: 60%;
}
@media screen and (min-width: 768px) {
  .comprendre__image__container {
    margin-top: 80px;
    display: flex;
    justify-content: center;
  }
}
@media screen and (min-width: 992px) {
  .comprendre__image__container {
    margin-top: 0;
    width: 50%;
  }
}

.card {
  display: flex;
  flex-direction: column;
  margin-bottom: 30px;
  min-width: 300px;
  width: 100%;
  padding: 20px;
  background-color: #ffffff;
  border: rgb(245, 240, 240) 3px solid;
  box-shadow: 0px 0px 5px rgb(240, 230, 230);
  border-radius: 8px;
  text-align: center;
}
@media screen and (min-width: 992px) {
  .card {
    width: 30%;
    min-width: 231px;
    height: 250px;
    justify-content: space-around;
    padding: 2%;
  }
}
.card__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 50px 0;
}
@media screen and (min-width: 992px) {
  .card__container {
    flex-direction: row;
    justify-content: space-between;
    margin: 100px 0;
  }
}
.card__title {
  font-size: 25px;
  font-weight: bold;
  color: #686262;
  text-align: center;
  margin-bottom: 20px;
}
.card__content {
  text-align: center;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .card__content {
    text-align: center;
  }
}

.publics {
  padding: 0 20px;
}
.publics__title {
  font-size: 18px;
  font-weight: bold;
  color: #686262;
  text-align: center;
  position: relative;
  margin-bottom: 60px;
  border-bottom: solid 3px #5f1717;
  display: table;
  margin: 0 auto;
}
@media screen and (min-width: 992px) {
  .publics__title {
    font-size: 24px;
  }
}

.underline {
  position: absolute;
  bottom: -8px;
  left: 39%;
  height: 3px;
  width: 25%;
  background-color: #5f1717;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .underline {
    width: 13%;
    left: 44%;
  }
}
@media screen and (min-width: 992px) {
  .underline {
    bottom: -15px;
    left: 44.5%;
    width: 140px;
    height: 5px;
  }
}
@media screen and (min-width: 1200px) {
  .underline {
    left: 45.5%;
  }
}
@media screen and (min-width: 1400px) {
  .underline {
    left: 46%;
  }
}
@media screen and (min-width: 1600px) {
  .underline {
    left: 46.5%;
  }
}

.cta-section {
  margin-top: 50px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .cta-section {
    margin-top: 100px;
  }
}
.cta-section__banner {
  width: 100%;
  height: 330px;
  -o-object-fit: cover;
     object-fit: cover;
  filter: brightness(55%);
}
.cta-section__container {
  position: absolute;
  color: white;
  top: 55px;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .cta-section__container {
    top: 80px;
    left: 10%;
    width: 80%;
  }
}
@media screen and (min-width: 992px) {
  .cta-section__container {
    top: 50px;
    left: 25%;
    width: 50%;
  }
}
.cta-section__container__title {
  font-weight: 500;
  font-size: 18px;
}
.cta-section__container__text {
  font-weight: 500;
  text-shadow: 1px 1px 3px #181818;
  font-size: 16px;
}
@media screen and (min-width: 992px) {
  .cta-section__container__title {
    font-size: 22px;
  }
  .cta-section__container__text {
    font-size: 20px;
  }
}
.cta-section__btn {
  width: 350px;
}
@media screen and (min-width: 992px) {
  .cta-section__btn {
    margin-top: 50px;
  }
}

.privacy__policy__p--homepage {
  font-size: 11px;
  width: 90%;
  color: #ffffff;
}

.privacy__policy__link--homepage {
  color: #2b2b2b;
}

.complements {
  padding: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .complements__container {
    padding: 20px;
    width: 80%;
  }
}
@media screen and (min-width: 992px) {
  .complements__container {
    padding-top: 30px;
    width: 100%;
  }
}
@media screen and (min-width: 992px) {
  .complements {
    margin-top: 0;
    padding: 0 15%;
    padding-top: 30px;
  }
}
.complements__h2 {
  font-size: 18px;
  font-weight: bold;
  color: #686262;
  text-align: center;
  margin-bottom: 30px;
  border-bottom: 3px solid #5f1717;
  display: table;
  margin: 0 auto;
}
@media screen and (min-width: 992px) {
  .complements__h2 {
    font-size: 24px;
    margin-bottom: 50px;
    text-align: left;
  }
}
.complements__itemTitle {
  color: #5f1717;
  font-weight: 500;
}
@media screen and (min-width: 992px) {
  .complements__itemTitle {
    font-size: 18px;
    margin-bottom: 30px;
  }
}
.complements__item {
  margin-bottom: 30px;
  padding: 10px 20px;
  border-radius: 5px;
  box-shadow: 0px 0px 5px rgb(240, 230, 230);
}
@media screen and (min-width: 992px) {
  .complements__item {
    margin-bottom: 50px;
    padding: 30px 50px;
  }
}
.complements__item--destrat {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.complements__itemImg {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  margin-bottom: 20px;
}
@media screen and (min-width: 992px) {
  .complements__itemImg {
    height: 400px;
    width: 530px;
    align-self: center;
    margin-bottom: 50px;
  }
}

.contact {
  padding: 20px 10px 20px 20px;
  display: flex;
  flex-direction: column;
  align-items: left;
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  .contact {
    padding: 20px 20px 20px 40px;
    font-size: 18px;
  }
}
@media screen and (min-width: 992px) {
  .contact {
    padding: 0 15%;
    margin: 50px 0;
    font-size: 18px;
  }
}
/* ===========================
   Sections ajoutées sur la Home
   - Section locale (#boucherie-bourgoin)
   - Discover more (maillage interne)
   Règles d’espacement calquées sur .comprendre / .collapse :
   - Mobile : padding 20px
   - Tablet (≥768px) : marges un peu plus grandes
   - Desktop (≥992px) : padding horizontal 15% + top 30px
   =========================== */
/* --- SECTION LOCALE --- */
.section--local {
  /* Espacements */
  padding: 20px; /* mobile, comme tes autres sections */
  margin: 20px 0;
  /* Titre + lead (sobres, même esprit visuel) */
  /* Cartes / colonnes : simple, robuste */
}
@media screen and (min-width: 768px) {
  .section--local {
    margin: 30px 0; /* tablette : marge un peu plus grande */
  }
}
@media screen and (min-width: 992px) {
  .section--local {
    padding: 0 15%; /* desktop : même pattern que .comprendre/.collapse */
    padding-top: 30px;
    margin: 50px 0;
  }
}
.section--local .section__title {
  font-size: 18px;
  font-weight: bold;
  color: #686262;
  text-align: center;
  margin-bottom: 30px;
  border-bottom: 3px solid #5f1717;
  display: table;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 992px) {
  .section--local .section__title {
    font-size: 24px;
    margin-bottom: 40px;
    text-align: left;
  }
}
.section--local .section__lead {
  line-height: 1.5;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .section--local .section__lead {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 992px) {
  .section--local .section__lead {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}
.section--local .local-grid {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media screen and (min-width: 992px) {
  .section--local .local-grid {
    flex-direction: row;
    justify-content: space-between;
  }
}
.section--local .local-grid__item {
  background: #ffffff;
  padding: 20px;
  border-radius: 8px;
  border: 3px solid rgb(245, 240, 240); /* même vibe que .card */
  box-shadow: 0 0 5px rgb(240, 230, 230);
}
@media screen and (min-width: 992px) {
  .section--local .local-grid__item {
    width: 30%;
    min-width: 231px;
  }
}
.section--local .local-grid__title {
  font-size: 18px;
  font-weight: 600;
  color: #686262;
  margin-bottom: 10px;
}
@media screen and (min-width: 992px) {
  .section--local .local-grid__title {
    font-size: 18px;
    margin-bottom: 12px;
  }
}
.section--local .local-grid__text {
  line-height: 1.6;
}

/* --- DISCOVER MORE (maillage interne, ancres) --- */
.discover-more {
  /* Espacements identiques */
  padding: 20px;
  margin: 20px 0;
}
@media screen and (min-width: 768px) {
  .discover-more {
    margin: 30px 0;
  }
}
@media screen and (min-width: 992px) {
  .discover-more {
    padding: 0 15%;
    padding-top: 30px;
    margin: 50px 0;
  }
}
.discover-more .section__title {
  font-size: 18px;
  font-weight: bold;
  color: #686262;
  margin-bottom: 20px;
  border-bottom: 3px solid #5f1717;
  display: table;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 992px) {
  .discover-more .section__title {
    font-size: 24px;
    margin-bottom: 30px;
  }
}
.discover-more__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}
.discover-more__link {
  display: inline-block;
  padding: 0.45rem 0.75rem;
  border-radius: 8px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 0 5px rgb(240, 230, 230);
  color: #111827;
  text-decoration: none;
}
.discover-more__link:hover, .discover-more__link:focus-visible {
  outline: none;
  border-color: #c7d2fe;
  background: #eef2ff;
}

.privacy__main {
  padding: 0 20px;
}
@media screen and (min-width: 992px) {
  .privacy__main {
    padding: 0 15%;
  }
}
.privacy__section {
  margin-bottom: 30px;
}
@media screen and (min-width: 992px) {
  .privacy__section {
    margin-bottom: 50px;
  }
}
.privacy__h2 {
  font-size: 20px;
}

.legal__main {
  padding: 0 20px;
}
@media screen and (min-width: 992px) {
  .legal__main {
    padding: 0 15%;
  }
}
.legal__section {
  margin-bottom: 20px;
}
@media screen and (min-width: 992px) {
  .legal__section {
    margin-bottom: 50px;
  }
}/*# sourceMappingURL=main.css.map */