/*--------------------------------------------------------------------- Nombre del Archivo: style.css ---------------------------------------------------------------------*/


/*--------------------------------------------------------------------- Importación de Fuentes ---------------------------------------------------------------------*/

@import url('https://fonts.googleapis.com/css?family=Rajdhani:300,400,500,600,700');
@import url('https://fonts.googleapis.com/css?family=Poppins:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i');
@import url('https://fonts.googleapis.com/css?family=Raleway:100,400,600,700,900&display=swap');
@import url('https://fonts.googleapis.com/css?family=Baloo+Chettan&display=swap');
@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,600i,700,800&display=swap');


/*--------------------------------------------------------------------- Importación de Archivos ---------------------------------------------------------------------*/

@import url(animate.min.css);
@import url(normalize.css);
@import url(icomoon.css);
@import url(font-awesome.min.css);
@import url(meanmenu.css);
@import url(owl.carousel.min.css);
@import url(swiper.min.css);
@import url(slick.css);
@import url(jquery.fancybox.min.css);
@import url(jquery-ui.css);
@import url(nice-select.css);

/*--------------------------------------------------------------------- Esqueleto / Estructura Base ---------------------------------------------------------------------*/

* {
     box-sizing: border-box !important;
}

.container {
     max-width: 1170px;
}

html {
     scroll-behavior: smooth;
}

body {
     color: #666666;
     font-size: 14px;
     font-family: 'Poppins', sans-serif;
     line-height: 1.80857;
     font-weight: normal;
}

a {
     color: #1f1f1f;
     text-decoration: none !important;
     outline: none !important;
     -webkit-transition: all .3s ease-in-out;
     -moz-transition: all .3s ease-in-out;
     -ms-transition: all .3s ease-in-out;
     -o-transition: all .3s ease-in-out;
     transition: all .3s ease-in-out;
}

h1,
h2,
h3,
h4,
h5,
h6 {
     letter-spacing: 0;
     font-weight: normal;
     position: relative;
     padding: 0 0 10px 0;
     font-weight: normal;
     line-height: normal;
     color: #111111;
     margin: 0
}

h1 {
     font-size: 24px;
}

h2 {
     font-size: 22px;
}

h3 {
     font-size: 18px;
}

h4 {
     font-size: 16px
}

h5 {
     font-size: 14px
}

h6 {
     font-size: 13px
}

*,
*::after,
*::before {
     -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
     box-sizing: border-box;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
     color: #212121;
     text-decoration: none!important;
     opacity: 1
}

button:focus {
     outline: none;
}

ul,
li,
ol {
     margin: 0px;
     padding: 0px;
     list-style: none;
}

p {
     margin: 0px;
     font-weight: 500;
     font-size: 15px;
     line-height: 24px;
}

a {
     color: #222222;
     text-decoration: none;
     outline: none !important;
}

a,
.btn {
     text-decoration: none !important;
     outline: none !important;
     -webkit-transition: all .3s ease-in-out;
     -moz-transition: all .3s ease-in-out;
     -ms-transition: all .3s ease-in-out;
     -o-transition: all .3s ease-in-out;
     transition: all .3s ease-in-out;
}

img {
     max-width: 100%;
     height: auto;
}

 :focus {
     outline: 0;
}

.btn-custom {
     margin-top: 20px;
     background-color: transparent !important;
     border: 2px solid #ddd;
     padding: 12px 40px;
     font-size: 16px;
}

.lead {
     font-size: 18px;
     line-height: 30px;
     color: #767676;
     margin: 0;
     padding: 0;
}

.form-control:focus {
     border-color: #ffffff !important;
     box-shadow: 0 0 0 .2rem rgba(255, 255, 255, .25);
}

.navbar-form input {
     border: none !important;
}

.badge {
     font-weight: 500;
}

blockquote {
     margin: 20px 0 20px;
     padding: 30px;
}

button {
     border: 0;
     margin: 0;
     padding: 0;
     cursor: pointer;
}

.full {
     float: left;
     width: 100%;
}

.full {
     width: 100%;
     float: left;
     margin: 0;
     padding: 0;
}


/**-- Sección de Títulos --**/


/*---------------------------- Área del Precargador ----------------------------*/

.loader_bg {
     position: fixed;
     z-index: 9999999;
     background: #fff;
     width: 100%;
     height: 100%;
}

.loader {
     height: 100%;
     width: 100%;
     position: absolute;
     left: 0;
     top: 0;
     display: flex;
     justify-content: center;
     align-items: center;
}

.loader img {
     width: 280px;
}


/*-- Área del Encabezado --*/
/* Navbar simple y limpia - Estilo Dashboard */
.header {
    width: 100%;
    padding: 10px 0;
    background: #ffffff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    border-bottom: 3px solid #2ecc71;
    position: sticky;
    top: 0;
    z-index: 1000;
    transition: all 0.3s ease-in-out;
}

.logo img {
    width: 120px;
    height: auto;
    display: block;
}

/*-- Navegación --*/
.navigation.navbar {
    padding: 0 !important;
}

/* Estilos para la barra de navegación */
.navigation.navbar-dark .navbar-nav .nav-link {
    padding: 8px 12px;
    margin: 0 2px;
    color: #1E392A;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s ease;
    white-space: nowrap;
}

/* Efecto al pasar el ratón por encima */
.navigation.navbar-dark .navbar-nav .nav-link:hover,
.navigation.navbar-dark .navbar-nav .nav-link:focus {
    background-color: rgba(46, 204, 113, 0.1);
    color: #1E392A;
    border-radius: 5px;
}

/* Estilo para el enlace activo */
.navigation.navbar-dark .navbar-nav .active>.nav-link,
.navigation.navbar-dark .navbar-nav .nav-link.active,
.navigation.navbar-dark .navbar-nav .nav-link.show,
.navigation.navbar-dark .navbar-nav .show>.nav-link {
    color: #2ecc71;
    font-weight: 600;
}

/* Estilos para los iconos */
.navigation.navbar-dark .navbar-nav .nav-item .nav-link i {
    font-size: 16px;
    margin-right: 8px;
    transition: all 0.2s ease;
}

/* Estilos para el nombre de usuario */
.navigation.navbar-dark .navbar-nav .nav-link .pr-6px {
    margin-right: 6px;
    display: inline-block;
}

.navigation.navbar-dark .navbar-nav .nav-link span {
    white-space: nowrap;
}

.navbar-expand-md .navbar-nav {
    align-items: center;
}
 


/** Sección del Banner **/

.banner {
     position: relative;
     background: url(../images/banner-carousel.jpg);
     background-size: 100% 100%;
     background-position: center;
     background-repeat: no-repeat;
     min-height: 804px;
     padding-top: 17%;
}

.text-bg {
     text-align: left;
}

.relative {
     position: inherit;
     right: 0;
     left: 0;
     padding: 0;
     bottom: 0;
}

.text-bg h1 {
     color: #000;
     font-size: 85px;
     line-height: 96px;
     padding-bottom: 0px;
     font-weight: bold;
}

.text-bg span {
     line-height: 25px;
     padding-bottom: 40px;
     color: #fff;
     font-size: 17px;
     font-weight: bold;
     display: block;
}

.text-bg .read_more {
     max-width: 243px;
     height: 66px;
     padding: 17px 0;
     background-color: #fff;
     color: #000;
     text-transform: uppercase;
     font-weight: bold;
     border-radius: 50px;
}

.text-bg .read_more:hover {
     background-color: #0d0c0c;
}

.banner .carousel-indicators {
     display: none;
}

#myCarousel .carousel-control-prev,
#myCarousel .carousel-control-next {
     width: 36px;
     height: 36px;
     background: #0d0c0c;
     opacity: 1;
     font-size: 25px;
     color: #fff;
     border-radius: 60px;
     top: 97.6%;
}

#myCarousel .carousel-control-prev:hover,
#myCarousel .carousel-control-next:hover,
#myCarousel .carousel-control-prev:focus,
#myCarousel .carousel-control-next:focus {
     background: #16d316;
     color: #fff;
     width: 57px;
     height: 57px;
     font-size: 30px;
     top: 96%;
}

#myCarousel a.carousel-control-prev {
     position: absolute;
     bottom: 10px;
     left: 48%;
}

#myCarousel a.carousel-control-next {
     position: absolute;
     right: inherit;
     bottom: 10px;
     right: 46.5%;
}

#myCarousel .carousel-control-prev:hover,
#myCarousel .carousel-control-prev:focus {
     left: 46.5%;
}

#myCarousel .carousel-control-next:hover,
#myCarousel .carousel-control-next:focus {
     right: 45%;
}


/** Fin de la Sección del Banner **/

.titlepage {
     text-align: center;
     padding-bottom: 40px;
     padding-top: 30px;
}

.titlepage h2 {
     font-size: 40px;
     color: #1f1f1f;
     line-height: 45px;
     font-weight: bold;
     padding: 0;
}

.green {
     color: #16e816 !important;
}

.d_flex {
     display: flex;
     align-items: center;
     flex-wrap: wrap;
}

.read_more {
     font-size: 17px;
     background-color: #252525;
     color: #fff;
     padding: 12px 0px;
     width: 100%;
     max-width: 210px;
     text-align: center;
     display: inline-block;
     transition: ease-in all 0.5s;
     font-weight: 400;
}

.read_more:hover {
     background: #16e816;
     color: #fff;
     transition: ease-in all 0.5s;
}


/** Sección "Acerca de" **/

.about {
     background-color: #fff;
     padding-top: 95px;
}

.about .titlepage {
     text-align: left;
     margin-top: 41%;
     padding-bottom: 0;
     margin-right: -20px;
}

.about .titlepage h2 {
     margin-bottom: 35px;
}

.about .titlepage p {
     font-weight: 300;
     color: #2e2d2d;
     font-size: 17px;
     line-height: 31px;
     padding-bottom: 35px;
}

.about_img {
     padding: 40px 30px 45px 30px;
}

.about_img figure {
     margin: 0;
}

.about_img figure img {
     width: 100%;
     z-index: 9999;
     position: relative;
}


/** Fin de la Sección "Acerca de" **/


/** Sección de Servicios **/

.service {
     padding-top: 80px;
}

.service_box h3 {
     font-size: 25px;
     color: #252525;
     padding-bottom: 5px;
     margin-top: 15px;
     font-weight: bold;
}

.mar_top {
     margin-top: -35px;
}

.service_box p {
     color: #181818;
}

.service .read_more {
     margin: 0 auto;
     display: block;
     margin-top: 60px;
}


/** Fin de la Sección de Servicios **/


/* Estilos para la sección de productos */
.gallery .card {
     border: 1px solid #ddd;
     border-radius: 5px;
     margin-bottom: 30px;
     transition: transform 0.3s ease-in-out;
 }
 
 .gallery .card:hover {
     transform: scale(1.05);
 }
 
 .gallery .card img {
     width: 100%;
     height: auto;
     border-bottom: 1px solid #ddd;
 }
 
 .gallery .card-body {
     padding: 20px;
     text-align: center;
 }
 
 .gallery .card-title {
     font-size: 1.5em;
     margin-bottom: 10px;
     color: #333;
 }
 
 .gallery .card-text {
     font-size: 1em;
     color: #666;
     margin-bottom: 15px;
 }
 
 .gallery .card-price {
     font-size: 1.2em;
     color: #28a745;
     font-weight: bold;
 }
 
 .titlepage h2 {
     font-size: 2.5em;
     color: #333;
     margin-bottom: 20px;
 }
 
 .titlepage h2 .green {
     color: #28a745;
 }
 
 .titlepage p {
     font-size: 1.1em;
     color: #666;
     margin-bottom: 40px;
     text-align: center;
 }
 


/** Fin de estilos para la sección de productos **/


/** Sección de Diseño **/

.design {
     padding-top: 80px;
}

.text_de p {
     color: #2a2b2a;
     padding-bottom: 50px;
     font-size: 17px;
     line-height: 31px;
}

.banner_design {
     max-width: 443px;
     float: right;
     width: 100%;
}

.design_img figure {
     margin: 0;
}

.design_img figure img {
     width: 100%;
}

.banner_design .carousel-indicators {
     display: none;
}

#design .carousel-control-prev,
#design .carousel-control-next {
     width: 83px;
     height: 76px;
     background: #0d0c0c;
     opacity: 1;
     font-size: 35px;
     color: #fff;
     top: 97%;
}

#design .carousel-control-prev:hover,
#design .carousel-control-next:hover,
#design .carousel-control-prev:focus,
#design .carousel-control-next:focus {
     background: #16d316;
     color: #000;
}

#design a.carousel-control-prev {
     position: absolute;
     left: 31%;
}

#design a.carousel-control-next {
     position: absolute;
     right: 29%;
}

.pad_roght0 {
     padding-right: 0;
}

.text_de .titlepage {
     padding-bottom: 30px;
}


/** Fin de la Sección de Diseño **/


/** Sección de Últimas Noticias **/

.latest_news {
     padding: 80px 0 50px 0;
}

.latest_news .titlepage {
     text-align: center;
}

.latest_news .titlepage p {
     color: #fff;
     font-size: 17px;
     margin-top: 20px;
}

.latest_news .news_box {
     text-align: left;
     background-color: #ffffff;
     margin-bottom: 30px;
     transition: ease-in all 0.5s;
}

.latest_news .news_box .news_img figure {
     margin: 0;
     padding: 0px 30px 0 0;
     margin-left: -195px;
}

.latest_news .news_box .news_img figure img {
     width: 100%;
}

.mr_le figure {
     margin-left: 0 !important;
     margin-right: -195px !important;
     padding: 0px 0px 0 30px !important;
}

.latest_news .news_box .news_room {
     padding: 15px 30px;
     text-align: left;
}

.latest_news .news_box .news_room h3 {
     color: #252525;
     font-size: 17px;
     line-height: 20px;
     font-weight: bold;
     padding-bottom: 10px;
     transition: ease-in all 0.5s;
     margin: auto;
     padding-top: 15px;
}

.latest_news .news_box .news_room span {
     font-size: 15px;
     color: #252525;
     font-weight: 400;
     margin-bottom: 0px;
     display: block;
     transition: ease-in all 0.5s;
}

.latest_news .news_box .news_room ul li {
     display: inline-block;
}

.latest_news .news_box .news_room ul li a {
     transition: ease-in all 0.5s;
     display: inline-block;
     font-size: 15px;
     padding-right: 30px;
}

.latest_news .news_box .news_room ul li a i {
     padding-left: 5px;
}

.latest_news .news_box .news_room ul li a:hover {
     color: #16e816 !important;
}

.latest_news .news_box .news_room ul li:last-child a {
     padding-right: 0;
}

.latest_news .news_box .news_room p {
     font-size: 16px;
     line-height: 21px;
     font-weight: 400;
     color: #1b1b1b;
     transition: ease-in all 0.5s;
}

#new:hover.news_box {
     background: #292a29;
     transition: ease-in all 0.5s;
     cursor: pointer;
}

#new:hover.news_box .news_room span,
#new:hover.news_box .news_room h3,
#new:hover.news_box .news_room p,
#new:hover.news_box .news_room ul li a {
     color: #fff;
     transition: ease-in all 0.5s;
}

.latest_news .read_more {
     margin: 0 auto;
     display: block;
     margin-top: 30px;
}


/** Fin de la Sección de Últimas Noticias **/


/** Sección de Testimonios **/

.Testimonial {
     padding-top: 80px;
}

.banner_testimonial {
     padding: 40px 50px;
     width: 100%;
     background-color: #343434;
}

.text_humai {
     margin-top: 60px;
     text-align: left;
     padding: 0 30px 40px 30px;
     border: #16d316 solid 1px;
     border-radius: 5px;
}

.text_humai span {
     color: #fff;
     padding-top: 20px;
     padding-bottom: 20px;
     font-size: 17px;
     line-height: 31px;
     font-weight: bold;
     display: block;
}

.text_humai i img {
     margin-top: -60px;
}

.text_humai p {
     color: #fff;
     font-weight: 400;
     font-size: 17px;
     line-height: 31px;
}

.banner_testimonial .carousel-indicators {
     display: none;
}

.pad_left0 {
     padding-left: 0;
}

#testimon .carousel-control-prev,
#testimon .carousel-control-next {
     width: 83px;
     height: 76px;
     background: #0d0c0c;
     opacity: 1;
     font-size: 35px;
     color: #fff;
     top: 67%;
}

#testimon .carousel-control-prev:hover,
#testimon .carousel-control-next:hover,
#testimon .carousel-control-prev:focus,
#testimon .carousel-control-next:focus {
     background: #16d316;
     color: #000;
}

#testimon a.carousel-control-prev {
     position: absolute;
     left: 118%;
}

#testimon a.carousel-control-next {
     position: absolute;
     right: -38%;
}

.pad_roght0 {
     padding-right: 0;
}

.text_de .titlepage {
     padding-bottom: 30px;
}


/** Fin de la Sección de Testimonios **/


/* Inicio de estilos para la sección de Contacto */
.contact {
     background-color: #f9f9f9;
 }
 
 .contact .titlepage h2 {
     font-size: 2.5rem;
     color: #333;
 }
 
 .contact .titlepage p {
     font-size: 1.1rem;
     color: #f8e6e6;
     margin-bottom: 20px;
 }
 
 /* Estilos para el formulario */
 .main_form {
     background-color: white;
     padding: 30px;
     border-radius: 10px;
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
 }
 
 .main_form .form-control {
     border-radius: 8px;
     border: 1px solid #ced4da;
     padding: 10px;
     font-size: 1rem;
 }
 
 .main_form .form-control:focus {
     border-color: #80bdff;
     outline: none;
     box-shadow: 0 0 5px rgba(0, 123, 255, 0.5);
 }
 
 .main_form button {
     background-color: #28a745;
     color: white;
     border: none;
     padding: 15px;
     font-size: 1.2rem;
     border-radius: 8px;
     transition: background-color 0.3s ease;
 }
 
 .main_form button:hover {
     background-color: #218838;
     cursor: pointer;
 }
 
 /* Estilos para el mapa */
 .map_main {
     border-radius: 10px;
     overflow: hidden;
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
 }
 
 .map-responsive iframe {
     border: none;
     border-radius: 10px;
 }
 
 /* Estilos generales */
 .py-5 {
     padding-top: 3rem;
     padding-bottom: 3rem;
 }
 
 .shadow {
     box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
 }
 

.contact {
     background: url(../images/contacto.png);
     background-size: 100% 100%;
     background-repeat: no-repeat;
     background-position: center;
     margin-top: 90px;
     padding: 80px 0;
}

/** Fin de estilos para la sección de contacto **/


/** Inicio de estilos del footer **/

.footer {
     background: #202020;
     padding-top: 80px;
     padding-left: -20px;
     text-align: center;
}

.footer h3 {
     font-weight: 400;
     font-size: 30px;
     line-height: 23px;
     text-align: left;
     color: #fff;
     padding-bottom: 20px;
     display: table;
     text-transform: uppercase;
}

ul.social_icon {
     padding-bottom: 14px;
     width: 100%;
     text-align: left;
}

ul.social_icon li {
     display: inline-block;
}

ul.social_icon li a {
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 20px;
     border-radius: 30px;
     margin: 0 3px;
     color: #202020;
     background: #fff;
     width: 35px;
     height: 35px;
     flex-wrap: wrap;
}

ul.social_icon li a:hover {
     color: #fff;
     background: #33f033;
}

.pad_roght2 {
     padding-right: 20px;
}

.variat {
     color: #fff;
     text-align: left;
     font-size: 17px;
     font-weight: 400;
     line-height: 28px;
}

ul.conta li {
     color: #fff;
     text-align: left;
     padding-bottom: 20px;
     font-size: 16px;
}

ul.conta li i {
     padding-right: 15px;
     text-align: center;
     font-size: 20px;
}

ul.conta li a {
     color: #fff;
}

ul.link_menu li {
     display: block;
     text-align: left;
}

ul.link_menu li a {
     color: #fff;
     font-size: 17px;
     line-height: 28px;
     display: block;
     width: -moz-max-content;
}

ul.link_menu li a:hover {
     color: #33f033;
}

.bottom_form {
     display: flex;
     flex-wrap: wrap;
     margin-top: 40px;
}

.bottom_form .enter {
     border: inherit;
     padding: 0px 119px 0px 0px;
     width: 100%;
     height: 45px;
     background: transparent;
     color: #4d4c4c;
     font-size: 17px;
     font-weight: 300;
     float: left;
     margin-bottom: 20px;
     border-bottom: #fff solid 1px;
}

.sub_btn {
     font-size: 19px;
     transition: ease-in all 0.5s;
     background-color: transparent;
     color: #fff;
     padding: 8px 0px;
     max-width: 147px;
     width: 100%;
     font-weight: 500;
     text-transform: uppercase;
     position: absolute;
     right: 0;
}

.sub_btn:hover {
     transition: ease-in all 0.5s;
     color: #33f033;
}

#hkh *::placeholder {
     color: #4d4c4c;
     opacity: 1;
}

.copyright {
     margin-top: 60px;
     margin-left: -420px;
     padding-bottom: 20px;
     background-color: #fff;
 }
 
 .copyright p {
     color: #000;
     font-size: 18px;
     line-height: 22px;
     text-align: center; 
     padding-left: 400px;
     padding-top: 25px;
     font-weight: normal;
 }
 
 .copyright a {
     color: #000;
 }
 
 .copyright a:hover {
     color: #33f033; /* Color al pasar el ratón */
 }
 

/** Fin de los estilos del footer **/


/** CSS para Páginas Internas **/

.in_page .header {
     border-bottom: #3fe43d solid 4px;
}

/* Información Detallada */
.informacion-detallada {
     background-color: #f8f9fa; /* Fondo claro para que el texto resalte */
     padding: 60px 0; /* Espaciado vertical */
 }
 
 .informacion-detallada h2 {
     font-size: 2.5rem;
     font-weight: bold;
     color: #333; /* Color del título */
     margin-bottom: 20px; /* Espacio debajo del título */
 }
 
 .informacion-detallada p {
     font-size: 16px; /* Tamaño de fuente para mejorar la legibilidad */
     color: #555; /* Color del texto */
     line-height: 1.8; /* Altura de línea para que el texto sea más cómodo de leer */
     margin-bottom: 20px; /* Espaciado entre párrafos */
 }
 
 .informacion-detallada img {
     max-width: 77%; /* Asegura que la imagen no se salga del contenedor */
     height: auto; /* Mantiene la proporción de la imagen */
     border-radius: 8px; /* Bordes redondeados */
     box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra ligera para darle profundidad */
 }
 
 /* Ajustes para pantallas más pequeñas (responsive) */
 @media (max-width: 768px) {
     .informacion-detallada .col-md-6 {
         margin-bottom: 30px; /* Añade espacio entre columnas en pantallas pequeñas */
     }
 
     .informacion-detallada h2 {
         font-size: 2rem; /* Reduce el tamaño del título en pantallas pequeñas */
     }
 
     .informacion-detallada p {
         font-size: 1rem; /* Ajusta el tamaño del texto */
     }
 }


/* Nuestros Productos */
.nuestros-productos {
     background-color: #f1f1f1; /* Fondo claro para destacar la sección */
     padding: 60px 0; /* Espaciado vertical */
 }
 
 .nuestros-productos h2 {
     font-size: 2.5rem; /* Tamaño del título */
     font-weight: bold; /* Negrita para resaltar el título */
     color: #333; /* Color del título */
     margin-bottom: 20px; /* Espacio debajo del título */
 }
 
 .nuestros-productos p {
     font-size: 16px; /* Tamaño del texto para mejorar la legibilidad */
     color: #555; /* Color del texto */
     line-height: 1.8; /* Espaciado entre líneas */
     margin-bottom: 20px; /* Espaciado debajo del párrafo */
 }
 
 .nuestros-productos ul {
     list-style-type: disc; /* Viñetas para la lista */
     padding-left: 20px; /* Separación de las viñetas del borde izquierdo */
 }
 
 .nuestros-productos ul li {
     font-size: 16px; /* Tamaño de la fuente en la lista */
     color: #555; /* Color del texto */
     margin-bottom: 10px; /* Espaciado entre los elementos de la lista */
 }
 
 .nuestros-productos img {
     max-width: 80%; /* Imagen responsiva */
     height: auto; /* Mantener proporciones de la imagen */
     border-radius: 8px; /* Bordes redondeados */
     box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra suave para darle profundidad */
 }
 
 /* Ajustes responsive */
 @media (max-width: 768px) {
     .nuestros-productos h2 {
         font-size: 2rem; /* Ajusta el tamaño del título en pantallas más pequeñas */
     }
 
     .nuestros-productos p, 
     .nuestros-productos ul li {
         font-size: 1rem; /* Ajusta el tamaño del texto en pantallas pequeñas */
     }
 
     .nuestros-productos .order-md-2 {
         order: 1; /* Cambia el orden de las columnas en pantallas pequeñas */
     }
 
     .nuestros-productos .order-md-1 {
         order: 2; /* Cambia el orden de las columnas en pantallas pequeñas */
     }
 }
 
 /* Testimonios */
.testimonios {
     background-color: #f9f9f9; /* Fondo claro para resaltar la sección */
     padding: 60px 0; /* Espaciado vertical */
 }
 
 .testimonios h2 {
     font-size: 2.5rem; /* Tamaño del título */
     font-weight: bold; /* Negrita para el título */
     color: #333; /* Color del título */
     margin-bottom: 30px; /* Espacio debajo del título */
     text-align: center; /* Centrar el título */
 }
 
 .testimonios p {
     font-size: 16px; /* Tamaño del texto */
     color: #555; /* Color del texto */
     line-height: 1.8; /* Espaciado entre líneas */
     margin-bottom: 20px; /* Espaciado debajo de cada testimonio */
     position: relative; /* Posicionamiento relativo para añadir un ícono */
     padding-left: 30px; /* Espacio a la izquierda para el ícono */
 }
 
 .testimonios p::before {
     content: '“'; /* Comillas de apertura */
     font-size: 50px; /* Tamaño de las comillas */
     color: #16e816; /* Color verde para las comillas */
     position: absolute; /* Posicionamiento absoluto */
     left: 0; /* Alinear a la izquierda */
     top: -20px; /* Ajustar la posición vertical */
 }
 
 .testimonios strong {
     color: #16e816; /* Color verde para los nombres */
 }
 
 .testimonios img {
     max-width: 70%; /* Imagen responsiva */
     height: auto; /* Mantener proporciones de la imagen */
     border-radius: 8px; /* Bordes redondeados */
     box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Sombra suave */
 }
 
 /* Ajustes responsivos */
 @media (max-width: 768px) {
     .testimonios h2 {
         font-size: 2rem; /* Ajustar el tamaño del título en pantallas más pequeñas */
     }
 
     .testimonios p {
         font-size: 1rem; /* Ajustar el tamaño del texto en pantallas más pequeñas */
     }
 }
 
 /*Estilos para la galería*/

 .galeria h2 {
     font-size: 2.5rem;
     color: #333;
     margin-bottom: 40px;
  }
  
  .galeria img {
     transition: transform 0.3s ease;
  }
  
  .galeria img:hover {
     transform: scale(1.05);
  }

  /*
|--------------------------------------------------------------------------
| Estilos para el Carrito de Compras
|--------------------------------------------------------------------------
| Estilos para un diseño limpio y moderno de la página del carrito.
*/

.section-carrito {
    background-color: #f8f9fa;
    padding: 50px 0;
}

.cart-item-card, .summary-card {
    border: 1px solid #e9ecef;
    border-radius: 0.75rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    background-color: #ffffff;
}

.cart-item-img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: .5rem;
}

/* --- INICIO: NUEVO Y MEJORADO SELECTOR DE CANTIDAD --- */
.quantity-selector {
    display: flex;
    align-items: center;
    border: 1px solid #dee2e6;
    border-radius: 0.5rem;
    overflow: hidden; /* Para que los botones se ajusten a los bordes redondeados */
}

.quantity-btn {
    background-color: #f8f9fa;
    border: none;
    color: #495057;
    cursor: pointer;
    padding: 0 12px;
    font-size: 1.2rem;
    height: 40px;
    transition: background-color 0.2s ease;
}

.quantity-btn:hover {
    background-color: #e9ecef;
}

.quantity-input {
    width: 50px;
    height: 40px;
    text-align: center;
    border: none;
    border-left: 1px solid #dee2e6;
    border-right: 1px solid #dee2e6;
    font-weight: 500;
    /* Ocultar las flechas por defecto del input number */
    -moz-appearance: textfield; /* Firefox */
    -webkit-appearance: none; /* Chrome, Safari, Edge */
    appearance: textfield; /* Estándar */
    font-size: 1.2rem;             
}

.quantity-input::-webkit-outer-spin-button,
.quantity-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
/* --- FIN: NUEVO SELECTOR DE CANTIDAD --- */


.action-btn {
    background-color: transparent;
    border: none;
    color: #868e96;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.action-btn:hover {
    background-color: #fae3e3;
    color: #e03131;
}

.summary-card {
    position: -webkit-sticky;
    position: sticky;
    top: 120px;
}

.btn-checkout {
    background-color: #27ae60;
    border-color: #27ae60;
    font-weight: 600;
    padding: 12px;
    width: 100%;
    color: #fff;
}
.btn-checkout:hover {
    background-color: #229954;
    border-color: #229954;
    color: #fff;
}

.alert-custom-success {
    background-color: #e6f9f0;
    color: #198754;
    border-color: #b3e6c5;
}

.badge.cart-counter {
    position: absolute;
    transform: translate(50%, -50%);
    top: 5px;
    right: 15px;
}

.summary-item {
    font-size: 0.9rem; /* Hace el texto del desglose un poco más pequeño */
}

.summary-item .item-name {
    max-width: 200px; /* Evita que nombres muy largos rompan el diseño */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/*
 * ===================================================================
 *  AJUSTE RESPONSIVE PARA CUADRÍCULA DE PRODUCTOS (MÓVIL)
 * ===================================================================
 * Para pantallas de menos de 768px (móviles), forzamos a que las columnas
 * de productos ocupen el 25% del ancho, creando una cuadrícula de 4 columnas
 * como se solicitó, similar a Temu/AliExpress.
 *
 * Se aplica dentro de las secciones .gallery (página de productos) y
 * .latest_news (sección de productos en el inicio).
*/
@media (max-width: 767.98px) {
    /* Selector más específico para anular Bootstrap */
    /* Esto equivale a la clase .col-3 de Bootstrap */
    .gallery .row > .col-lg-4,
    .gallery .row > .col-md-6,
    .latest_news .row > .col-lg-4,
    .latest_news .row > .col-md-6 {
        -ms-flex: 0 0 25% !important;
        flex: 0 0 25% !important;
        max-width: 25% !important;
        padding-left: 5px;
        padding-right: 5px;
    }

    /* Ajustamos el tamaño de la fuente para que quepa mejor en 4 columnas */
    .gallery .card-title,
    .latest_news .news_box .news_room h3 {
        font-size: 0.7rem; /* Tamaño de fuente muy pequeño */
        line-height: 1.1;
        margin-bottom: 5px;
        white-space: normal; /* Permitir que el texto se divida en dos líneas */
    }

    .gallery .card-text,
    .latest_news .news_box .news_room p {
        display: none; /* Ocultamos la descripción para un look más limpio */
    }

    .gallery .card-price {
        font-size: 0.75rem;
    }

    /* Ajustar el padding del card-body para que el contenido no se vea apretado */
    .gallery .card-body,
    .latest_news .news_box .news_room {
        padding: 8px;
    }

    /* Asegurar que las imágenes se ajusten bien */
    .gallery .card img,
    .latest_news .news_box img {
        height: 80px; /* Altura fija para las imágenes */
        object-fit: contain; /* 'contain' para que se vea el producto completo */
        padding: 0;
    }
}