@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css");
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&display=swap');

:root{
    --izc-primario: #00b5e5;
    --izc-secundario: #1652a1;
    --blanco: #ffffff;
}
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
body{
    background: #f8f8f8;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    color: #333333; /* Texto principal */
    font-size: 14px;
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}
a{
    text-decoration: none;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Header ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

.header-top{
    background-color: var(--izc-secundario);
}
.ht-content{
    max-width: 1200px;
    width: 100%;
    margin: auto; 
}
.header-top .header-links{
    display: flex;
    justify-content: end;
    list-style-type: none;
    margin: 5px 2rem !important;
}
.header-top .header-links a{
    color: var(--blanco);
    text-decoration: none;
    margin-left: 20px;
    font-size: 11px;
    text-transform: uppercase;
}
.item-link>a>svg{
    height: 12px;
    width: 12px;
    fill: var(--blanco);
}
.header-links>.item-link:hover a{
    color: var(--izc-primario);
}
.header-content{
    padding: 10px;
}
.header-content>div{
    padding: 10px;
}
.header-top .main-logo{
    height: auto;
    width: 138px;
    margin-left: 14%;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Buscador ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.header-body{
    background-color: var(--blanco);
}
.search-container {
    display: flex;
    background-color: var(--blanco); /* Fondo blanco */
    border: 1px solid #ccc; /* Borde gris */
    border-radius: 0px;
    overflow: hidden; /* Para ocultar el scroll si es necesario */
    height: 35px;
}
.select{
    position: relative;
}
.icon-select{
    position: absolute;
    top: 10px;
    right: 0px;
    width: 15px;
    height: 10px;
}
.category-select {
    background-color: var(--blanco); /* Fondo blanco */
    border: none;
    padding: 5px;
    appearance: none; /* Para ocultar el selector predeterminado */
    -webkit-appearance: none; /* Para Chrome */
    position: relative;
    padding-right: 15px;
}
.category-select::after {
    content: "\f0dc"; /* Icono de flecha hacia abajo de Font Awesome */
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    font-family: 'Font Awesome 5 Pro';
    pointer-events: none;
    color: #333;
    font-size: 12px;
    /* Agregar un borde para visualizar mejor la posición */
    border: 1px solid red;
}
.search-input {
    flex: 1;
    border: none;
    padding: 5px;
}
.search-button {
    background-color: var(--izc-secundario);
    fill: var(--blanco);
    border: none;
    padding: 10px;
    cursor: pointer;
    width: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.fa-search {
    font-size: 18px;
}
.btn-section .header-help{
    display: flex;
    justify-content: end;
    padding-top: 5px;
}
.btn-section .header-help>a{
    background-color: var(--izc-secundario);
    color: var(--blanco) !important;
    font-size: 14px;
    padding: 0 20px;
    line-height: 30px;
    display: inline-block;
    border-radius: 3px;
    min-width: 160px;
    text-decoration: none;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ NavBar ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.nav-izc{
    background-color: var(--izc-secundario) !important;
    padding-top: 0px;
    padding-bottom: 0px;
    font-size: 14px;
    box-shadow: 0 0 5px #bdbdbd;
    -moz-box-shadow: 0 0 5px #bdbdbd;
    -webkit-box-shadow: 0 0 5px #bdbdbd;
    -o-box-shadow: 0 0 5px #bdbdbd;
    -ms-box-shadow: 0 0 5px #bdbdbd;
}
.nav-izc>.container-fluid>.navbar-toggler{
    border-color: rgba(255, 255, 255, 0.15);
    color: var(--blanco);
    margin: 10px;
    height: 30px;
}
.nav-izc>.container-fluid>.navbar-toggler>i{
    width: 30px;
    height: 30px;
}
.navbar-collapse{
    position: relative;
}
.dropdown-menu {
    position: relative; /* que se comporte como contenedor */
    padding: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: auto;
    border-radius: 0px 0px 5px 5px;
    transition: width 0.3s ease, height 0.3s ease;
    transition: height 0.3s ease, width 0.3s ease;
}
.categorias-drop{
    min-width: 780px;
}
.dropdown:hover .dropdown-menu {
    display: flex;
}
.conte-drop {
    transition: height 0.3s ease;
}
.nav-link, .menu-link{
    align-items: center;
    justify-content: center;
    display: flex;
    color: var(--blanco);
    text-transform: uppercase;
    padding: 20px;
    text-decoration: none;
}
.nav-link svg{
    fill: var(--blanco);
}
.nav-link:hover, .menu-link:hover{
    background-color: var(--izc-primario);
    color: var(--blanco);
}
.dropdown-toggle{
    margin-right: 35px;
}
.dropdown-toggle::after{
    content: none !important;
}
.item-drop{
    width: 100%;
    display: contents;
    padding: 0px 10px;
    padding-bottom: 15px;
}
.cont-sub {
  display: none; /* oculto por defecto */
}
.cont-sub.active {
  display: block; /* se muestra cuando está activo */
}
.icat{
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    min-width: 180px;
}
.i-cat {
    display: flex;
    justify-content: space-between;
    width: auto;
    background: var(--blanco);
    padding: 10px;
    border-bottom: 1px solid #dedece;
    text-decoration: none;
    color: #000;
    font-size: 12px;
    text-align: start;
}
.i-cat:hover, .i-cat:hover a{
    background: var(--izc-secundario);
    color: var(--blanco);
}
.i-cat p{
    margin-bottom: 0px;
    width: 90%;
}
.i-cat::after{
    display: inline-block;
    content: "";
    vertical-align: -.125em;
    background-image: url("data:image/svg+xml,<svg viewBox='0 0 17 17' fill='%23333' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z' clip-rule='evenodd'/></svg>");
    background-repeat: no-repeat;
    background-size: 1rem 1rem;
    height: 14px;
    width: 14px;
    margin: 0px;
    fill: #A3A3A3;
}
.icat #subcat3,
.icat #subcat5{
    min-width: 300px;
}
.cont-sub {
    min-width: 600px;
    height: auto;
    min-height: 221px;
    background-color: var(--blanco); 
    border-left: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    border-radius: 0px 0px 5px;
    padding: 7px 10px;
    position: relative;
    z-index: 1;
    top: 0px;
    right: 0px;
    display: none; /* Escondemos el contenedor inicialmente */
    transition: 0.3s ease;
    font-size: 12px;
}
.cont-sub .bi::before{
    font-size: 16px;
    vertical-align: -0.24em;
}
.groupdrop-link{
    padding-left: 0px !important;
}
.groupdrop-title i,
.groupdrop-title svg{
    margin-right: 5px;
}
.groupdrop-link li{
    list-style: none;
    color: black;
    transition: 0.3s;
}
.groupdrop-link>li>a{
    color: #444444;
}
.groupdrop-link li:hover{
    padding-left: 5px;
}
.groupdrop-link li:hover::before{
    display: inline-block;
    content: "";
    vertical-align: -.125em;
    background-image: url("data:image/svg+xml,<svg viewBox='0 0 17 17' fill='%23333' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M2 8a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11A.5.5 0 0 1 2 8z' clip-rule='evenodd'/></svg>");
    background-repeat: no-repeat;
    background-size: 1rem 1rem;
    height: 14px;
    width: 14px;
    margin: 0px;
    fill: var(--izc-secundario);
}
.groupdrop-title>a{
    font-weight: 600;
}
.space-top{
    margin-top: 20px !important;
    margin-bottom: 10px !important;
}
.space-s .groupdrop-title{
    margin-bottom: 0px !important;
    border-bottom: 2px solid var(--izc-secundario);
    padding-bottom: 10px;
}
li.item.last {
    padding-bottom: 8px;
    border-bottom: 1px solid #cecece
}
.groupdrop-link .item{
    padding: 5px 0px;
}
.icat a:hover + .cont-sub, .cont-sub:hover  {
    display: block; /* Mostramos el contenedor cuando el <a> es hover */
    transition: 0.3s ease;
}
.cont-sub:hover + .icat a{
    background: var(--izc-secundario);
    color: var(--blanco);
    transition: 0.3s ease;
}
/*  */
.list-navega{
    list-style: none;
    display: flex;
    padding: 0px;
}
.list-navega>.li-navega{
    padding-top: 20px;
    font-size: 12px;
    text-transform: uppercase;
}
.list-navega>.li-navega a{
    text-decoration: none;
    color: #333333;
}
.list-navega>.li-navega strong{
    color: #a3a3a3;
}
.list-navega>.li-navega a::after{
    display: inline-block;
    content: "";
    vertical-align: -.125em;
    background-image: url("data:image/svg+xml,<svg viewBox='0 0 17 17' fill='%23333' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M1 8a.5.5 0 0 1 .5-.5h11.793l-3.147-3.146a.5.5 0 0 1 .708-.708l4 4a.5.5 0 0 1 0 .708l-4 4a.5.5 0 0 1-.708-.708L13.293 8.5H1.5A.5.5 0 0 1 1 8z' clip-rule='evenodd'/></svg>");
    background-repeat: no-repeat;
    background-size: 1rem 1rem;
    height: 14px;
    width: 14px;
    margin: 0px 10px;
    fill: #A3A3A3;
}
.li-nave-title{
    font-size: 24px;
    color: #282828;
    text-transform: uppercase;
}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Menu marcas ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.marcas-dropdown .dropdown-menu {
    display: flex;
    flex-direction: column;
    max-width: 300px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;
    display: block; /* importante para animación */
}

.marcas-dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.sub-menu-marcas .item a {
    display: flex;
    align-items: center;
    padding: 10px 10px 10px 20px;
    background: var(--blanco);
    color: var(--izc-secundario);
    transition: all 0.3s ease;
    position: relative;
}

/* ICONO oculto */
.sub-menu-marcas .item a::before {
    content: "\f285"; /* bi-chevron-right */
    font-family: "bootstrap-icons";
    position: absolute;
    left: 8px;
    opacity: 0;
    transform: translateX(-6px);
    transition: all 0.3s ease;
    font-size: 12px;
}

/* HOVER COMPLETO */
.sub-menu-marcas .item a:hover {
    background: var(--izc-secundario);
    color: var(--blanco);
    padding-left: 28px;
    border-left: 3px solid #fff;
}

/* Mostrar icono */
.sub-menu-marcas .item a:hover::before {
    opacity: 1;
    transform: translateX(0);
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Contenido ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

.c-banner{
    background-color: #e5e5e5;
    background-size: cover; /* o contain, según lo que busques */
    background-position: center;
    background-repeat: no-repeat;
    aspect-ratio: 1670 / 596;
    width: 100%; /* el ancho define el alto automáticamente */
    display: flex;
    align-items: center;
}
.cont-banner{
    width: 95%;
    padding: 20px;
    border-radius: 10px;
    color: white;
    background: #00000073;
}
.cont-banner p{
    font-size: 16px;
}
.cont-banner a{
    display: flex;
    justify-content: center;
    font-size: 16px;
    text-align: center;
    margin-left: 10px;
    width: 85%;
    padding: 5px 20px;
    border-radius: 10px;
    font-weight: 600;
    transition: 0.25s;
}
.cont-banner a:hover{
    color: black;
    background: white;
    font-weight: 500;
}
.card-ben{
    background: var(--blanco) !important;
    -webkit-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.175);
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.175);
}
.card-ben>h5{
    font-weight: 600;
}
.card-ben a{
    padding: 8px;
    transition: 0.3s;
}
.card-ben a:hover{
    padding-bottom: 6px;
}
.cont-categoria{
    padding: 30px 0px;
    -webkit-box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.3); 
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.216);
}
.cont-categoria p{
    text-align: center;
}
.cont-categoria h2{
    text-align: center;
    font-size: 2rem;
}
.cont-categoria .grid-cate{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 30px 2%;
    align-items: stretch;
}

.cate-co{
    background: rgb(255, 255, 255);
    border-radius: 20px;
    padding: 10px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    position: relative;
    margin-top: 25%;
}
.cate-co img{
    width: 100%;
    top: -28%;
    position: absolute;
    filter: drop-shadow(5px 5px 5px #636363);
}
.cate-co h3{
    margin-top: 25%;
    text-align: center;
    font-size: 25px;
    padding-top: 5px;
}
.cate-co p{
    padding: 0px 20px;
    color: black;
}
.cate-co a{
    padding: 10px 20px;
    border-radius: 20px;
    width: 100%;
    margin: auto;
    text-align: center;
    transition: 0.25s;
}
.cate-co a:hover{
    font-weight: bold;
}

.c-casos-de-uso{
    padding-top: 50px 5%;
}
.c-casos-de-uso .card-caso{
    padding: 10px;
}
.c-casos-de-uso .card-caso>div{
    padding: 10px;
    border-radius: 10px;
    background: var(--blanco);
    -webkit-box-shadow: 0px 8px 15px -3px rgba(0,0,0,0.25); 
    box-shadow: 0px 8px 15px -3px rgba(0,0,0,0.25);
}
.c-casos-de-uso h2,
.c-casos-de-uso p{
    text-align: center;
}
.c-casos-de-uso .card-caso h3{
    text-align: center;
    font-size: 19px;
    font-weight: 600;
}
.c-casos-de-uso .card-caso p{
    margin-bottom: 0px;
    font-size: 0.85rem;
}
.c-casos-de-uso .card-caso .btn-casos i{
    font-size: 30px;
}
.c-casos-de-uso .card-caso ul{
    font-size: 13px;
    padding-left: 13px;
}

.c-tab-comparativa{
    padding-top: 40px;
    padding-bottom: 40px;
    text-align: center;
}

.c-para-quien{
    padding-top: 40px;
    padding-bottom: 40px;
}

.c-para-quien li{
    padding-bottom: 10px;
}

.cont-contact{
    padding: 50px;
}
.c-articulos{
    padding: 30px 5%;
}
.c-articulos .card-title{
    font-size: 1.1rem;
}
.c-articulos .card-text{
    font-size: 0.9rem;
}
.c-articulos .card-body a{
    font-size: 0.8rem;
    border-radius: 8px;
}
.c-articulos .card-body a:hover{
    font-size: 0.8rem;
}

.grid-contacto{
    display: flex;
    justify-content: space-around;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 20px;
}
.grid-contacto .card-contact{
    width: 90%;
    min-width: 200px;
    padding: 15px;
    border-radius: 20px;
    text-align: center;
    background: white;
    -webkit-box-shadow: 5px 5px 15px 5px rgba(0,0,0,0.2); 
    box-shadow: 5px 5px 15px 5px rgba(0,0,0,0.2);
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}
.grid-contacto .img-logo-gp{
    margin-left: 5px;
}
.grid-contacto .card-contact .card-p1{
    width: 70%;
}
.grid-contacto .card-contact .card-p2{
    width: 100%;
}
.grid-contacto .card-contact .btn-categoria{
    width: 95%;
    text-align: center;
    padding: 10px 20px;
    border-radius: 100px;
    font-weight: 400;
    font-size: 0.85rem;
    margin: 20px auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    transition: 0.25s;
}
.grid-contacto .card-contact p{
    margin-bottom: 0px;
    margin-left: 10px;
    text-align: left;
}
.grid-contacto .btn-categoria:hover{
    font-weight: bold;
}
.grid-contacto .btn-categoria i{
    font-size: 30px;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Footer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
.c-footer{
    background-color: var(--blanco);
}
.top-footer{
    background: var(--izc-secundario);
    height: 20px;
    padding: 10px;
}
.cont-footer{
    background: var(--blanco);
    padding: 20px 0px;
}
.cont-footer>.footer-box{
    padding: 10px;
    color: #000;
}
.footer-box>p{
    font-size: 14px;
    color: #3a3a3a;
    font-weight: 600;
    margin-bottom: 20px;
    text-transform: uppercase;
}
.footer-box>.footer-link{
    margin-left: 0px;
    padding: 0px;
}
.dir-1{
    margin-bottom: 10px;
}
.footer-link>li{
    padding: 10px 0px;
    border-bottom: 1px solid #cdcdce;
    list-style: none;
    color: rgb(119, 119, 119);
}
.footer-link>li>a{
    width: 100%;
    display: block;
    text-decoration: none;
    color: #777777;
    font-size: 14px;
    font-weight: 400;
}
.footer-link>li>a:hover{
    color: var(--izc-secundario);
}
.footer-link>.last{
    border-bottom: none;
}
.footer-link>li>.bi{
    display: inline-flex;
    align-items: center;
}
.footer-link>li>.bi::before{
    font-size: 12px;
}
.f-footer{
    background: #e8e8e8;
}
.f-footer .b-foot{
    padding: 20px;
}

/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Responsive ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
@media (min-width: 370px) {
    .cate-co img{
        top: -115px;
    }
}
@media (min-width: 576px) {
    .cate-co img{
        top: -50%;
    }
    .cont-banner {
        width: 80%;
    }
    .cont-banner p{
        font-size: 20px;
    }
}
@media (min-width: 768px) {
    .cate-co{
        width: 45%;
        margin-top: 12%;
    }
    .cate-co img{
        top: -30%;
    }
    .portafolio-elotouch .industry-cards i{
        font-size: 2rem;
    }
    .portafolio-elotouch .c img{
        border-radius: 10px 0 10px 10px;
    }
    .grid-contacto .card-contact{
        width: 95%;
        display: flex;
        align-items: center;
        justify-content: space-around;
        flex-direction: row;
    }
    .grid-contacto .card-contact .card-p1{
        width: 20%;
    }
    .grid-contacto .card-contact .card-p2{
        width: 70%;
    }
    .grid-contacto .card-contact .btn-categoria{
        font-size: 16px;
    }
    .cont-banner a{
        width: 50%;
    }
    .cont-banner {
        width: 70%;
    }
}
@media (max-width: 992px){
    .navbar-nav{
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
    }
    .navbar-nav li{
        width: 33% !important;
    }
    .dropdown-toggle {
        margin-right: 0px !important;
    }
    .dropdown{
        position: relative;
    }
    .dropdown-menu {
        position: absolute;
        width: 92vw;
    }
    .i-cat{
        position: relative;
    }
    .cont-sub{
        position: absolute;
        z-index: 1;
        top: 0px;
        right: 0px;
    }
}