html {overflow-x: hidden;}
.product-card {

    text-align: center !important;
    padding-bottom: 0.5rem !important;
    margin-bottom: 1.25rem !important;

}
.product-card img {

  object-fit: contain;
  object-position: center;
  height: 200px;

}

.form-check-input, .form-check-label {cursor: pointer;}

.swal2-container {z-index: 9999999 !important;}

.icon-card-stats {

    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute; 
    left: 10px; 
    top: 10px;

}


.category-container .tns-ovh, .category-container .tns-carousel, .category-container .tns-carousel-inner {overflow: visible !important;}



.ql-align-center  { text-align: center !important; }
.ql-align-right   { text-align: right !important; }
.ql-align-justify { text-align: justify !important; }


/* Preloader */

.page-preloader {

    position: fixed;
    inset: 0;
    background:white;
    z-index: 99999;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 30px;

}
.page-preloader img {width: 80px;}

.ctn-preloader {

  align-items: center;
  display: flex;
  justify-content: center;

}

/* Texto cargando */
.ctn-preloader .animation-preloader .txt-loading {
  font: bold 0.9em 'Montserrat', sans-serif;
  text-align: center;
  user-select: none;
}

.ctn-preloader .animation-preloader .txt-loading .letters-loading:before {
  animation: letters-loading 4s infinite;
  color: #000000;
  content: attr(data-text-preloader);
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transform: rotateY(-90deg);
}

.ctn-preloader .animation-preloader .txt-loading .letters-loading {
  color: rgba(0, 0, 0, 0.2);
  position: relative;
}

.ctn-preloader .animation-preloader .txt-loading .letters-loading:nth-child(2):before {
  animation-delay: 0.2s;
}

.ctn-preloader .animation-preloader .txt-loading .letters-loading:nth-child(3):before {
  animation-delay: 0.4s;
}

.ctn-preloader .animation-preloader .txt-loading .letters-loading:nth-child(4):before {
  animation-delay: 0.6s;
}

.ctn-preloader .animation-preloader .txt-loading .letters-loading:nth-child(5):before {
  animation-delay: 0.8s;
}

.ctn-preloader .animation-preloader .txt-loading .letters-loading:nth-child(6):before {
  animation-delay: 1s;
}

.ctn-preloader .animation-preloader .txt-loading .letters-loading:nth-child(7):before {
  animation-delay: 1.2s;
}



/* Animación de las letras cargando del preloader */
@keyframes letters-loading {
  0%,
  75%,
  100% {
    opacity: 0;
    transform: rotateY(-90deg);
  }

  25%,
  50% {
    opacity: 1;
    transform: rotateY(0deg);
  }
}






@keyframes load {
  0% {
    transform: rotate(0deg);
    border-color: #000;
  }
  25% {
    border-color: #000;
  }
  50% {
    border-color: #000;
  }
  75% {
    border-color: #000;
  }
  100% {
    transform: rotate(360deg);
    border-color: #000;
  }
}


/* Preloader */


.marquee-container {
    overflow: hidden;
    white-space: nowrap;
    width: 100%;
}

.marquee {
    display: inline-block;
    padding-left: 100%; /* start offscreen */
    animation: marquee 35s linear infinite;
    color: white  !important;
}

.marquee span {
    display: inline-block;
    margin-right: 80px; /* espace entre les textes */
}

@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}


.bg-theme {
    background-color: #f8e4e9 !important;
}


/* Section globale */
.elegant-section {
  background-color: #f9f8f7;
  color: #333;
}

/* Titre */
.section-title {
  font-weight: 700;
  font-size: 3rem;
  letter-spacing: 1px;
  color: #222;
  margin-bottom: 2rem;
}

/* Cartes des routines */
.routine-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.routine-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 25px rgba(0, 0, 0, 0.15);
}

/* Titre de la routine */
.routine-title {
  font-family: 'Playfair Display', serif;
  font-weight: 600;
  font-size: 1.75rem;
  color: #b76e79;
  text-decoration: none;
  transition: color 0.3s ease;
}

.routine-title:hover {
  color: #ff5e78;
}

/* Images */
.routine-img {
  object-fit: cover;
  border-radius: 12px;
  transition: transform 0.3s ease;
}

.routine-img:hover {
  transform: scale(1.05);
}

/* Description et lien */
.routine-desc {
  font-style: italic;
}

.routine-link {
  text-decoration: none;
  color: #555;
  transition: color 0.3s ease;
}

.routine-link:hover {
  color: #b76e79;
}

/* Prix */
.routine-price {
  font-weight: 900;
  color: #000;
}
