/*=============================================
CONTENIDO CENTRAL
=============================================*/

.contenido-central {
    max-width: 1215px;  
    margin: 0 auto;     
    padding: 0 10px;    
}
/*=============================================
BANNER
=============================================*/
.banner {
  position: relative;
  width: 100%;
  text-align: center;   
}

.banner img {
  display: block;
  width: 100%;
  height: auto;         
  object-fit: contain;  
}


.banner .textoBanner{
	position:absolute;
	font-family: 'Ubuntu Condensed', sans-serif;
}

.banner .textoDer{
	top:50px; 
	right:50px; 
	text-align:right;
}

.banner .textoIzq{
	top:50px; 
	left:50px; 
	text-align:left;
}

.banner .textoCentro{
	top:50px; 
	left:50%;
	width:800px; 
	margin-left: -400px;
	text-align:center;
}

.textoBanner h1{
	font-size:35px;
	line-height:25px;
}

.textoBanner h2{
	font-size:30px;
	line-height:25px;
}

.textoBanner h3{
	font-size:24px;
	line-height:25px;
}
/*=============================================
DISEÑO DEL GRID Y LIST
=============================================*/
.well-sm {
  background:  #2a5498;      
  border: 1px solid#4888ee;      
    
  border-radius: 12px;       
  padding: 15px 20px;       
  margin-top: 30px;         
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05); 
  transition: all 0.3s ease;

}

.btn-default {
  background: #f5f5f5;         
  color: #333;                 
  border: 1px solid #ddd;      
  border-radius: 8px;         
  padding: 8px 18px;          
  font-size: 14px;
  font-weight: 500;
  transition: all 0.3s ease;  
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.btn-default:hover {
  background: #e9e9e9;
  color: #000;
  border-color: #ccc;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transform: translateY(-1px); 
}

.btn-default:active {
  background: #ddd;
  transform: translateY(0); 
}

/*=============================================
BOTON DE CARRITO DE COMPRA
=============================================*/
.row.botonesCompra .btn {
  min-width: 120px;
  padding: 10px 20px;
  border-radius: 8px;
  font-weight: 500;
  background: #004080;           
  color: #5a4634;               
  border: 1px solid #004080;     
  transition: all 0.3s ease;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}


.row.botonesCompra .btn:hover {
  background: #004080;           
  color: #fff;                   
  border-color: #004080;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
/*=============================================
BOTON DE VER MÁS
=============================================*/

.btn.btn-default.backColor.pull-right {
  background: #004080;       
  color: #fff;                
  border: none;              
  border-radius: 8px;        
  padding: 10px 22px;        
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15); 
  transition: all 0.3s ease;  
}  
.btn.btn-default.backColor.pull-right:hover {
  background: #004080;        
  color: #fff;                
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.2);
}

.btn.btn-default.backColor.pull-right:active {
  background: #004080;        
  transform: translateY(0);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
}
/*=============================================
BOTON DE X CARRITO
=============================================*/
.btn.btn-default.backColor.quitarItemCarrito {
  background: #dc3545;      
  color: #fff;               
  border: none;             
  border-radius: 8px;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;                  
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
}


.btn.btn-default.backColor.quitarItemCarrito:hover {
  background: #b02a37;       
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.2);
}


.btn.btn-default.backColor.quitarItemCarrito:active {
  background: #801f28;       
  transform: translateY(0);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
}

.btn.btn-default.backColor.quitarItemCarrito i,
.btn.btn-default.backColor.quitarItemCarrito span {
  color: #fff;
  font-weight: bold;
  font-size: 16px;
}
/*=============================================
TITULO DEL INFOPRODUCTO y DEL PERFIL
=============================================*/
.text-muted.text-uppercase {
  display: block;          
  width: 100%;             
  margin-top: 12px;        
  color: #6c757d;        
  font-size: 18px;         
  font-weight: 700;        
  letter-spacing: 2px;    
  text-transform: uppercase;
  position: relative;
}
.text-muted.text-uppercase::after {
  content: "";
  display: block;
  width: 40px;             
  height: 3px;             
  background-color: #007bff; 
  margin-top: 6px;
  border-radius: 2px;
}
.text-muted {
  color: #6c757d;        
  font-size: 14px;      
  font-weight: 400;     
  letter-spacing: 0.5px; 
  line-height: 1.5;     
}
/*=============================================
BOTON DE INGRESAR 
=============================================*/
.btn.btn-default.backColor.btn-lg {
  background: #004080;
  color: #fff;         
}
.btn.btn-default.backColor2.btn-lg {
  background: green;
  color: #fff;         
}
.btn.btn-default.backColor.btn-lg:hover {
  background: #004080;
  color: #fff;
}
/*=============================================
BOTON DE ACTUALIZAR DATOS DE PERFIL 
=============================================*/
.btn.btn-default.backColor.btn-md {
  background: #004080; 
  color: #fff;         
}

.btn.btn-default.backColor.btn-md:hover {
  background: #004080;
  color: #fff;
}
.btn.btn-danger.btn-xs.quitarDeseo {
  background: #f5f5f5;
  color: #333;
  border: 1px solid #ddd;
  border-radius: 50%; 
  padding: 10px; 
  width: 40px;  
  height: 40px; 
  font-size: 14px;
  font-weight: 500;
  transition: all 0.3s ease;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.btn.btn-danger.btn-xs.quitarDeseo:hover {
  background: #e8e8e8;
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.btn.btn-danger.btn-xs.quitarDeseo:active {
  transform: translateY(0);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.col-xs-6.precio2 {
  font-size: 5px;             
  font-weight: 600;           
  color: #555;                
  text-align: center;          
  padding: 4px 8px;
  letter-spacing: 0.5px;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  user-select: none;
  transition: color 0.3s ease;
}

.col-xs-6.precio2:hover {
  color: #1e7e34; 
  cursor: default;
}




/*=============================================
ESCRITORIO GRANDE (LG revisamos en 1366px en adelante)
=============================================*/

@media (min-width: 1200px) {
  .banner {
    height: 260px;
  }
}

/*=============================================
ESCRITORIO MEDIANO O TABLET HORIZONTAL (MD revisamos en 1024px)
=============================================*/

@media (max-width: 1199px) and (min-width: 992px) {
  .banner {
    height: 260px;
  }
}

/*=============================================
ESCRITORIO PEQUEÑO O TABLET VERTICAL (SM revisamos en 768px)
=============================================*/

@media (max-width: 991px) and (min-width: 768px) {
  .banner {
    height: 180px;
  }

  .textoBanner h1 {
    font-size: 30px;
    line-height: 15px;
  }

  .textoBanner h2 {
    font-size: 25px;
    line-height: 15px;
  }

  .textoBanner h3 {
    font-size: 25px;
    line-height: 15px;
  }

  .banner .textoDer,
  .banner .textoIzq,
  .banner .textoCentro {
    top: 35px;
  }
}

/*=============================================
MOVIL (XS revisamos en 320px)
=============================================*/

@media (max-width: 767px) {
  .banner {
    height: 100px;
  }

  .banner .textoDer,
  .banner .textoCentro,
  .banner .textoIzq {
    top: 7px;
    left: 50%;
    width: 800px;
    margin-left: -400px;
    text-align: center;
    text-shadow: 2px 2px 20px black;
  }

  .textoBanner h1 {
    font-size: 20px;
    line-height: 5px;
  }

  .textoBanner h2 {
    font-size: 20px;
    line-height: 5px;
  }

  .textoBanner h3 {
    font-size: 15px;
    line-height: 5px;
  }

  .tituloDestacado h1 {
    text-align: center;
  }

  .tituloDestacado button {
    position: absolute;
    left: 50%;
    width: 40%;
    margin-left: -20%;
  }

  .productos ul li h1 small {
    font-size: 16px;
  }
}

/*=============================================
BARRA PRODUCTOS
=============================================*/

.barraProductos .organizarProductos span {
  margin-left: 5px;
}
/*=============================================
PRODUCTOS
=============================================*/
.container-fluid.productos {
  max-width: 1100px;
  margin: 0 auto;
  padding: 5px 15px; 
}

.productos {
  padding: 15px 0;
  font-size: 12px;
  line-height: 1.3;
  box-sizing: border-box;
}

.productos ul li {
  padding-left: 5px;
  padding-right: 5px;
}

/*=============================
TARJETA PRODUCTOS 
==============================*/
.productos [class^="grid"] li {
  border: 1.5px solid #cfd4d7;
  border-radius: 12px;
  padding: 15px;
  margin: 12px 1%;
  box-shadow: 0 4px 12px rgba(207, 212, 215, 0.3);
  transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  box-sizing: border-box;
  overflow: hidden;
  float: left;
  width: 23%;
  min-height: 300px;
  max-height: 300px;
  background: linear-gradient(180deg, #f9fafb 0%, #f0f2f5 100%);
  position: relative;
  border-color: #cfd4d7;
  height: 300px; 
}

.productos [class^="grid"] li:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 8px 20px rgba(207, 212, 215, 0.5);
  border-color: #aeb6bb;
}

.productos [class^="grid"] li::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(174, 182, 187, 0.15) 0%, transparent 60%);
  transform: rotate(25deg);
  opacity: 0;
  transition: opacity 0.3s;
}

.productos [class^="grid"] li:hover::before {
  opacity: 1;
}

/*======================== 
IMAGEN DEL PRODUCTO
==========================*/
.productos figure {
  margin: 0 0 8px;
  text-align: center;
  flex-shrink: 0;
  max-height: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.productos figure img {
  max-width: 60%;
  height: auto;
  border-radius: 8px;
  display: inline-block;
  transition: transform 0.3s ease;
}

.productos [class^="grid"] li:hover figure img {
  transform: scale(1.08); 
}

/*============================
TITULO 
==============================*/
.productos h4 {
  text-align: center;
  margin: 8px 0 6px 0;
  text-transform: uppercase;
  font-weight: 800;
  font-size: 12px;
  color: #333;
  letter-spacing: 1px;
  font-family: 'Poppins', sans-serif;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.1);
  transition: all 0.3s ease;
  position: relative;
  display: inline-block;
  padding-bottom: 6px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.productos h4::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 40%;
  height: 3px;
  background: linear-gradient(90deg, #f0ad4e, #ffd700); 
  transform: translateX(-50%);
  border-radius: 3px;
  transition: width 0.3s ease;
}

.productos h4:hover {
  color: #4169E1;
  text-shadow: 2px 2px 6px rgba(65,105,225,0.3); 
}

.productos h4:hover::after {
  width: 70%; 
}

/*========================= 
ETIQUETA
==========================*/
.productos .label-warning {
  font-size: 9px;
  padding: 4px 8px;
  margin: 6px auto; 
  background: #f0ad4e;
  color: white;
  border-radius: 20px;
  display: inline-block;
  text-align: center;
  font-weight: 600;
  letter-spacing: 0.5px;
}

/*===================
PRECIO
======================*/
.productos .precio {
  display: flex;
  flex-direction: column; 
  align-items: center;    
  justify-content: center;
  text-align: center;
  font-family: sans-serif;
  width: 100%;
  margin: 6px 0;
  flex-shrink: 0;
}

.productos .precio h2 {
  font-size: 18px;
  font-weight: 800;
  color: #e63946;
  margin: 0;
  text-shadow: 1px 1px 3px rgba(0,0,0,0.15); 
  letter-spacing: 0.5px;
}

.productos .precio .oferta {
  font-size: 13px;
  text-decoration: line-through;
  color: white;
  background-color: #f0ad4e;
  margin-right: 6px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 4px;
}

/*=======================
ENLACES
=========================*/
.productos .enlaces {
  display: flex;
  justify-content: center; 
  align-items: center; 
  gap: 8px;
  margin-top: auto;
  width: 100%;
  text-align: center;
}

/*===========================
BOTON DISEÑO CUADRO
=============================*/
.productos .enlaces .btn {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  border: 1px solid #ccc;
  background-color: #f9f9f9;
  color: #444;
  font-size: 13px;
  transition: all 0.3s ease;
  cursor: pointer;
}

.productos .enlaces .btn:hover {
  background-color: #e0e0e0;
  border-color: #bbb;
  color: #000;
}

/*===============================
RESPONSIVE
================================*/

@media screen and (max-width: 1024px) {
  .productos [class^="grid"] li {
    width: 31%;
    margin: 10px 1.5%;
    height: 260px; 
  }
}
@media screen and (max-width: 768px) {
  .productos [class^="grid"] li {
    width: 45%;
    margin: 10px 1.5%;
    height: 230px; 
  }
}
@media screen and (max-width: 480px) {
  .productos [class^="grid"] li {
    width: 100%;
    height: 200px; 
    margin: 10px 0;
    padding: 12px;
  }

  .productos figure {
    max-height: none;
    max-width: 100%;
  }

  .productos figure img {
    max-width: 80%;
  }

  
  .productos h4 {
    font-size: clamp(10px, 3vw, 14px);
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
  }

  .productos .enlaces {
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
  }
}
