* {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
}

/* Preloader */
#preloader {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 9999;
      transition: opacity 1s, visibility 1s;
}

#preloader.fade-out {
      opacity: 0;
      visibility: hidden;
}

.loader-logo img {
      width: 250px;
      animation: fadeIn 2s ease;
}

@keyframes fadeIn {
      from {
            opacity: 0;
            transform: scale(0.95);
      }

      to {
            opacity: 1;
            transform: scale(1);
      }
}

body {
      font-family: 'Inter', sans-serif;
      background-color: #faf8f5;
}

/* Banner Slider */
.promo-banner {
      width: 95%;
      margin-left: 2.5%;
      margin-top: 20px;
      padding: 0;
      position: relative;
      overflow: hidden;
      border-radius: 30px;
}

#promoCarousel {
      width: 100%;
      height: 500px;
}

#promoCarousel .carousel-inner {
      height: 100%;
}

#promoCarousel .carousel-item {
      height: 100%;
}

#promoCarousel .carousel-item img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      display: block;
}

#promoCarousel .carousel-item a {
      display: block;
      width: 100%;
      height: 100%;
      text-decoration: none;
}

/* Indicadores personalizados */
#promoCarousel .carousel-indicators {
      margin-bottom: 15px;
      z-index: 10;
}

#promoCarousel .carousel-indicators button {
      width: 12px;
      height: 12px;
      border-radius: 50%;
      background-color: rgba(255, 255, 255, 0.5);
      border: 2px solid #534229;
      margin: 0 5px;
      transition: all 0.3s ease;
}

#promoCarousel .carousel-indicators button.active {
      background-color: #534229;
      transform: scale(1.2);
}

/* Botones */
.btn-dark {
      background-color: #f0ebe4;
      color: #534229;
      border-radius: 20px;
      transition: background-color 0.3s;
      font-weight: bold;
      text-align: center;
      border: none;
      padding: clamp(4px, 1vw, 9px) clamp(8px, 1vw, 20px);
      font-size: clamp(0.7rem, 1.5vw, 0.9rem);
      width: fit-content;
      display: block;
      margin-left: auto;
}

.btn-dark:hover {
      background-color: #534229;
      color: #ffffff;
      border: none;
}

.btn-outline-dark {
      border: 1px solid #534229;
      color: #534229;
      padding: 8px 16px;
      border-radius: 4px;
      margin-left: 12px;
      transition: all 0.3s;
      font-weight: 500;
}

.btn-outline-dark:hover {
      background-color: #534229;
      color: white;
}

/* Carrusel de categorías */
#carruselfila::-webkit-scrollbar {
      display: none;
}

#carruselfila {
      -ms-overflow-style: none;
      scrollbar-width: auto;
}

/* Cards de productos */
.card {
      min-height: clamp(180px, 40vw, 450px);
      background-color: #ffffff;
}


.col {
      border-radius: 8px;
      overflow: hidden;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
      transition: transform 0.3s, box-shadow 0.3s;
      margin-right: 10px;
      width: 32%;
}

.col:hover {
      transform: translateY(-5px);
      box-shadow: 10px 5px 15px #534229;
}

/* Productos destacados*/
.row {
      display: flex;
      justify-content: center;
}

/* Responsividad pantallas medianas */
@media (max-width: 992px) {

      #promoCarousel {
            height: 350px;
      }

      .col {
            width: 31%;
      }

      .btn-dark {
            margin-left: auto;
            margin-right: auto;
            display: block;
            width: auto;
      }

      #contenedor-productos .btn-dark {
            margin-right: 2px;
      }

}

/* Responsividad pantallas medianas 2 */
@media (max-width: 768px) {

      #promoCarousel {
            height: 280px;
      }

      .col {
            width: 45%;
      }

      .btn-dark {
            margin-left: auto;
            margin-right: auto;
            display: block;
            width: auto;
      }

      #contenedor-productos .btn-dark {
            margin-right: 2px;
      }

}

/* Responsividad pantallas pequeñas */
@media (max-width: 576px) {

      #promoCarousel {
            height: 200px;
      }

      .col {
            width: 45%;
      }

      #carruselFila img {
            width: 130px !important;
            height: 100px !important;
      }

      #carruselFila>a>div {
            min-width: 150px !important;
      }

      .btn-dark {
            margin-left: auto;
            margin-right: auto;
            display: block;
            width: auto;
      }

      #contenedor-productos .btn-dark {
            margin-right: 0px;
      }

}

/* Responsividad pantallas muy pequeñas */
@media (max-width: 393px) {

      #promoCarousel {
            height: 160px;
      }

      #carruselFila img {
            width: 110px !important;
            height: 85px !important;
      }

      #carruselFila>a>div {
            min-width: 130px !important;
      }

      #contenedor-productos .btn-dark {
            margin-right: 0px;
      }

}


/*================================ESTILOS PARA EL MODO OSCURO=================================================*/
body.dark-mode {
      background-color: #000;
      color: #fff;
}

body.dark-mode .card {
      background-color: #1a1a1a;
      border: 1px solid #333;
}

body.dark-mode .card .card-title {
      color: #f0ebe4;
}

body.dark-mode .card .card-text.text-muted {
      color: #aaa !important;
}

body.dark-mode .card .fw-bold.text-dark {
      color: #d4b48c !important;
}

body.dark-mode .btn-dark {
      background-color: #534229;
      color: #fff;
}

body.dark-mode .btn-dark:hover {
      background-color: #f0ebe4;
      color: #000;
}

body.dark-mode #preloader {
    background: #0a0a0a;
}

body.dark-mode .loader-logo img {
     filter: hue-rotate(180deg) invert(1);
}