/*///////////////////////////*/
/*INDEX CLIENTE*/
/*///////////////////////////*/
/* Imagen de detalle (no recorta, ajusta) */
.bg-dack {
  position: fixed;  /* Lo saca del flujo y lo fija */
  bottom: 0;        /* Lo alinea al borde inferior */
  left: 0;          /* Opcional: lo alinea a la izquierda */
  width: 100%;      /* Ocupa todo el ancho */
  background: #222; /* Color de fondo */
  color: white;     /* Texto blanco */
  padding: 10px;    /* Espaciado interno */
}
.banner img {
    width:100%; 
    height:auto; 
    display:block;
}
/*Siderbar categoria*/
.sidebar-categorias{ 
    position: sticky; 
    top: 5.4rem; 
    z-index: 2000 
}
/*Categoria activa*/
.cat-link.active { 
    font-weight: 600; 
    color: #0d6efd;
    margin-left: 5px;
    background-color: white;
    width: 100%;
}
/*Lista que se muestra*/
#listaCategorias {
  border-radius: 4px;
  width: 100%;
  margin-left: 10px;
}
/*Icon de bootstrap cambiar el color*/
#listaCategorias .cat-link.active i {
  color: #fff !important;               /* icono blanco */
}
/*Formato para movil*/
@media (min-width: 992px){
  .sidebar-categorias{ position: sticky; top: 5.4rem; }
  
}
.categoria-oculta{ 
    display:none !important; 
}
/*HEader*/
.section-title { 
    border-left:4px solid #0d6efd; 
    padding-left:.5rem; 
}
.categoria-wrap { 
    margin-bottom:2.5rem; 
}
.badge-count{ 
    font-weight: 500; 
}

/* Botón Top */
#btnScrollTop{ 
    position:fixed; 
    bottom:20px; 
    right:20px; 
    z-index:999; 
    background:#0d6efd; 
    color:#fff; 
    border:none; 
    border-radius:50%; 
    width:45px; 
    height:45px; 
    font-size:20px; 
    cursor:pointer; 
    display:none; 
    box-shadow:0 4px 6px rgba(0,0,0,.2); 
    transition:all .3s; 
}
#btnScrollTop:hover{ 
    background:#0b5ed7; 
    transform:scale(1.1); 
}
/*Barra de nvegacion con botones*/
.navbar {
    position: fixed; 
    top: 0; 
    left: 0; 
    right: 0; 
    z-index: 10500;} /* mayor que el contenido */
/*Imagenes de productos*/
.img-contain {
  width: 100%;
  height: auto;
  max-height: 520px;         /* ajusta a tu gusto */
  object-fit: contain;       /* jamás deforma */
  background: #fff;
}
/* Miniatura pequeña (carrito/historial) */
.thumb-sm {
  width: 80px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  border-radius: .25rem;
}
/* Banner responsive manteniendo proporción */
.banner {
  width: 100%;
  aspect-ratio: 16 / 9;      /* cambia 16/9 por el ratio de tus banners */
  object-fit: cover;
  display: block;
}
/* Asegura que ninguna imagen se salga del contenedor */
.card img, img {
  max-width: 100%;
  height: auto;
}
/* Si en algún lado quedó .thumb-square, que no rompa */
.thumb-square { 
  width: 100%;
  height: auto;
  display: block;
}
img, .card-img-top {max-width:100%; height:auto;}
.thumb-square {
  width: 100%;
  aspect-ratio: 1 / 1;        /* cuadrada */
  object-fit: contain;        /* o 'cover' según quieras */
  background:#fff;
}

/* ==== Ajuste Offcanvas debajo del header ==== */
@media (max-width: 991.98px) {
  .offcanvas {
    position: fixed !important;
    top: 70px !important;      /* la altura real de tu navbar fijo */
    left: 0;
    right: 0;
    width: 100% !important;    /* que ocupe todo el ancho */
    max-width: 100% !important;
    height: calc(100% - 70px) !important; /* resto de pantalla */
    z-index: 20000 !important; /* mucho más alto que la navbar */
    border-top: 1px solid #ddd;
  }
}
/*Nombre de producto siempre de 3 lineas*/
.clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;   /* máximo 3 líneas */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  line-height: 1.4em;      /* asegúrate que sea consistente */
  min-height: calc(1.4em * 3); /* 🔹 mínimo de 3 líneas */
}
.titulo-producto {
  font-size: 0.9rem;      /* ajusta el tamaño */
  line-height: 1.2;     /* menos espacio entre líneas */
  margin-bottom: .25rem;
  font-weight: normal;
}
.precio{
   font-weight: 600;
   font-size: 1.25rem;
   margin-bottom: .25rem;
}
/* Para pantallas grandes: 5 por fila */
@media (min-width: 1200px) {
  .col-5cards {
    flex: 0 0 20%;
    max-width: 20%;
  }
}


/*///////////////////////////
FAVORITO CLIENTE
///////////////////////////*/
h3{
    margin-top: 20px;
}
.action-bar { 
    display:flex; 
    justify-content:flex-end; 
    gap:10px; 
    margin-bottom:15px;
    margin-top: 20px;
}
.toolbar { 
    background:#f8f9fa; 
    border:1px solid #dee2e6; 
    padding:10px; 
    border-radius:8px; 
    margin-bottom:20px; 
}
.fav-item { 
    border-bottom:1px solid #dee2e6; 
    padding:15px 0; 
}
.fav-img { 
    width:80px; 
    height:80px; 
    object-fit:cover; 
}
.fav-name { 
    font-weight:600; 
}
.fav-meta { 
    font-size:0.9rem; 
    color:#6c757d; 
}
.fav-price { 
    font-weight:bold; 
    color:#000; 
}
.subtotal { 
    font-size:0.9rem; 
    color:#0d6efd; 
}
.cantidad-input { 
    width:70px; 
    text-align:center; 
}
.btn-sm { 
    font-size:0.8rem; 
}
#modalAgregarFav{
    z-index: 10700;
    margin-top: 50px;
}
#rateModal{
    z-index: 10700;
    margin-top: 100px;
}

/*Quitar subrayado y azul al link*/
.link-clean {
    text-decoration: none;
    color: inherit;
}

.link-clean:hover {
    text-decoration: none;
    color: inherit;
}

#customerModal{
    z-index: 50000;
}