/* évite le scroll latéral et les "sauts" */
body {
  overflow-x: hidden;
}

/* ======= scroll CTA (barre de boutons hero) ======= */
.scroll-container {
  display: flex;
  align-items: center;
  width: 100%;
  overflow: hidden;
  background-color: #f0e6ff;
  padding: 10px;
  border-radius: 10px;
}

.scroll-content-wrapper {
  display: flex;
  align-items: center;
  flex-grow: 1;
  overflow: hidden;
}

.scroll-content {
  display: flex;
  overflow-x: auto;
  scroll-behavior: smooth;
  white-space: nowrap;
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
  flex-grow: 1;
}
.scroll-content::-webkit-scrollbar {
  display: none;
}

.scroll-button {
  background-color: white;
  border: none;
  cursor: pointer;
  font-size: 1.5rem;
  color: #fff;
  padding: 10px;
  width: 40px;
  height: 40px;
  z-index: 1;
  background-color: #fff;
  color: #fca203;
  font-size: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.scroll-content a {
  display: inline-block;
  padding: 10px 20px;
  margin: 0 10px;
  color: white;
  border-radius: 25px;
  text-decoration: none;
}

.bord_arrondi {
  border-radius: 1000px;
}

@media (max-width: 768px) {
  .scroll-button {
    display: none;
  }
  .scroll-content {
    padding: 0;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .scroll-button {
    display: none;
  }
  .scroll-content {
    padding: 0;
  }
}

/* ======= taille_ecran + mobilehidden (ex style scoped) ======= */
@media screen and (min-width: 1024px) {
  .taille_ecran {
    background-position: bottom;
    background-size: contain;
    background-repeat: no-repeat;
  }
  .bord_arrondi {
    border-radius: 1000px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .mobilehidden {
    display: none !important;
  }
  .taille_ecran {
    background-position: bottom;
    background-size: contain;
    background-repeat: no-repeat;
  }
}

@media screen and (max-width: 768px) {
  .taille_ecran {
    background-position: bottom;
    background-size: contain;
    background-repeat: no-repeat;
  }
  .mobilehidden {
    display: none !important;
  }
}

/* ===== styles section cadeau ===== */
:root {
  --violet: #330394;
  --orange: #fca203;
}

.hero-gift {
  background: #fff; /* full blanc */
  padding: 4rem 0 3rem 0;
  overflow-x: hidden; /* pas d'overflow latéral dans cette section */
}

.pill-orange {
  background: var(--orange);
  color: #000;
  border-radius: 999px;
  font-weight: 700;
  padding: 0.8rem 1rem;
  display: inline-block;
  text-decoration: none;
  width: auto;
  text-align: center;
  box-shadow: 0 20px 40px rgb(252 162 3 / 0.4);
}

.pill-orange:hover {
  filter: brightness(1.05);
}

.text-violet {
  color: var(--violet) !important;
}

.text-orange {
  color: var(--orange) !important;
}

/* zone image cadeau à droite */
.gift-visual-box {
  display: flex;
  justify-content: center;
  align-items: center;
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.gift-visual-box img {
  max-width: 100%;
  height: auto;
  display: block;
  max-height: 420px; /* taille image */
  object-fit: contain;
}

/* ======= back to top bouton couleur orange ======= */
.btn-primary.btn-lg-square.back-to-top {
  background-color: #fca203 !important;
  border-color: #fca203 !important;
}
