
@font-face {
        font-display: swap;
        font-family: 'Exo 2';
        font-style: normal;
        font-weight: 300;
        src: url('../fonts/exo-2-v8-latin-300.eot');
        src: local(''), url('../fonts/exo-2-v8-latin-300.eot?#iefix') format('embedded-opentype'), url('../fonts/exo-2-v8-latin-300.woff2') format('woff2'), url('../fonts/exo-2-v8-latin-300.woff') format('woff'), url('../fonts/exo-2-v8-latin-300.ttf') format('truetype'), url('../fonts/exo-2-v8-latin-300.svg#Exo2') format('svg');
    }
    @font-face {
        font-display: swap;
        font-family: 'Exo 2';
        font-style: normal;
        font-weight: 400;
        src: url('../fonts/exo-2-v8-latin-regular.eot');
        src: local(''), url('../fonts/exo-2-v8-latin-regular.eot') format('embedded-opentype'), url('../fonts/exo-2-v8-latin-regular.woff2') format('woff2'), url('../fonts/exo-2-v8-latin-regular.woff') format('woff'), url('../fonts/exo-2-v8-latin-regular.ttf') format('truetype'), url('../fonts/exo-2-v8-latin-regular.svg') format('svg');
    }
    @font-face {
        font-display: swap;
        font-family: 'Exo 2';
        font-style: normal;
        font-weight: 700;
        src: url('../fonts/exo-2-v8-latin-700.eot');
        src: local(''), url('../fonts/exo-2-v8-latin-700.eot') format('embedded-opentype'), url('../fonts/exo-2-v8-latin-700.woff2') format('woff2'), url('../fonts/exo-2-v8-latin-700.woff') format('woff'), url('../fonts/exo-2-v8-latin-700.ttf') format('truetype'), url('../fonts/exo-2-v8-latin-700.svg') format('svg');
    }
    @font-face {
        font-display: swap;
        font-family: 'Exo 2';
        font-style: normal;
        font-weight: 800;
        src: url('../fonts/exo-2-v8-latin-800.eot');
        src: local(''), url('../fonts/exo-2-v8-latin-800.eot') format('embedded-opentype'), url('../fonts/exo-2-v8-latin-800.woff2') format('woff2'), url('../fonts/exo-2-v8-latin-800.woff') format('woff'), url('../fonts/exo-2-v8-latin-800.ttf') format('truetype'), url('../fonts/exo-2-v8-latin-800.svg') format('svg');
    }
    @font-face {
        font-display: swap;
        font-family: 'Exo 2';
        font-style: italic;
        font-weight: 300;
        src: url('../fonts/exo-2-v8-latin-300italic.eot');
        src: local(''), url('../fonts/exo-2-v8-latin-300italic.eot') format('embedded-opentype'), url('../fonts/exo-2-v8-latin-300italic.woff2') format('woff2'), url('../fonts/exo-2-v8-latin-300italic.woff') format('woff'), url('../fonts/exo-2-v8-latin-300italic.ttf') format('truetype'), url('../fonts/exo-2-v8-latin-300italic.svg') format('svg');
    }
    @font-face {
        font-display: swap;
        font-family: 'Exo 2';
        font-style: italic;
        font-weight: 800;
        src: url('../fonts/exo-2-v8-latin-800italic.eot');
        src: local(''), url('../fonts/exo-2-v8-latin-800italic.eot') format('embedded-opentype'), url('../fonts/exo-2-v8-latin-800italic.woff2') format('woff2'), url('../fonts/exo-2-v8-latin-800italic.woff') format('woff'), url('../fonts/exo-2-v8-latin-800italic.ttf') format('truetype'), url('../fonts/exo-2-v8-latin-800italic.svg') format('svg');
    }
    @font-face {
        font-display: swap;
        font-family: 'Oswald';
        font-style: normal;
        font-weight: 300;
        src: url('../fonts/oswald-v31-latin-300.eot');
        src: local(''), url('../fonts/oswald-v31-latin-300.eot') format('embedded-opentype'), url('../fonts/oswald-v31-latin-300.woff2') format('woff2'), url('../fonts/oswald-v31-latin-300.woff') format('woff'), url('../fonts/oswald-v31-latin-300.ttf') format('truetype'), url('../fonts/oswald-v31-latin-300.svg') format('svg');
    }
    @font-face {
        font-display: swap;
        font-family: 'Oswald';
        font-style: normal;
        font-weight: 400;
        src: url('../fonts/oswald-v31-latin-regular.eot');
        src: local(''), url('../fonts/oswald-v31-latin-regular.eot') format('embedded-opentype'), url('../fonts/oswald-v31-latin-regular.woff2') format('woff2'), url('../fonts/oswald-v31-latin-regular.woff') format('woff'), url('../fonts/oswald-v31-latin-regular.ttf') format('truetype'), url('../fonts/oswald-v31-latin-regular.svg') format('svg');
    }
    @font-face {
        font-display: swap;
        font-family: 'Oswald';
        font-style: normal;
        font-weight: 500;
        src: url('../fonts/oswald-v31-latin-500.eot');
        src: local(''), url('../fonts/oswald-v31-latin-500.eot') format('embedded-opentype'), url('../fonts/oswald-v31-latin-500.woff2') format('woff2'), url('../fonts/oswald-v31-latin-500.woff') format('woff'), url('../fonts/oswald-v31-latin-500.ttf') format('truetype'), url('../fonts/oswald-v31-latin-500.svg') format('svg');
    }
    @font-face {
        font-display: swap;
        font-family: 'Oswald';
        font-style: normal;
        font-weight: 700;
        src: url('../fonts/oswald-v31-latin-700.eot');
        src: local(''), url('../fonts/oswald-v31-latin-700.eot') format('embedded-opentype'), url('../fonts/oswald-v31-latin-700.woff2') format('woff2'), url('../fonts/oswald-v31-latin-700.woff') format('woff'), url('../fonts/oswald-v31-latin-700.ttf') format('truetype'), url('../fonts/oswald-v31-latin-700.svg') format('svg');
    }
*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
background:#f2f5fa;
padding-top:120px;
}

/* FONDO SVG */

body::before{

content:"";
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background-image:url("../images/gris.svg");
background-size:cover;      /* llena toda la pantalla */
background-repeat:no-repeat;
background-position:center;
opacity:0.05;               /* controla transparencia */
z-index:-1;

}

.container{
width:90%;
margin:auto;
}

/* HEADER GRID */

.header-grid{

display:grid;
grid-template-columns:auto 1fr auto;
grid-template-rows:auto auto;
align-items:center;
background:#FFFFFF;
padding:10px 20px;
box-shadow:0 4px 15px rgba(0,0,0,0.12);
position:fixed;
top:0;
left:0;
width:100%;
z-index:9999;
}

/* LOGO */

.logo{
grid-row:1 / span 2;
display:flex;
align-items:center;
margin-left:40px;
}
.logo img{
    width: 30vh;
}
/* SLOGAN */

.top-text{
grid-column:2;
text-align:center;
font-size:32px;
font-weight:800;
color:#123488;
letter-spacing:1px;
font-style: italic;
font-family: "Oswald", sans-serif;
}



.hero{
position:relative;
height:420px;
overflow:hidden;
display:flex;
}

/* SLIDER DERECHO */

.hero-slider{
position:absolute;
right:0;
top:0;
width:65%;
height:100%;
overflow:hidden;
}

.hero-slider img{
position:absolute;
right:0;
top:0;
width:91%;
height:100%;
object-fit:cover;
opacity:0;
transition:opacity 1.4s ease-in-out;
}

.hero-slider img.active{
opacity:1;
}

/* DOTS */

.hero-dots{
position:absolute;
bottom:25px;
right:80px;
display:flex;
gap:12px;
z-index:5;
}

.dot{
width:14px;
height:14px;
border-radius:50%;
background:rgba(255,255,255,0.5);
cursor:pointer;
transition:0.3s;
border:2px solid white;
}

.dot.active{
background:#ffffff;
transform:scale(1.2);
}

.dot:hover{
background:#ffffff;
}

/* PANEL AZUL */

.hero-left{
position:relative;
z-index:2;
width:55%;
height:100%;
background:#123488;

clip-path:polygon(0 0, 92% 0, 75% 100%, 0% 100%);

display:flex;
align-items:center;
}

.hero-left::before{

content:"";
position:absolute;
right:175px;
top:0;
width:3px;
height:100%;
background:white;
transform:skewX(-19deg);
}
/* franja */
.contactanos {
        height: auto;
        background-color: #00a0a0;
        text-align: center;
    }
    .contactanos p {
        font: bold 25px "Oswald", sans-serif;
        padding: 10px;
        color: #fff;
        line-height: 1.1;
        font-weight: 500;
    }
    .contactanos a {
        text-decoration: none;
        color: #fff;
    }
/* CONTENIDO */

.hero-content{

color:white;
max-width:590px;
padding-left:60px;

}

.hero-content h1{
font-size:30px;
line-height:1.4;
margin-bottom:20px;

font-family: "Oswald", sans-serif;
}

.hero-content p{
margin-bottom:25px;
font: 22px "Exo 2", sans-serif;
}

.btn{

background:#f3b000;
padding:12px 25px;
border-radius:6px;
font-weight:bold;
text-decoration:none;
color:black;

}



/* CONTACT BAR */

.contact-bar{
background:#1aa3a3;
color:white;
text-align:center;
padding:12px;
font-weight:bold;
}
/* TECNOLOGIAS */

.section-title{
text-align:center;
font-size:28px;
margin:40px 0 30px;
color:#123488;

font-family: "Oswald", sans-serif;
}
.secciones{
    font: 17px "Exo 2", sans-serif;
  color: #666666;
  width: 70%;
  display: block;
  margin: 0 auto;
  padding-bottom: 20px;
}
.cotizar-seccion{
  width: 70%;
  display: block;
  margin: 0 auto;
  margin-bottom: 0px;
  padding-bottom: 20px;
}
.tech-grid{
display:grid;
grid-template-columns:repeat(5,1fr);
gap:25px;
text-align:center;
}

.tech-card{
background:white;
border-radius:8px;
border:2px solid #f2f2f2;
overflow:hidden;
padding:0;
}

.tech-card img{
width:100%;
height:200px;   /* más altura */
object-fit:cover;
display:block;
}

.tech-card p{
padding:25px;
font-weight:600;
font-size:19px;
color:#123488;
font-family:"Oswald", sans-serif;
}

.tech-card:hover{
transform:translateY(-6px);
box-shadow:0 10px 20px rgba(0,0,0,.15);
}
.tech-card a {
        text-decoration: none;
    }

.tech-card-2 a {
        text-decoration: none;
    }

.tech-grid-2{
display:grid;
grid-template-columns: repeat(3,1fr);
gap:25px;
text-align:center;
width: 70%;
margin: 0 auto;
}

.tech-card-2{
background:white;
border-radius:8px;
border:2px solid #f2f2f2;
overflow:hidden;
padding:0;
}

.tech-card-2 img{
width:100%;
height:200px;   /* más altura */
object-fit:cover;
display:block;
}

.tech-card-2 p{
padding:25px;
font-weight:600!important;
font-size:19px!important;
color:#123488!important;
font-family:"Oswald", sans-serif!important;
}

.tech-card-2:hover{
transform:translateY(-6px);
box-shadow:0 10px 20px rgba(0,0,0,.15);
}

.tech-card-3 a {
        text-decoration: none;
    }

.tech-grid-3{
display:grid;
grid-template-columns: repeat(4,1fr);
gap:25px;
text-align:center;
width: 70%;
margin: 0 auto;
}

.tech-card-3{
background:white;
border-radius:8px;
border:2px solid #f2f2f2;
overflow:hidden;
padding:0;
}

.tech-card-3 img{
width:100%;
height:200px;   /* más altura */
object-fit:cover;
display:block;
}

.tech-card-3 p{
padding:25px;
font-weight:600!important;
font-size:19px!important;
color:#123488!important;
font-family:"Oswald", sans-serif!important;
}

.tech-card-3:hover{
transform:translateY(-6px);
box-shadow:0 10px 20px rgba(0,0,0,.15);
}

.tech-card-4 a {
        text-decoration: none;
    }

.tech-grid-4{
display:grid;
grid-template-columns: repeat(3,1fr);
gap:25px;
text-align:center;
width: 90%;
margin: 0 auto;
}

.tech-card-4{
background:white;
border-radius:8px;
border:2px solid #f2f2f2;
overflow:hidden;
padding:0;
}

.tech-card-4 img{
width:100%;
height:200px;   /* más altura */
object-fit:cover;
display:block;
}

.tech-card-4 p{
padding:25px;
font-weight:600!important;
font-size:19px!important;
color:#123488!important;
font-family:"Oswald", sans-serif!important;
}

.tech-card-4:hover{
transform:translateY(-6px);
box-shadow:0 10px 20px rgba(0,0,0,.15);
}
/* SERVICIOS */

.services{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
margin-top:40px;
}
.gallery{
display:grid;
grid-template-columns:1fr 1.6fr;
gap:10px;
height:100%;
width: 60%;
  margin: 0 auto;
}

.gallery img{
width:100%;
height:100%;
object-fit:cover;
border-radius:6px;
}

.gallery img:nth-child(1){
grid-column:1;
grid-row:1;
aspect-ratio:1/1;
}

.gallery img:nth-child(2){
grid-column:1;
grid-row:2;
aspect-ratio:1/1;
}

.gallery img:nth-child(3){
grid-column:2;
grid-row:1;
}

.gallery img:nth-child(4){
grid-column:2;
grid-row:2;
}
.service-list{
display:flex;
flex-direction:column;
gap:25px;
}

.service-item{
display:flex;
gap:15px;
width: 80%;
}

.service-item i{
font-size:28px;
color:#1aa3a3;
}

.service-item p{
    font: 18px "Exo 2", sans-serif;
}
h4{
    font-size: 22px;
    color: #123488;

font-family: "Oswald", sans-serif;
}

h4 a{
    text-decoration: none;
    display: inline-block; /* necesario para transform */
    transition: transform 0.3s ease;
    color: #123488;
}

h4 a:hover{
    transform: scale(1.08);
}
/* CAPACITACION */



.training-section{

width:100%;
margin:80px auto;

}

.training-box{

margin:auto;
display:flex;
align-items:center;
background:#123488;
position:relative;
overflow:visible;

}

/* TEXTO */

.training-text {
  width: 60%;
  color: white;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 40px;
  padding-left: 150px;
}
.training-text h2{

font-size:28px;
margin-bottom:20px;

font-family: "Oswald", sans-serif;

}

.training-text p{

line-height:1.5;
margin-bottom:12px;
font: 18px "Exo 2", sans-serif;

}

/* BOTON */

.btn-training{
    font-family: "Exo 2", sans-serif;

display:inline-block;

background:#ffbf00;

color:#384c5a;

padding:14px 28px;

border-radius:8px;

text-decoration:none;

font-weight:600;

margin-top:15px;

}

/* IMAGEN */

.training-image{

position:absolute;

right:60px;

top:50%;

transform:translateY(-50%);

width:480px;

}

.training-image img{

width:100%;

border:12px solid white;

box-shadow:0 12px 30px rgba(0,0,0,.25);

position:relative;

}
/* EMPRESAS */

    .marcas{
      width: 100%;
      position: relative;
      margin: 0 auto;
      display: block;
      
    }
/* Estilos del carrusel */
@keyframes scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-250px * 7));
  }
}
.slider {
  height: 100px;
  margin: auto;
  overflow: hidden;
  position: relative;
  width: 80%;
  border-radius: 8px;
}

.slider::before, .slider::after {
  background: linear-gradient(to right, #f2f5fa 0%, rgba(242, 245, 250, 0) 100%);
  content: "";
  height: 100px;
  position: absolute;
  width: 200px;
  z-index: 2;
}

.slider::after {
  right: 0;
  top: 0;
  transform: rotateZ(180deg);
}

.slider::before {
  left: 0;
  top: 0;
}

.slider .slide-track {
  display: flex;
  width: max-content;
  animation: scroll 30s linear infinite;
}

.slider .slide {
  flex: 0 0 250px; /* IMPORTANTE */
}
.slide img{
  width: 250px;   /* 👈 ancho uniforme */
  height: 100px;   /* 👈 alto uniforme */
  object-fit: contain; /* 👈 NO deforma logos */
}
/* CONTACTO */

.cotizacion {
        width: 90%;
        margin: 0 auto;
        display: block;
    }
    .cotizacion picture{
        width: 80%;
  margin: 0 auto;
  display: block;
    }
    .formulario {
        width: 50%;
        display: inline-block;
        vertical-align: top;
        margin: 50px auto 0;
    }
    .texto-formulario {
        width: 45%;
        display: inline-block;
        margin: 25px auto 0;
    }
    .texto-formulario p {
        font: 17px "Exo 2", sans-serif;
        width: 90%;
        color: #444;
    }
    .texto-formulario img {
        width: 70%;
        margin: 10px auto 0px;
        display: block;
    }
    .style_form {
        color: #1f2429;
        border: none;
        background: transparent;
        outline: none;
        border-bottom: 1px solid rgba(31, 36, 41, 0.25);
    }
    .texto_contacto {
        display: inline-block;
        color: #666666;
        margin: 0 auto;
        width: 100%;
        letter-spacing: 1px;
        font: 17px "Exo 2", sans-serif;
    }
    .texto_obligatorio {
        display: inline-block;
        margin: 0 auto;
        width: 100%;
        letter-spacing: 1px;
        font: 17px "Exo 2", sans-serif;
        color: #666666;
    }
    .texto_obligatorio::after {
        content: "*";
        position: relative;
        left: 5px;
        font: 17px "Exo 2", sans-serif;
        color: red;
    }
    input[type="text"] {
        font: 15px "Exo 2", sans-serif;
        letter-spacing: 1px;
        padding: 0px;
        height: 35px;
        width: 100%;
        display: inline-block;
        margin: 0 auto 20px;
    }
    input[type="submit"] {
        font: 14px "Exo 2", sans-serif;
        color: #384c5a;
        background: #ffbf00;
        cursor: pointer;
        letter-spacing: 1px;
        margin: 15px 0;
        display: inline-block;
        padding: 0px;
        height: 35px;
        font-weight: 701;
        width: 15%;    
        border-radius:8px;
        }
    input[type="submit"]:hover {
        background: #eca900;
        transition: all 1s ease;
    }

    textarea {
        overflow: auto;
        vertical-align: top;
        resize: none;
    }
    .imput_datos {
        width: 45%;
        display: inline-block;
        margin: 0px 25px 0 0;
    }
    .modal-open .modal {
        overflow-x: hidden;
        overflow-y: auto;
    }
    .fade.in {
        opacity: 1;
    }
    .modal {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1050;
        display: none;
        overflow: hidden;
        -webkit-overflow-scrolling: touch;
        outline: 0;
    }
    .fade {
        opacity: 0;
        -webkit-transition: opacity .15s linear;
        -o-transition: opacity .15s linear;
        transition: opacity .15s linear;
    }
    .modal.in .modal-dialog {
        -webkit-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        -o-transform: translate(0, 0);
        transform: translate(0, 0);
    }
    .modal.fade .modal-dialog {
        -webkit-transition: -webkit-transform .3s ease-out;
        -o-transition: -o-transform .3s ease-out;
        transition: transform .3s ease-out;
        -webkit-transform: translate(0, -25%);
        -ms-transform: translate(0, -25%);
        -o-transform: translate(0, -25%);
        transform: translate(0, -25%);
    }
    .modal-dialog {
        width: 500px;
        margin: 15% auto;
        position: relative;
    }
    .modal-content {
        position: relative;
        background-color: #fff;
        -webkit-background-clip: padding-box;
        background-clip: padding-box;
        border: 1px solid #999;
        border: 1px solid rgba(0, 0, 0, .2);
        border-radius: 6px;
        outline: 0;
        -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
        box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
    }
    .modal-header {
        padding: 15px;
        border-bottom: 1px solid #e5e5e5;
    }
    .modal-header .close {
        margin-top: -2px;
    }
    button.close {
        -webkit-appearance: none;
        padding: 0;
        cursor: pointer;
        background: 0 0;
        border: 0;
    }
    .close {
        float: right;
        font: 28px "Exo 2", sans-serif;
        line-height: 1;
        color: #000;
        text-shadow: 0 1px 0 #fff;
        filter: alpha(opacity=20);
        opacity: .2;
    }
    .modal-title {
        margin: 0;
        line-height: 1.42857143;
    }
    .btn-group-vertical >.btn-group::after,
    .btn-toolbar::after,
    .clearfix::after,
    .container-fluid::after,
    .container::after,
    .dl-horizontal dd::after,
    .form-horizontal .form-group::after,
    .modal-footer::after,
    .modal-header::after,
    .nav::after,
    .navbar-collapse::after,
    .navbar-header::after,
    .navbar::after,
    .pager::after,
    .panel-body::after,
    .row::after {
        clear: both;
    }
    .btn-group-vertical >.btn-group::after,
    .btn-group-vertical >.btn-group::before,
    .btn-toolbar::after,
    .btn-toolbar::before,
    .clearfix::after,
    .clearfix::before,
    .container-fluid::after,
    .container-fluid::before,
    .container::after,
    .container::before,
    .dl-horizontal dd::after,
    .dl-horizontal dd::before,
    .form-horizontal .form-group::after,
    .form-horizontal .form-group::before,
    .modal-footer::after,
    .modal-footer::before,
    .modal-header::after,
    .modal-header::before,
    .nav::after,
    .nav::before,
    .navbar-collapse::after,
    .navbar-collapse::before,
    .navbar-header::after,
    .navbar-header::before,
    .navbar::after,
    .navbar::before,
    .pager::after,
    .pager::before,
    .panel-body::after,
    .panel-body::before,
    .row::after,
    .row::before {
        display: table;
        content: "";
    }
    .modal-body {
        position: relative;
        padding: 15px;
    }
    .modal-body p {
        font: 17px "Exo 2", sans-serif;
        text-align: center;
        margin: 10px auto;
    }
    .black {
        width: 100%;
    }

 footer {
        display: block;
        width: 100%;
        color: #ffffff;
        font:14px "Exo 2", sans-serif !important;
        text-align: center;
        position: relative;
        padding: 20px 0px 10px 0px;
        clear: both;
        overflow: hidden;
        bottom: -10px;
        background: #00a0a0;
        margin: 0 auto;
    }
    footer p {
        margin: 10px auto 0;
        color: #ffffff;
        font-style: bold;
    }
    .nosotros {
        width: 20%;
        display: inline-block;
        text-align: left;
        margin: auto 5px;
        vertical-align: top;
        color: #ffffff;
    }
    .nosotros p {
        color: #ffffff;
        font: 14px "Exo 2", sans-serif;
    }
    .nosotros img {
        width: 65%;
    }
    .menus {
        width: 15%;
        display: inline-block;
        text-align: left;
        margin: 0 auto 0 40px;
        vertical-align: top;
        font:14px "Exo 2", sans-serif !important;
        color: #ffffff;
    }
    .menus ul {
        display: block;
        padding: 0;
        margin: 10px auto;
        width: auto;
        width: 100%;

        font:14px "Exo 2", sans-serif !important;
        color: #ffffff;
    }
    .menus ul li {
        display: inline-block;
        width: 100%;
        margin: 5px auto;
    }
    .menus ul li a {
        color: #ffffff;

        font:14px "Exo 2", sans-serif !important;
        margin: 0 auto;
        text-decoration: none;
    }
    .nuevos {
        width: 15%;
        display: inline-block;
        text-align: left;
        margin: auto 5px;
        vertical-align: top;

        font:14px "Exo 2", sans-serif !important;
        color: #ffffff;
    }
    .nuevos ul {

        color: #ffffff;
        
        font:14px "Exo 2", sans-serif !important;
        display: block;
        padding: 0;
        margin: 10px auto 0;
        width: auto;
        width: 100%;
    }
    .nuevos ul li {

        color: #ffffff;
        
        font:14px "Exo 2", sans-serif !important;
        display: inline-block;
        width: 100%;
        margin: 5px auto;
    }
    .nuevos ul li a {

        color: #ffffff;
        
        font:14px "Exo 2", sans-serif !important;
        margin: 0 auto;
        text-decoration: none;
    }
.redes {
    width: 15%;
    display: inline-block;
    text-align: left;
    margin-right: 10px;
    vertical-align: top;
    color: #ffffff !important;
    font-size: 16px;
    transition: 0.3s;
}

.redes a {
    color: #ffffff !important;
    text-decoration: none;
    margin: 10px auto;
    display: inline-block;
}

/* 👇 FORZAR ICONOS */
.redes a i {
    color: #ffffff !important;
    transition: 0.3s;
    margin-right: 8px;
}

/* 👇 HOVER AZUL */
.redes a:hover i {
    color: #123488 !important;
}
    .letter p {
        color: #ffffff!important;
    }
    .letter {
        color: #ffffff!important;
        border: none;
        background: transparent;
        outline: none;
        border-bottom: 1px solid rgba(255, 255, 255, 1);
    }
    .letter:hover {
        background: transparent;
    }
    .letter::placeholder {
  color: #ffffff;
  opacity: 0.7;             /* Un poco de transparencia para que parezca ayuda */
}
    footer input[type="submit"] {
        font: 14px "Exo 2", sans-serif;
         color: #384c5a;
        background: #ffbf00;
        cursor: pointer;
        letter-spacing: 1px;
        margin: 20px auto 0;
        display: inline-block;
        padding: 0px;
        height: 35px;
        width: 30%;
        border-radius:8px;
        font-weight: 700;
    }
    footer input[type="submit"]:hover {
        color: #384c5a;
        background: #eca900;
        border: solid 3px #474747;
        transition: all 1s ease;
    }
    .newsletter {
        width: 20%;
        display: inline-block;
        text-align: left;
        margin: auto 5px;
        vertical-align: top;
    }
    footer span {
        display: inline-block;
        margin: 15px auto;
        font: 13px "Exo 2", sans-serif;
        color: #ffffff;
        vertical-align: middle;
        width: 100%;
    }




    /*interiores*/
    .page{
display:flex;
max-width:1200px;
margin:auto;
padding:40px;
}

.sidebar{
width:260px;
margin-right:40px;
}


.termografia-section{

padding:80px 5% 0px;

}

.termografia-container{

display:grid;
grid-template-columns:260px 1fr;
gap:50px;

}

/* SIDEBAR */

.sidebar{

width:260px;

}

/* BOTONES AMARILLOS */

.contact-buttons{
margin-bottom:30px;
}

.btn{

display:flex;
align-items:center;

background:#ffbf00;

color:#384c5a;

font-weight:bold;

padding:14px 18px;

border-radius:6px;

text-decoration:none;

margin-bottom:12px;

font: 18px "Exo 2", sans-serif;

}

.btn i{
margin-right:10px;
font-size:20px;
}
.btn .fa-whatsapp {
  color: #384c5a;
}



/* MENU CAMARAS */

.menu-camaras{
display:flex;
flex-direction:column;
gap:16px;
font-family: "Exo 2", sans-serif;
}

/* BOTON */

.menu-item{

position:relative;
display:block;
padding:16px 25px;
margin-bottom:5px;
color:#ffffff;
font-weight:600;
text-decoration:none;

clip-path:polygon(
0 0,
calc(100% - 40px) 0,
100% 50%,
calc(100% - 40px) 100%,
0 100%
);

transition:all .3s ease;

background:rgba(0, 160, 160, 0.70);

}

/* HOVER */

.menu-item:hover{

background:#00a0a0;
color:white;
transform:translateX(6px);

}

/* ACTIVO */

.menu-item.active{

background:#00a0a0;
color:white;

}

/* FLECHA BORDE */

.menu-item::after{

content:"";

position:absolute;

right:-28px;
top:-2px;

width:0;
height:0;

border-top:28px solid transparent;
border-bottom:28px solid transparent;

border-left:28px solid #00a0a0;

}

/* FLECHA INTERIOR */

.menu-item::before{

content:"";

position:absolute;

right:-24px;
top:0;

width:0;
height:0;

border-top:26px solid transparent;
border-bottom:26px solid transparent;

border-left:26px solid white;

}

/* HOVER FLECHA */

.menu-item:hover::before{
border-left:26px solid #00a0a0;
}

/* ACTIVO FLECHA */

.menu-item.active::before{
display:none;
}
.contact-btn a{

display:block;
background:#1db954;
color:white;
padding:10px;
text-align:center;
border-radius:6px;
margin-top:20px;

}

/* CONTENT */
.contentito{

width: 55%;
display: inline-block;
position: relative;
    vertical-align: middle;
}
.contentito-2{
    width: 40%;
    display: inline-block;
    position: relative;
    vertical-align: middle;
}
.contentito-2 img{
    width: 100%;
}
.content h1{

font-size:32px;
color:#123488;
margin-bottom:20px;
font-family: "Oswald", sans-serif;
}

.content h2{

margin-top:40px;
margin-bottom:30px;
color:#123488;

}

.content p{

margin-bottom:18px;
line-height:1.6;
color:#444;
font: 17px "Exo 2", sans-serif;

}
.related h1{

font-size:32px;
color:#123488;
margin-bottom:20px;
font-family: "Oswald", sans-serif;
}
.related p{

margin-bottom:18px;
line-height:1.6;
color:#444;
font: 17px "Exo 2", sans-serif;

}
/* =========================
CONTENEDOR
========================= */
.mlab-container{
    width:100%;
    max-width:1200px;
    margin:auto;
    padding:50px 20px;
}

/* =========================
HEADER PRODUCTOS
========================= */
.mlab-header{
    display:flex;
    align-items:stretch;
    gap:20px;
    flex-wrap:wrap;
    margin-bottom: 2%;

}

.mlab-trivector{
    flex:0 0 220px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.mlab-trivector img{
    width:18vw;
    opacity:0.9;
}

/* ITEMS */
.mlab-contenedor {
  display: flex;
  gap: 15px;
  flex: 1;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 0; /* 🔥 importante */
  align-items: flex-end; /* 🔥 esto es lo que necesitas */
}
.mlab-head-item{
    text-align:center;
    padding:12px 10px;
    background:#ffffff;
    border:1px solid #e5e5e5;
    border-radius:14px;
    transition:all 0.35s ease;
    cursor:pointer;
    font-family:'Exo 2', sans-serif;
    position:relative;
    overflow:hidden;
     display:flex;
    flex-direction:column;
    justify-content:center; /* 🔥 centrado vertical */
    align-items:center;
    max-width:220px;
}

/* efecto glow suave */
.mlab-head-item::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(120deg,transparent,rgba(0,123,255,0.15),transparent);
    opacity:0;
    transition:0.4s;
    pointer-events:none; /* 🔥 CLAVE */
}

.mlab-head-item:hover::before{
    opacity:1;
}

/* imagen */
.mlab-head-item img{
    max-width:150px;
    margin-bottom:10px;
    transition:0.4s;
}

.mlab-head-item:hover img{
    transform:scale(1.08);
}

/* texto */
.mlab-head-item h4{
    font-size:17px;
    font-weight:600;
}

.mlab-head-item p{
    font-size:14px;
    opacity:0.9;
}

/* hover general */
.mlab-head-item:hover{
    transform:translateY(-6px);
    box-shadow:0 10px 25px rgba(0,0,0,0.08);
}

/* ACTIVO (🔥 lo que querías) */
.mlab-head-item.active{
    background:#f0f6ff;
    color:#fff;
    box-shadow:0 12px 30px rgba(0,0,0,0.25);
}

.mlab-head-item.active p{
    opacity:0.9;
}

.mlab-head-item a{
    display:inline-block;
    margin-top:8px;
    font-size:11px;
    padding:6px 14px;
    border-radius:8px;
    text-decoration:none;
    border:none;
position:relative;
    z-index:2;
    transition:0.3s;
      font-family: "Exo 2", sans-serif;
  background: #ffbf00;
  color: #384c5a;
  font-weight: 600;
  margin-top: 15px;
}
.mlab-head-item a:hover{
    
background:#eca900;
transform:translateY(-3px);
box-shadow:0 10px 25px rgba(0,0,0,.3);
}
.mlab-head-item h4{
    margin-bottom:2px;
}

.mlab-head-item p{
    margin-bottom:4px;
}
/* =========================
TABLA (COLORES ORIGINALES)
========================= */
.mlab-table{
    width:100%;
    border-collapse:collapse;
    font-family:'Oswald', sans-serif;
}

/* HEAD */
.mlab-table thead th{
    background:#e4e1e4;
    padding:10px;
    font-size:16px;
}

/* SUBHEAD */
.mlab-subhead{ font-size: 12px;
  font-weight: 400; }

/* CELDAS */
.mlab-table td, 
.mlab-table th{
    padding:8px;
    border:1.5px solid #fff;
    text-align:center;
    font-size: 14px;
}
.mlab-table td{
    font-weight: 400;
}
/* PARAM */
.mlab-param{
    text-align:left;
    font-weight:500;
}

/* COLORES ORIGINALES */
.mlab-bg-cont{ background:#bee6ab; }
.mlab-bg-quim{ background:#ffc9b2; }
.mlab-bg-desg{ background:#edcfe8; }

/* =========================
CHECKS
========================= */
.mlab-check{
    font-size:20px; /* antes 18 */
    font-weight:700;
    opacity:0.3;
    transition:all 0.3s ease;
}

/* activo */
.mlab-table.active-3 .col-3,
.mlab-table.active-4 .col-4,
.mlab-table.active-5 .col-5,
.mlab-table.active-6 .col-6,
.mlab-table.active-7 .col-7{
    opacity:1;
    color:#ff0000; /* 🔥 negro */
    transform:scale(1.5);
}
.mlab-table{
  scroll-margin-top: 120px;
}
.mlab-hint{
  display: none;
  text-align: center;
  font-size: 14px;
  margin: 10px 0 5px;
  color: #666;
  animation: fadeIn 0.6s ease;
}


@keyframes fadeIn{
  from{opacity:0; transform: translateY(5px);}
  to{opacity:1; transform: translateY(0);}
}
td.contaminacion,
td.quimica,
td.desgaste {
    font-size: 18px;
    font-weight: 400;
}
td .icon{
    display: block;      /* 🔥 hace que baje */
    margin-top: 6px;     /* 🔥 separación del texto */
    font-size: 18px;     /* opcional */
}
.icon img{
    width: 30%;
}
/* PRODUCTOS */

.productos{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

}

.producto{

background:white;
padding:25px;
border-radius:10px;
margin-top: 30px;
box-shadow:0 10px 20px rgba(0,0,0,0.05);

display:flex;
flex-direction:column;

height:100%;

transition:.35s;

}
.producto .btn-producto{
margin-top:auto;
font: 14px "Exo 2", sans-serif;
}
.producto:hover{

transform:translateY(-6px);

}

.producto img{

width:100%;
margin-bottom:15px;

}

.producto h3{

color:#123488;
margin-bottom:10px;
font: 18px "Exo 2", sans-serif;

}

.producto ul{
font-family: "Exo 2", sans-serif;
padding-left:18px;
margin:10px 0;
color: #666666;

}

.btn-producto{

text-decoration:none;
display:inline-block;
margin-top:10px;
padding:10px 18px;
  display: inline-block;
  background: #ffbf00;
  color: #384c5a;
  padding: 14px 28px;
  border-radius: 8px;
  font-weight: 600!important;
  margin-top: 15px;
  width: 60%;
}
.btn-cotizar{

display:inline-block;
margin-top:10px;
padding:10px 18px;
background:#00a0a0;
color:white;
text-decoration:none;
border-radius:6px;
font-family: "Exo 2", sans-serif;

}
.sensores {
    width: 100%;
}
.sensores img {
    width: 80%;
margin: 0 auto;
display: block;
}
 .morado {
    color: #123488;
    font: 22px "Exo 2", sans-serif;
    font-weight: normal;
    font-weight: 701;
  }

.naranjas{
font-size: 28px;
  color: #D16002;
  margin-bottom: 20px;
  font-family: "Oswald", sans-serif;
  font-weight: 600;
  margin: 0 auto;
  display: block;
  }
/* CTA */

.cta-termografia{

margin-top:50px;
padding:40px;
background:#123488;
color:white;
border-radius:10px;
text-align:center;
font: 18px "Exo 2", sans-serif;
font-weight: 600;

}

.btn-contacto{

display:inline-block;
margin-top:15px;
background:#1db954;
padding:12px 22px;
color:white;
text-decoration:none;
border-radius:6px;

}

/* =========================
EFECTOS HOVER BOTONES
========================= */

.btn,
.btn-producto,
.btn-cotizar,
.btn-training,
.btn-contacto{

transition:all .35s ease;

}

/* BOTON AMARILLO */

.btn:hover{

background:#eca900;
transform:translateY(-3px);
box-shadow:0 8px 18px rgba(0,0,0,.25);

}

/* BOTON PRODUCTO */

.btn-producto:hover{

background:#eca900;
transform:translateY(-3px);
box-shadow:0 10px 25px rgba(0,0,0,.3);

}

/* BOTON COTIZAR */

.btn-cotizar:hover{

background:#eca900;
transform:translateY(-3px);
box-shadow:0 10px 25px rgba(0,0,0,.3);

}

/* BOTON CAPACITACION */

.btn-training:hover{

background:#eca900;
transform:translateY(-3px);
box-shadow:0 10px 25px rgba(0,0,0,.3);

}

/* BOTON CONTACTO */

.btn-contacto:hover{

background:#eca900;
transform:translateY(-3px);
box-shadow:0 10px 25px rgba(0,0,0,.3);

}

/* =========================
MENU LATERAL CAMARAS
========================= */

.menu-item{

transition:all .35s ease;

}

.menu-item:hover{

transform:translateX(8px);
box-shadow:0 6px 14px rgba(0,0,0,.15);

}

/* =========================
CARDS PRODUCTOS
========================= */

.producto{

transition:all .35s ease;

}

.producto:hover{

transform:translateY(-8px) scale(1.02);
box-shadow:0 14px 30px rgba(0,0,0,.15);

}
.producto-header{
  display:flex;
  flex-direction:column;
}

/* Desktop (orden normal) */
.producto-header .imagen{ order:1; }
.producto-header h1{ order:2; }
.producto-header .resena{ order:3; }
/* =========================
CARDS TECNOLOGIAS
========================= */

.tech-card{

transition:all .35s ease;

}

.tech-card:hover{

transform:translateY(-8px);
box-shadow:0 14px 30px rgba(0,0,0,.15);

}
.tech-card-2{

transition:all .35s ease;

}

.tech-card-2:hover{

transform:translateY(-8px);
box-shadow:0 14px 30px rgba(0,0,0,.15);

}
.tech-card-3{

transition:all .35s ease;

}

.tech-card-3:hover{

transform:translateY(-8px);
box-shadow:0 14px 30px rgba(0,0,0,.15);

}

.tech-card-4{

transition:all .35s ease;

}

.tech-card-4:hover{

transform:translateY(-8px);
box-shadow:0 14px 30px rgba(0,0,0,.15);

}
/* =========================
CARDS MEGAMENU
========================= */

.mega-card{

transition:all .35s ease;

}

.mega-card:hover{

transform:translateY(-6px) scale(1.04);
box-shadow:0 10px 25px rgba(0,0,0,.18);

}

/* =========================
ICONOS REDES
========================= */

.social i{

transition:all .3s ease;

}

.social i:hover{

transform:scale(1.2) rotate(6deg);

}

.social a{
text-decoration:none !important;
border-bottom:none !important;

}

.social a:hover{
text-decoration:none !important;
border-bottom:none !important;
}
.social a::after{
display:none !important;
content:none !important;
}


/* animación */

@keyframes techScroll{

0%{
transform:translateX(0);
}

100%{
transform:translateX(-50%);
}

}
/* =========================
MEGA MENU FINAL
========================= */

.mega-menu{

position:absolute;
top:100%;
left:0;

width:100%;

display:grid;

grid-template-columns:260px 1fr;

background:white;

padding:0;

box-shadow:0 15px 35px rgba(0,0,0,.2);

opacity:0;
visibility:hidden;

transition:.3s;

z-index:9999;

}

.mega-menu a{

  cursor: pointer;
  font-weight: 600;
  border-bottom: 1px solid #eee;
  color: #555;
}

.has-mega:hover .mega-menu{

opacity:1;
visibility:visible;

}

/* COLUMNA CATEGORIAS */

.mega-categories{

background:#f3f4f6;

padding:20px 0;

}

.mega-categories ul{
list-style:none;
margin:0;
padding:0;

display:flex;
flex-direction:column; /* fuerza lista vertical */
}

.mega-categories li{

padding:14px 25px;

font:16px "Exo 2", sans-serif;

color:#555;

cursor:pointer;

border-bottom:1px solid #e6e6e6;
display: block;

width:100%;

}

.mega-categories li:hover,
.mega-categories li.active{

color:#1bb35e;
font-weight:600;

}
/* FLECHA EN CATEGORIAS DEL MEGA MENU */

.mega-categories li{
position:relative;
padding-right:25px;
cursor:pointer;
}

.mega-categories li::after{
position:absolute;
right:0px;
top:50%;
transform:translateY(-50%);
font-size:14px;
color: #666666;
transition:.3s;
padding-left:8px; /* separacion del texto */
}

.mega-categories li.active::after{
color:#1bb35e;
}
/* 🔴 eliminar flechas CSS completamente */
#cssmenu li.has-sub > a::after,
#cssmenu li.has-mega > a::after{
content: none !important;
display: none !important;
}
/* COLUMNA PRODUCTOS */
/* ACTIVO REAL EN MEGA-CATEGORIES */
/* ACTIVO EN MEGA MENU (gana a #cssmenu) */
#cssmenu .mega-categories li.active > a{
  color:#1bb35e;
}

/* línea activa */
#cssmenu .mega-categories li.active > a::after{
  width:100%;
}

.mega-products{

background:white;

padding:35px 40px;

}

/* GRID PRODUCTOS */

.product-group{

display:none;

grid-template-columns:repeat(4,1fr);

gap:30px;

}

.product-group.active{

display:grid;

}

/* TARJETAS */

.product-card{

text-align:center;

}

.product-card img{

width:110px;
height:90px;

object-fit:contain;

margin:auto;

display:block;

margin-bottom:8px;

}

.product-card h4{

font:14px "Exo 2", sans-serif;

color:#123488;

}
/* MENU */

#cssmenu{
grid-column:2;
}

#cssmenu ul{
display:flex;
justify-content:center;
gap:35px;
list-style:none;
padding-top:5px;
}

#cssmenu a{
text-decoration:none;
font-weight:600;
color:#1c3d7a;
}

/* ICONOS */

.social{
grid-column:3;
grid-row:2;
display:flex;
gap:15px;
justify-content:flex-end;
margin-right:25px;
}

.social i{
font-size:24px;
cursor:pointer;
}

/* COLORES ICONOS */

.fa-whatsapp{color:#25D366;}
.fa-facebook{color:#1877F2;}
.fa-x-twitter{color:#1DA1F2;}
.fa-linkedin{color:#0e76a8;}

.menu{
display:flex;
gap:25px;
}

.menu a{
position:relative;
text-decoration:none;
color:#333;
font-weight:600;
padding-bottom:6px;
}

.menu a::after{

content:"";
position:absolute;
left:0;
bottom:0;

width:0;
height:2px;

background:#1aa3a3;

transition:0.35s;

}

.menu a:hover::after{

width:100%;

}
.menu ul{
display:flex;
gap:25px;
list-style:none;
}

.menu li{
position:relative;
}

.menu-overlay{

position:fixed;
top:0;
left:0;

width:100%;
height:100%;

background:rgba(0,0,0,.4);

opacity:0;
visibility:hidden;

transition:.3s;

}

.menu-overlay.active{

opacity:1;
visibility:visible;

}

.menu ul{
display:flex;
gap:25px;
list-style:none;
}

.menu li{
position:relative;
}

/* mostrar menu */

.has-mega:hover .mega-menu{
opacity:1;
visibility:visible;
transform:translateY(0);
}


#cssmenu{
position:relative;
font-family:"Exo 2", sans-serif;
}

#cssmenu ul{
list-style:none;
display:flex;
justify-content:center;
gap:35px;
padding:15px;
}

#cssmenu li{
position:relative;
}

#cssmenu a{
text-decoration:none;
color:#666666;
font: 17px "Exo 2", sans-serif;
}

/* HOVER VERDE + LINEA */

#cssmenu a::after{

content:"";
position:absolute;
left:0;
bottom:0;

width:0;
height:2px;

background:#1bb35e;

transition:.3s;

}

#cssmenu a:hover{
color:#1bb35e;
}

#cssmenu a:hover::after{
width:100%;
}

.has-mega:hover .mega-menu{
opacity:1;
visibility:visible;
}

/* CATEGORIAS */

.mega-categories ul{
list-style:none;
}

.mega-categories li{

padding:12px;
cursor:pointer;
font-weight:600;
border-bottom:1px solid #eee;

}

.mega-categories li:hover,
.mega-categories li.active{

color:#0aa39a;

}

/* PRODUCTOS */

.mega-products{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:25px;

}

.product-group{
display:none;
}

.product-group.active{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:25px;
}

/* TARJETAS */

.mega-card{

text-decoration:none;

border-radius:6px;

overflow:hidden;

transition:.3s;

background:white;

}

.mega-card img{

width:100%;
height:140px;
object-fit:cover;

}

.mega-card h4{

padding:10px;

font-size:14px;

color:#123488;

}

.mega-card:hover{

transform:translateY(-6px);

box-shadow:0 10px 20px rgba(0,0,0,.15);

}

.menu a{

position:relative;

padding-bottom:5px;

}

.menu a::after{

content:"";

position:absolute;

left:0;
bottom:0;

width:0;
height:2px;

background:#1aa3a3;

transition:.3s;

}

.menu a:hover::after{

width:100%;

}
/* =========================
SUBCATS EN LISTA VERTICAL
========================= */

.subcats{

margin-top:6px;

display:flex;
flex-direction:column;

gap:4px;

align-items:center;

}

.subcats span{

font-size:12px;

color:#777;

cursor:pointer;

border-bottom:1px solid transparent;

transition:.25s;

}

.subcats span:hover{

color:#1bb35e;
border-bottom:1px solid #1bb35e;

}
/* =========================
SUBMENU SERVICIOS
========================= */

/* =========================
SUBMENU SERVICIOS
========================= */

#cssmenu li.has-sub > ul{

position:absolute;
top:100%;
left:0;

background:#f3f4f6;

min-width:220px;

display:none;

flex-direction:column;

box-shadow:0 10px 25px rgba(0,0,0,.15);

padding:10px 0;

z-index:9999;

}

#cssmenu li.has-sub:hover > ul{
display:block;
}

.has-mega:hover .mega-menu{
opacity:1;
visibility:visible;
}

#cssmenu li.has-sub ul li{

width:100%;

}

#cssmenu li.has-sub ul a{

padding:10px 20px;

display:block;

color:#555;

font:15px "Exo 2", sans-serif;

}
/* =========================
SUBMENU TERCER NIVEL (A LA DERECHA)
========================= */

#cssmenu li.has-sub ul li.has-sub{
position:relative;
}

#cssmenu li.has-sub ul li.has-sub > ul{

top:0;
left:100%;

}

#cssmenu li.has-sub ul li.has-sub:hover > ul{

display:block;

}
#cssmenu li.has-sub ul li.has-sub > a{
position:relative;
}

#cssmenu li.has-sub ul li.has-sub > a::after{
content:" ▸";
position:relative;
margin-left:6px;
float:none;
left:auto;
right:auto;
background:none !important;
border:none !important;
box-shadow:none !important;
}
#cssmenu li.has-sub ul li a:hover{

background:none;
border:none;

color:#2aa84a;

}

/*capacitacion*/
/* =========================
CURSOS SECTION
========================= */

.cursos-section{
  padding:60px 20px;
  background:#f5f7fa;
  font-family: "Exo 2", sans-serif;
}

.cursos-container{
  max-width:1200px;
  margin:auto;
  display:grid;
  gap:40px;
}

/* CARD TABLA */
.cursos-card{
  background:#fff;
  padding:30px;
  border-radius:12px;
  box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.section-titles{
  font-size:28px;
  font-weight:700;
  margin-bottom:20px;
  color:#123488;
  font-family: "Oswald", sans-serif;
}


/* TABLA */
.cursos-table{
  width:100%;
  border-collapse:collapse;
  margin-bottom:20px;
}

.cursos-table th{
  text-align:left;
  background:#123488;
  color:#fff;
  padding:12px;
  font-size:14px;
}

.cursos-table td{
  padding:12px;
  border-bottom:1px solid #eee;
}

.cursos-table tr:hover{
  background:#f0f4ff;
}

.cursos-table a{
  color:#444;
  font-weight:600;
  text-decoration:none;
}

.cursos-table a:hover{
  text-decoration:underline;
}

/* TEXTO */
.cursos-note{
  font-size:14px;
  color:#444;
  margin-bottom:10px;
}

.cursos-cert{
  font-size:13px;
  font-weight:600;
  color:#123488;
}

/* CONTENIDO */
.cursos-content{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:center;
}

/* IMAGEN */
.cursos-img img{
  width:100%;
  border-radius:12px;
  box-shadow:0 10px 25px rgba(0,0,0,.1);
}

/* INFO */
.cursos-info {
  color:#444;
}
.cursos-info h3{
  font-size:26px;
  color:#123488;
  margin-bottom:20px;
  font-family: "Oswald", sans-serif;
}

.cursos-info ul{
  padding-left:20px;
  margin-bottom:20px;
}

.cursos-info li{
  margin-bottom:10px;
  font-size:16px;
}
.cursos-info h2{
  margin-bottom:10px;
  font-family: "Oswald", sans-serif;
}

/* CONTACTO */
.info-contacto span{
  display:block;
  font-weight:600;
  margin-bottom:5px;
}

.info-contacto a{
  color:#0046ff;
  font-weight:600;
  text-decoration:none;
}
.blog {
  width: 50%;
  margin: 0 auto;
  display: block;
  margin-top: 20px;
}
.blog img{
    width: 100%;
}

/* =========================
HAMBURGUESA
========================= */

.menu-header{
display:none;
}

.menu-toggle{
display:none;
}



.producto-detalle{
  padding:60px 20px;
}

.producto-container{
  max-width:1200px;
  margin:auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
}


/* CAROUSEL */
.carousel{
  overflow: hidden;
  margin: 0 auto;
  width: 80%;
  position: relative; /* 👈 IMPORTANTE */
}
.track{
     position: relative; /* 👈 */
  left: 0;            /* 👈 asegura inicio correcto */
  display:flex;
  gap:20px;
  width:fit-content; /* 👈 CAMBIA ESTO */
  animation: carouselScroll 15s linear infinite;
}
@keyframes carouselScroll {
  0%{
    transform: translateX(0);
  }
  100%{
    transform: translateX(calc(-50% - 10px));
  }
}
.item{
  flex: 0 0 200px;
  display:block; /* 👈 clave para que <a> funcione bien */
  text-decoration:none;
  color:inherit;
  background:#fff;
  padding:15px;
  border-radius:10px;
  text-align:center;
  transition: transform .3s;
   cursor: pointer;
}

.item:hover{
  transform: scale(1.05);
}
.item img{
  width:100%;
  height:120px;        /* 👈 altura fija */
  object-fit:contain;  /* 👈 NO se deforma */
}
.table-wrap{
  background:#f5f5f5;
  padding:30px;
  border-radius:12px;
}

.table-wrap table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
  border-radius:10px;
  overflow:hidden;
}

.table-wrap th{
  background:#1f3c88;
  color:#fff;
  padding:15px;
  text-align:left;
}

.table-wrap td{
  padding:12px;
  border-bottom:1px solid #eee;
}

.table-wrap tr:hover{
  background:#f9f9f9;
}

.table-wrap .naranja{
  background:#e9f0ff;
  color:#1f3c88;
  font-weight:bold;
}
/* =========================
CONTENEDOR GENERAL
========================= */
.todo{
  display: grid;
  grid-template-columns: 480px 1fr;
  gap: 60px;
  align-items: flex-start;
}
.lista-content{
  grid-column: 1 / -1;
  width: 100%;
  margin-top: 20px;
}

.lista-content ul{
  width: 100%;
  padding-left: 25px;
}

.lista-content li{
  width: 100%;
  margin-bottom: 18px;
  line-height: 1.8;
}
.imagen{
  width: 100%;
}

/* imagen principal */
.show{
  width: 100%;
  border-radius: 18px;
  overflow: hidden;
  background: #f5f7fa;
  display: flex;
  justify-content: center;
  align-items: center;
}

#show-img{
  width: 100%;
  max-height: 420px;
  object-fit: contain;
  transition: .4s;
}

/* thumbnails */
.small-img{
  display: flex;
  align-items: center;
  margin-top: 15px;
  gap: 10px;
}

.small-container{
  overflow: hidden;
  flex: 1;
}

#small-img-roll{
  display: flex;
  gap: 12px;
}

.show-small-img{
  width: 75px;
  height: 75px;
  object-fit: contain;
  border-radius: 12px;
  background: #fff;
  padding: 5px;
  border: 2px solid transparent;
  cursor: pointer;
  transition: .3s;
}

.show-small-img:hover{
  border-color: #00a0a0;
  transform: scale(1.05);
}
.show-small-img.active{
  border-color: #123488;
  transform: scale(1.05);
}
/* flechas */

.resena h5{
  font-size: 24px;
  margin-bottom: 10px;
  color: #0b3c5d;
}

.resena p{
  color: #555;
  line-height: 1.6;
}

/*tabs*/
/* =========================
TABS PRODUCTO
========================= */
.tabs-producto{
  width:100%;
  max-width:100%;
  display:block;
  font-family: "Exo 2", sans-serif;
}



/* menú */
.tabs-menu{
display:flex;
border-bottom:2px solid #eee;
gap:20px;
flex-wrap:wrap;
  font-weight: 600;
  font-family: "Exo 2", sans-serif!important;
}

.tab-btn{
background:none;
border:none;
padding:15px 20px;
font-size:16px;
cursor:pointer;
position:relative;
color:#666;
transition:0.3s;
font-weight: 600;
  font-family: "Exo 2", sans-serif!important;
}

/* hover */
.tab-btn:hover{
color:#000;
}

/* activo */
.tab-btn.active{
color:#ff6600;
}

/* línea animada */
.tab-btn::after{
content:"";
position:absolute;
left:0;
bottom:-2px;
width:0;
height:2px;
background:#ff6600;
transition:0.3s;
}

.tab-btn.active::after{
width:100%;
}

/* contenido */
.tabs-content{
padding:25px 0;
}

/* oculto */
.tab-content{
display:block !important;
opacity:1 !important;
transform:none !important;
margin-bottom:40px;
  font-family: "Exo 2", sans-serif;
}

.tab-flex{
  display:flex;
  gap:40px;
  align-items:center;
}

/* TEXTO */
.tab-text{
  flex:1;
}

/* IMAGEN */
.tab-img{
  flex:1;
  display:flex;
  justify-content:center;
}

.tab-img img{
  width:70%;
  border-radius:12px;
}

.tab-text ul{
  padding-left:20px; /* sangría */
  font-size: 16px;
}
.tabs-img{
  width: 80%;
}
.tabs-img img{
    width: 100%;
    position: relative;
}
.tab-text li{
  margin-bottom:8px;
  color:#444;
  font-family:"Exo 2", sans-serif;
  font-weight: 400!important;
}

/* bullet naranja */
.tab-text li::marker{
  color:#ff6600;
  font-size:18px;
}
.tab-text ul ul{
  margin-top:5px;
  padding-left:20px; /* más sangría */
}
.tab-content:nth-of-type(even){
  padding:40px 20px;
}

.tab-content:nth-of-type(odd){
  background:#fff;
  padding:40px 20px;

  border-radius:20px;
}
.tab-flexa{
  display: flex;
  flex-direction: column; /* 🔥 clave */
  align-items: center; /* opcional */
}
.tab-texta{
  width: 100%;
  margin-bottom: 20px; /* espacio entre texto e imagen */
}

.tab-imga{
  width: 50%;
  display: flex;
  justify-content: center;
}

.tab-imga img{
  width: 70%;
  border-radius: 12px;
}


.icono-plus{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  width:30px;
  height:30px;

  margin-right:10px;

  background:#00a0a0;
  color:#fff;

  border-radius:50%;
  font-size:18px;
  font-weight:bold;
}
.lista-content ul{
  padding-left:40px; /* sangría */
  font-size: 16px;
}

.lista-content li{
  margin-bottom:8px;
  color:#444;
  font-family:"Exo 2", sans-serif;
  font-weight: 400!important;
}

/* bullet naranja */
.lista-content li::marker{
  color:#ff6600;
  font-size:18px;
}
.lista-content ul ul{
  margin-top:5px;
  padding-left:20px; /* más sangría */
}
/* video responsive */
.video-container{
position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  display: block;
  margin: 0 auto;
  vertical-align: middle;
}


.video-container iframe{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
}
#btnTop{
  position:fixed;
  bottom:30vh;
  right:20px;

  width:48px;
  height:48px;

  border:none;
  border-radius:50%;

  background:#123488;
  color:#fff;
  font-size:22px;

  display:flex;
  align-items:center;
  justify-content:center;

  cursor:pointer;

  box-shadow:0 4px 10px rgba(0,0,0,0.25);

  z-index:999999; /* clave en tu layout */

  opacity:0;
  visibility:hidden;
  transform:translateY(20px);
  transition:all .3s ease;
}

/* visible */
#btnTop.show{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}


}
/* =========================
TABLA MODERNA
========================= */
.tabla{
    width: 80%;
    display: block;
    font: 18px "Exo 2", sans-serif;
}
.tabla table{
  width:100%;
  border-collapse:collapse;
  margin-top:20px;
  border-radius:10px;
  overflow:hidden;
  background-color: #ffffff;
}

.tabla th{
  background:#123488;
  color:#fff;
  padding:12px;
}

.tabla td{
  padding:10px;
  border-bottom:1px solid #eee;
  font-size:14px;
  text-align: center;
  vertical-align: middle;
}

.tabla tr:hover{
  background:#f9f9f9;
}
.tabla td,
.tabla th {
  border-right: 1px solid #e5e5e5;
}

.tabla tr {
  border-bottom: 1px solid #e5e5e5;
}
.tabla th[colspan] {
  text-align: center;
  width: 100%;
}
.naranja {
  background: #f0f6ff !important;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.5px;
}
.zoom-panel{
    position:absolute;
    top:0;
    left:100%;
    width:350px;
    height:350px;
    overflow:hidden;
    display:none;
    border:1px solid #ddd;
    background:#fff;
    z-index:10;
}

.zoom-panel img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.zoom-hover {
  position: relative;
  overflow: hidden;
  cursor: zoom-in;
}

.zoom-hover img {
  width: 100%;
  display: block;
}
/* =========================
RESPONSIVE ≤1024px
========================= */
.seccion{
  display:none;
}

.seccion{
  background:#f5f5f5;
  padding:10px 20px;
  border-bottom:1px solid #ddd;
}

.ubicacion{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  font-size:14px;
  margin:0;
  padding:0;
}

.ubicacion li{
  color:#666;
}

.ubicacion li a{
  text-decoration:none;
  color:#333;
  font-weight:500;
}

.ubicacion li::after{
  content: ">";
  margin:0 6px;
  color:#ffbf00;;
}

.ubicacion li:last-child::after{
  content:"";
}

.ubicacion li:last-child a{
  color:#000;
  font-weight:600;
}
/* =========================
COOKIES
========================= */

.cookie-banner{
position:fixed;
bottom:0;
left:0;
width:100%;
background:#123488;
color:#fff;
padding:20px;
z-index:99999;

display:flex;
justify-content:center;
align-items:center;

transform:translateY(100%);
transition:.4s ease;
}

/* visible */
.cookie-banner.showe{
transform:translateY(0);
}

.cookie-content{
max-width:1200px;
width:100%;
display:flex;
justify-content:space-between;
align-items:center;
gap:20px;
flex-wrap:wrap;
}

.cookie-content p{
font:16px "Exo 2", sans-serif;
margin:0;
}

.cookie-content a{
color:#ffbf00;
text-decoration:underline;
}

/* botones */

.cookie-buttons{
display:flex;
gap:10px;
}

.btn-cookie{
padding:10px 18px;
border:none;
cursor:pointer;
border-radius:6px;
font-weight:600;
font-family:"Exo 2", sans-serif;
transition:.3s;
}

/* aceptar */
.btn-cookie.accept{
background:#ffbf00;
color:#384c5a;
}

.btn-cookie.accept:hover{
background:#eca900;
}

/* rechazar */
.btn-cookie.reject{
background:transparent;
border:1px solid #fff;
color:#fff;
}

.btn-cookie.reject:hover{
background:#fff;
color:#123488;
}

/* responsive */
@media(max-width:600px){

.cookie-content{
flex-direction:column;
text-align:center;
}

}
.about-modern{
width:90%;
max-width:1400px;
margin:80px auto;
display:flex;
flex-direction:column;
gap:80px;
font-family:"Exo 2", sans-serif;
}

.about-title{
text-align:center;
max-width:900px;
margin:auto;
}

.about-title span{
display:inline-block;
font-size:14px;
letter-spacing:3px;
color:#79b928;
font-weight:700;
margin-bottom:15px;
}

.about-title h1{
font-size:45px;
margin-bottom:20px;
font-weight:800;
line-height:1.1;
}

.about-title p{
font-size:20px;
line-height:1.7;
color:#555;
}

.about-row{
display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:center;
}

.about-row.reverse .about-image{
order:2;
}

.about-row.reverse .about-content{
order:1;
}

.about-image{
overflow:hidden;
border-radius:28px;
position:relative;
box-shadow:0 20px 60px rgba(0,0,0,0.15);
}

.about-image img{
width:100%;
display:block;
transition:1s;
}

.about-image:hover img{
transform:scale(1.08);
}

.about-content{
padding:20px;
}

.about-content h2{
font-size:32px;
margin-bottom:20px;
line-height:1.2;
font-weight:800;
}

.line-accent{
width:90px;
height:5px;
background:#79b928;
border-radius:50px;
margin-bottom:30px;
}

.about-content p{
font-size:18px;
line-height:1.9;
color:#555;
margin-bottom:20px;
}

.about-content b{
color:#111;
}

@media(max-width:1100px){

.about-row{
grid-template-columns:1fr;
gap:30px;
}

.about-row.reverse .about-image,
.about-row.reverse .about-content{
order:unset;
}

.about-title h1{
font-size:42px;
}

.about-content h2{
font-size:34px;
}

}

@media(max-width:768px){

.about-modern{
width:92%;
gap:50px;
margin:50px auto;
}

.about-title h1{
font-size:34px;
}

.about-title p{
font-size:17px;
}

.about-content{
padding:0;
}

.about-content h2{
font-size:28px;
}

.about-content p{
font-size:16px;
line-height:1.8;
}

.about-image{
border-radius:20px;
}

}



/* =========================
   CUERPO POLÍTICA COOKIES
========================= */

.cuerpo{
    width: 90%;
    max-width: 1250px;
    margin: 60px auto;
    padding: 50px;
    background: #ffffff;
    border-radius: 28px;
    box-shadow: 0 15px 45px rgba(0,0,0,0.08);
    position: relative;
    overflow: hidden;
    font-family:"Exo 2", sans-serif;
}

.cuerpo::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 6px;
    background: linear-gradient(90deg,#f57c00,#ff9800,#ffb74d);
}

/* TITULOS */

.cuerpo span{
    display: inline-block;
    font-size: 32px;
    font-weight: 700;
    color: #1f2937;
    margin-bottom: 10px;
    line-height: 1.3;
    font-family: 'Exo 2', sans-serif;
}

/* PARRAFOS */

.cuerpo p{
    font-size: 17px;
    line-height: 1.9;
    color: #4b5563;
    margin-bottom: 18px;
    font-family: 'Source Sans Pro', sans-serif;
}

/* LISTAS */

.cuerpo ul{
    margin: 20px 0 30px 20px;
    padding: 0;
}

.cuerpo ul li{
    margin-bottom: 14px;
    color: #374151;
}

.cuerpo .sub{
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
}

/* LINKS */

.cuerpo a{
    color: #f57c00;
    text-decoration: none;
    font-weight: 600;
    transition: 0.3s;
}

.cuerpo a:hover{
    color: #c95f00;
    text-decoration: underline;
}


/* RESPONSIVO */

@media(max-width:900px){

.cuerpo{
    width: 94%;
    padding: 30px 22px;
    border-radius: 22px;
}

.cuerpo span{
    font-size: 25px;
}

.cuerpo p{
    font-size: 15px;
    line-height: 1.8;
}


}

@media(max-width:600px){

.cuerpo{
    margin: 35px auto;
    padding: 25px 18px;
}

.cuerpo span{
    font-size: 22px;
}

.cuerpo p{
    font-size: 14px;
}

.cuerpo ul{
    margin-left: 15px;
}


}
