/*Estilos generales*/
@font-face{
    font-family: "Racing_Hard";
    src: 
    url("../fonts/RACINGHARD.ttf") format("truetype");
    font-display: swap;
}
@font-face{
    font-family: "Revamped";
    src: 
    url("../fonts/Revamped.otf") format("truetype");
    font-display: swap;
}
a{
    color: #C49C3C;
    text-decoration: none;
}
body{
    background-color: #D9D9D9;
}
.carousel{
    padding-top: 6vh;
}
/*Estilos barra de navegacion*/
.gisea-logo{
    width: 21vh;
    height: auto;
    padding-left: 15px;
    padding-top:0;
}

.estilos-navbar{
    background-color: #EFEFEF;
    height: 100%;
    font-size: 30px;
    font-family: "Racing_Hard";
    --bs-navbar-color:#C49C3C;
    --bs-navbar-hover-color: #1C1F3D;
    padding-left:5px;
    text-align: center;

}
.navbar-nav {
    display: flex;
    align-items: center; /* Alinea los elementos verticalmente al centro */
    justify-content: center; /* Centra los elementos horizontalmente */
    width: 100%;
}
.nav-item {
    margin-right: 20px;
    padding-top: 4vh;
}
.nav-link {
    padding: 10px 15px; /* Ajusta el padding de los enlaces */
}
.dropdown-item{
    text-align: center;
}

       
/*Estilos para menu de Hamburgesa */
.navbar-toggler{
box-shadow: none;
border: none;
background: none; /* Elimina el fondo predeterminado */
padding: 0; /* Elimina el padding predeterminado */
display: flex;
align-items: center;
justify-content: center;
font-size: 35px;
padding-top: 2vh;
}

.icon-hamburger, .icon-close {
    transition: opacity 0.3s ease;
}

.icon-hamburger.hidden, .icon-close.hidden {
    opacity: 0;
    pointer-events: none;
}

.navbar-toggler:focus{
    box-shadow: none;
}
.navbar-toggler svg {
    width: 45px; 
    height: 45px; 
    fill: #C49C3C; 
}

.nav-item{
    padding-top: 1.5vh;
    padding-bottom: 1.5vh;
    margin-right:20px;
}
.navbar-collapse.estilos-navbar.collapse.show {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    overflow-y: auto; /* Permite el desplazamiento vertical */
    max-height: 80vh; /* Ajusta la altura máxima del contenido */
    width: 100%;
}

/* Contenedor para las redes sociales y el botón de cambio de idioma */
.header-container {
    display: flex;
    align-items: center; /* Alinea los elementos verticalmente al centro */
    justify-content: space-between; /* Distribuye el espacio entre los elementos */
    padding: 20px 0; /* Añade padding superior e inferior */
}

.header-social-links{
    display: flex;
    align-items: center; /* Alinea los iconos verticalmente al centro */
    margin: 0; /* Elimina el margen superior */
}

a.red-social{
    color: #C49C3C;
    margin-right: 10px;
    text-decoration: none;
    transition: color 0.3s ease, transform 0.3s ease;
}
a.facebook:hover{
    color: #1C1F3D;
}
a.instagram:hover {
    color: #E1306C; /* Color personalizado para Instagram */
}
a.linkedin:hover {
    color: #0077B5; /* Color personalizado para LinkedIn */
}
 
/*ESTILOS BOTON CAMBIO DE IDIOMA*/
.dropdown{
    position: relative;
    display: inline-block;
}

.btn-cambio-idioma{
    border: 2px solid #C49C3C;
    border-radius: 10px;
    color: #1C1F3D;
    background-color: transparent;
    display: flex;
    align-items: center;
    cursor: pointer;
    padding: 9px 12px; /* Añade padding */
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    min-width: 100%;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1060;
}
.dropdown-content a {
    color: #1C1F3D;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}
.dropdown-menu{
    font-size: 30px;
    --bs-dropdown-link-active-bg:#C49C3C !important;
    /* Color de fondo por defecto para modo normal (blanco/claro) */
    --bs-dropdown-bg: #ffffff !important;
    background-color: #ffffff !important;
}
.dropdown-content a:hover {
    background-color: #f1f1f1;
}
.show {
    display: block;
}

/*Rotacion de flecha en el dropdown de idioma*/
@keyframes rotateIn {
    0% {
        transform: rotate(0deg);
    }
    50% {
        transform: rotate(180deg);
    }
    100% {
        transform: rotate(180deg);
    }
}

@keyframes rotateOut {
    0% {
        transform: rotate(180deg);
    }
    50% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(0deg);
    }
}

.rotate-180 {
    animation: rotateIn 0.5s ease-in-out forwards !important;
}
.rotate-0 {
    animation: rotateOut 0.5s ease-in-out forwards !important;
}

/*Estilos Carousel Inicio*/
.carousel-control-prev-icon,
.carousel-control-next-icon {
    background-image: none; 
}

.carousel-control-prev-icon svg,
.carousel-control-next-icon svg {
    width: 5rem; 
    height: 5rem; 
    fill: #C49C3C;
}
.carousel-indicators [data-bs-target]{
    width: 90px;
    background-color: #C49C3C;
}
/* Contenedor de redes sociales + botón modo oscuro */
.header-social-wrapper {
  display: flex;
  align-items: center;
  justify-content:space-around; /* alineado a la derecha */
  gap: 16px;
  flex-wrap: wrap;
}

/* Botón modo oscuro */
#toggle-dark-mode {
  border: 2px solid #C49C3C;
  border-radius: 10px;
  padding: 6px 12px;
  background-color: transparent;
  color: #1C1F3D;
  transition: background-color 0.3s ease, color 0.3s ease;
  margin-right: 20px;
}

#toggle-dark-mode:hover {
  background-color: #C49C3C;
  color: white;
}

body.dark-mode #toggle-dark-mode {
  color: #EFEFEF;
  border-color: #EFEFEF;
}
/* Estilos para los iconos SVG */
#icon-theme svg {
    fill: currentColor;
    transition: fill 0.3s ease;
    vertical-align: middle;
}

#moon-icon, #sun-icon {
    width: 27px;
    height: 25px;
}
/*--FIN BOTON CAMBIO DE IDIOMA---*/
/*-----CAROUSEL INICIO ------*/
.carousel {
    height: 100vh; 
    min-height: 400px;
    overflow: hidden; 
}

.carousel-inner {
    height: 100%; 
}

.carousel-item {
    position: relative;
    height: 100%; 
    background-size: cover;
    background-position: center;
}

.carousel-image {
    object-fit: cover;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
}

.carousel-caption {
    position: absolute;
    margin-top: 8vh;
    top: 44%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    z-index: 10;
}

.logo-shadow {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); 
}

h2 {
    margin-top: 10px; 
    font-size: 5rem; 
}

/* Estilos para el overlay de texto del slider de desarrollo web */
.carousel-text-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: white;
    z-index: 10;
    width: 90%;
    max-width: 800px;
    padding: 0 20px;
}

.web-dev-title {
    font-family: "Revamped";
    font-size: 4rem;
    font-weight: bold;
    margin: 0;
    margin-bottom: 20px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
    letter-spacing: 2px;
}

.golden-line {
    width: 40vh;
    height: 6px;
    background: #C49C3C;
    margin: 0 auto 30px auto;
    border-radius: 3px;
}

.web-dev-subtitle {
    font-family: "Racing_Hard", sans-serif;
    font-size: 2.2rem;
    font-style: italic;
    margin: 0;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
    font-weight: 300;
}

/* Estilos para el overlay de texto del slider de GISEA */
.gisea-logo-container {
    margin-bottom: 30px;
}

.gisea-logo-slide {
    width: 150px !important;
    height: auto !important;
    filter: drop-shadow(2px 4px 6px rgba(0, 0, 0, 0.7));
}

.gisea-title {
    font-family:"Revamped";
    font-size: 4rem;
    font-weight: bold;
    margin: 9px 0;
    color: white;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
    letter-spacing: 3px;
}

.gisea-subtitle {
    font-family: "Racing_Hard", sans-serif;
    font-size: 2.5rem;
    font-style: italic;
    margin: 0;
    color: white;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
    font-weight: 300;
}

/* Estilos para el overlay de texto del slider de Developer Training */
.developer-training-title {
    font-family: "Revamped";
    font-size: 4rem;
    font-weight: bold;
    margin: 0;
    margin-bottom: 20px;
    color: white;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
    letter-spacing: 2px;
}

.developer-training-subtitle {
    font-family: "Racing_Hard", sans-serif;
    font-size: 2.2rem;
    font-style: italic;
    margin: 0;
    color: white;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
    font-weight: 300;
}

/* Estilos para el overlay de texto del slider de Human Resources */
.human-resources-title {
    font-family: "Revamped";
    font-size: 4rem;
    font-weight: bold;
    margin: 0;
    margin-bottom: 20px;
    color: white;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
    letter-spacing: 2px;
}

.human-resources-subtitle {
    font-family: "Racing_Hard", sans-serif;
    font-size: 2.2rem;
    font-style: italic;
    margin: 0;
    color: white;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
    font-weight: 300;
}

/* Estilos responsivos */
@media (max-width: 768px) {
    .carousel {
        height: 60vh; 
    }

    h2 {
        font-size: 1.5rem; 
    }

    .logo-shadow {
        max-width: 120px; 
    }
    
    /* Responsive para GISEA slider - tablet */
    .gisea-logo-container {
        margin-bottom: 20px;
    }
    
    .gisea-logo-slide {
        width: 80px;
    }
    
    .gisea-title {
        font-size: 3rem;
        margin: 15px 0;
        letter-spacing: 2px;
    }
    
    .gisea-subtitle {
        font-size: 1.8rem;
    }
    
    .web-dev-title {
        font-size: 2.5rem;
        margin-bottom: 15px;
    }
    
    .golden-line {
        width: 150px;
        height: 4px;
        margin-bottom: 20px;
    }
    
    .web-dev-subtitle {
        font-size: 1.4rem;
    }
    
    /* Responsive para Developer Training slider */
    .developer-training-title {
        font-size: 2.5rem;
        margin-bottom: 15px;
        letter-spacing: 1px;
    }
    
    .developer-training-subtitle {
        font-size: 1.4rem;
    }
    
    /* Responsive para Human Resources slider */
    .human-resources-title {
        font-size: 2.5rem;
        margin-bottom: 15px;
        letter-spacing: 1px;
    }
    
    .human-resources-subtitle {
        font-size: 1.4rem;
    }
}

@media (max-width: 480px) {
    .carousel {
        height: 60vh; 
    }
    
    /* Responsive para GISEA slider - móvil */
    .gisea-logo-container {
        margin-bottom: 10px;
    }
    
    .gisea-logo-slide {
        width: 80px !important;
        height: auto !important;
    }
    
    .gisea-title {
        font-size: 2rem;
        letter-spacing: 1px;
        margin: 10px 0;
    }
    
    .gisea-subtitle {
        font-size: 1.2rem;
    }
    
    .web-dev-title {
        font-size: 2rem;
        letter-spacing: 1px;
    }
    
    .golden-line {
        width: 120px;
        height: 3px;
    }
    
    .web-dev-subtitle {
        font-size: 1.2rem;
    }
    
    /* Responsive para Developer Training slider - móvil */
    .developer-training-title {
        font-size: 2rem;
        letter-spacing: 1px;
    }
    
    .developer-training-subtitle {
        font-size: 1.2rem;
    }
    
    /* Responsive para Human Resources slider - móvil */
    .human-resources-title {
        font-size: 2rem;
        letter-spacing: 1px;
    }
    
    .human-resources-subtitle {
        font-size: 1.2rem;
    }
}

/* Media query para dispositivos muy pequeños */
@media (max-width: 360px) {
    .carousel {
        height: 50vh;
    }
    
    .carousel-text-overlay {
        width: 95%;
        padding: 0 10px;
    }
    
    /* GISEA slider - dispositivos muy pequeños */
    .gisea-logo-slide {
        width: 80px !important;
        height: auto !important;
    }
    
    .gisea-title {
        font-size: 1.5rem;
        margin: 5px 0;
    }
    
    .gisea-subtitle {
        font-size: 1rem;
    }
    
    /* Otros sliders - dispositivos muy pequeños */
    .web-dev-title,
    .developer-training-title,
    .human-resources-title {
        font-size: 1.5rem;
    }
    
    .web-dev-subtitle,
    .developer-training-subtitle,
    .human-resources-subtitle {
        font-size: 1rem;
    }
    
    .golden-line {
        width: 100px;
        height: 2px;
    }
}

/*----ESTILOS ABOUT US INDEX------*/
div.container-lg{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: 2rem;
    margin-bottom: 3rem;
}
div.section-title{
    position: relative;
    display: inline-block;
    text-align: center;
}
.section-title h1{
    font-family:Racing_Hard ;
    font-size: 3rem;
    text-align: center;
    text-transform: uppercase;
    margin-bottom: 1.5rem;

}
.section-title::after{
    content: "";
    position:absolute;
    left: 50%;
    bottom: -10px;
    width: 50%;
    height: 5px;
    background-color: #C49C3C;
    transform: translate(-50%);
}
.about-alineacion {
    margin-top: 2rem; /* Añadir margen superior para separarlo del <h1> */
    font-size: 2rem; /* Ajusta según sea necesario */
    font-family: "Racing_Hard";
    color: #333;
    text-align: center; /* Centra el texto del <h3> */
}

/*----FIN ABOUT US INDEX------*/

/*---ESTILOS CARDS SERVICES---*/
.service-card {
    border-radius: 30px;
    overflow: hidden;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* Transición suave para el efecto */
    cursor: pointer;
}
.service-card:hover {
    transform: translateY(-10px); /* Mueve la tarjeta hacia arriba */
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); /* Aplica una sombra */
}
.service-card img {
    width: auto;
    height: 350px;
    object-fit: cover;
}
.service-card .card-body {
    background-color: #1C1F3D;
    color: #fff;
    text-align: center;
    padding: 1rem;
}
.service-card .card-title {
    font-family: Racing_Hard;
    font-size: 2rem;
    margin-bottom: 0;
    margin-left: 3rem;
    transition: opacity 0.3s ease, transform 0.3s ease; /* Añade la transición */
}
.title-icon-container {
    display: flex;
    align-items: center; /* Alinea verticalmente los elementos al centro */
}
.title-icon-container .card-title {
    margin-right: 14px; /* Añade un margen derecho para separar el texto del icono */
    transition: opacity 0.3s ease, transform 0.3s ease; /* Transición suave para el texto */
}

.icon-background {
    background-color: #fff; /* Fondo blanco */
    border-radius: 50%; /* Bordes redondeados para hacer el fondo circular */
    padding: 10px; /* Padding para crear espacio alrededor del icono */
    display: inline-flex; /* Asegura que el contenido se centre correctamente */
    align-items: center; /* Centra verticalmente el contenido */
    justify-content: center; /* Centra horizontalmente el contenido */
    transition: all 0.5s ease;
    transform-origin: center;
}


/* Clases para la animación */
.service-card:hover .card-title,
.service-card:hover .icon-background i {
    opacity: 1;
    transform: translateY(-6px);
}

.service-card .card-title,
.service-card .icon-background i {
    opacity: 1;
    transform: translateY(0);
}

/* Aseguramos que el nuevo contenido aparezca suavemente */
.service-card:hover .card-title.changed,
.service-card:hover .icon-background i.changed {
    opacity: 1;
    transform: translateY(0);
}

/*---FIN ESTILOS CARDS SERVICES---*/

/*---ESTILOS CLIENTES--*/
.clients-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 60px; /* Espacio entre los logos */
    padding-right: 21px;
}
.client-logo {
    flex: 1 1 200px; /* Ajusta el tamaño mínimo de los logos */
    max-width: 200px; /* Ajusta el tamaño máximo de los logos */
    text-align: center;
}
.client-logo img {
    width: 130%;
    height: auto;
    object-fit: contain;
    transition: transform 0.3s ease, filter 0.3s ease; /* Transición suave para el zoom y la sombra */
}
.client-logo img:hover {
    transform: scale(1.1); /* Aplica un zoom del 10% cuando se pasa el cursor */
    filter: drop-shadow(0 4px 8px rgba(196, 156, 60, 0.5)); /* Aplica una sombra cuando se pasa el cursor */
}
/*---FIN ESTILOS CLIENTES--*/

/*-- ESTILOS FOOTER--*/
.footer {
    color: #fff;
    width: 100%;
    font-family:"Racing_Hard";
    font-size: 20px;
}

.footer-top {
    background-color: #D9D9D9;
    padding:20px 0;
    text-align: center;
}

.footer-logo {
    max-width: 25vh;
    height: auto;
}

.footer-bottom {
    background-color: #1C1F3D;
    padding: 20px 0;
    margin-top: 20px;
    width: 100%;
    text-align: center;
    display: flex;
    justify-content: column;
    align-items: center;
    gap: 20px;
}

.footer-contact{
    margin-bottom: 10px;
}

/* Estilos para el botón de WhatsApp en el footer */
.whatsapp-contact {
    display: flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    color: #25D366 !important;
    transition: all 0.3s ease;
    padding: 8px 15px;
    border-radius: 25px;
    background: rgba(37, 211, 102, 0.1);
    border: 1px solid rgba(37, 211, 102, 0.3);
}

.whatsapp-contact:hover {
    background: rgba(37, 211, 102, 0.2);
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(37, 211, 102, 0.3);
    color: #128C7E !important;
}

.whatsapp-contact i {
    font-size: 1.2rem;
}

.whatsapp-text {
    font-size: 0.9rem;
    font-weight: 500;
    color: inherit;
}

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

.footer-links li {
    display: inline;
}

.footer-contact {
    padding-top: inherit;
    padding-left: 40px;
    color: #C49C3C;
}


.footer-links a {
    color: #fff;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-links a:hover {
    color: #C49C3C;
}

.footer-social {
    padding-right: 50px;
    display: flex;
    gap: 10px;
} 

a.red-social-footer{
    color: #C49C3C;
    text-decoration: none;
    transition: color 0.3s ease, transform 0.3s ease;
}
a.red-social-footer:hover {
    color: #fff;
}   
/*-- FIN ESTILOS FOOTER--*/

/*-- ESTILOS PARA ADAPTACIÓN DE IDIOMAS --*/
/* Clases para ajustar el tamaño de texto según el idioma */
.lang-jpn {
    font-size: 0.8em !important;
    line-height: 1.2 !important;
}

/* Excluir footer-logo de la reducción de tamaño */
.lang-jpn .footer-logo {
    font-size: 1em !important;
}

.lang-jpn .section-title h1 {
    font-size: 2.5rem !important;
}

.lang-jpn .about-alineacion {
    font-size: 1.6rem !important;
    line-height: 1.4 !important;
}

.lang-jpn .service-card .card-title {
    font-size: 1.6rem !important;
    line-height: 1.3 !important;
}

.lang-jpn .nav-link {
    font-size: 0.9em !important;
}

.lang-jpn .dropdown-item {
    font-size: 0.9em !important;
}

.lang-jpn .footer-links a {
    font-size: 0.9em !important;
}

/* Footer logo específico para japonés - mantener tamaño y AOS */
.lang-jpn .footer-logo {
    max-width: 25vh !important;
    height: auto !important;
    font-size: 1em !important; /* Reset font-size para el logo */
    transform: none !important; /* Reset cualquier transform que pueda interferir con AOS */
    transition: all 0.3s ease !important;
}

/* Ajustes específicos para navbar en japonés */
.lang-jpn .navbar-nav {
    font-size: 26px !important;
}

.lang-jpn .estilos-navbar {
    font-size: 18px !important;
}

/* Ajustes específicos para el dropdown de servicios en japonés */
.lang-jpn .dropdown-menu {
    font-size: 26px !important;
}

/* Ajustes para las cards cuando están en hover (Mas Información) */
.lang-jpn .service-card:hover .card-title {
    font-size: 1.4rem !important;
}

/* Ajustes específicos para la página About en japonés */
.lang-jpn .about-header-text h1 {
    font-size: 1.2rem !important;
    line-height: 2.2 !important;
}

.lang-jpn .tech-card .card-title {
    font-size: 1.5rem !important;
}

.lang-jpn .section-title-card-tech {
    font-size: 1rem !important;
}

.lang-jpn .valores-title h1 {
    font-size: 2.5rem !important;
}

.lang-jpn .valor-title h2 {
    font-size: 1.8rem !important;
    text-align: center;
}

.lang-jpn .mision-card h2, 
.lang-jpn .vision-card h2 {
    font-size: 2rem !important;
}

.lang-jpn .mision-card p, 
.lang-jpn .vision-card p {
    font-size: 1.4rem !important;
    line-height: 1.4 !important;
}

/* Clases para inglés - ajustes menores */
.lang-eng .service-card .card-title {
    font-size: 1.8rem !important;
}

.lang-eng .about-alineacion {
    font-size: 1.8rem !important;
}

/* Español mantiene los estilos originales por defecto */

/* Ajustes responsivos para idiomas */
@media (max-width: 768px) {
    .lang-jpn .section-title h1 {
        font-size: 2rem !important;
    }
    
    .lang-jpn .about-alineacion {
        font-size: 1.4rem !important;
    }
    
    .lang-jpn .navbar-nav {
        font-size: 22px !important;
    }
    .lang-spa .nav-link{
        font-size: 2rem;
    }
}

@media (max-width: 576px) {
    .lang-jpn .section-title h1 {
        font-size: 1.8rem !important;
    }
    
    .lang-jpn .about-alineacion {
        font-size: 1.2rem !important;
    }
    
    .lang-jpn .service-card .card-title {
        font-size: 1.4rem !important;
    }
    
    .lang-jpn .navbar-nav {
        font-size: 20px !important;
    }
}
/*-- FIN ESTILOS PARA ADAPTACIÓN DE IDIOMAS --*/

/*-----------------ESTILOS ABOUT US ---------------------*/

.about-header-container {
    position: relative;
    width: 100%;
    height: 92vh;
    overflow: hidden;
}

.about-header-image {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.about-header-image::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* Fondo semitransparente */
    z-index: 1;
}
.about-header-image img {
    width: 100%;
    height: 100%;
    object-fit:cover;
    position: relative;
    z-index: 0;
}
.about-header-text{
    font-family:"Racing_Hard";
    position:absolute;
    top: 69%;
    left: 27%;
    transform: translate(-50%, -50%);
    color: rgba(255, 255, 255, 0.9);
    text-align:center;
    z-index: 2;
}
/*--------ESTILOS CARD HTML--------*/
.card-container {
    padding-top: 100px;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    gap: 63px; /* Espacio entre las tarjetas */
}

.tech-card {
    background-color: #EFEFEF;
    border-radius: 15px;
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);
    padding: 20px;
    max-width: 342px;
    flex: 1 1 calc(50% - 20px);
    margin: 0 auto;
    position: relative;
    padding-top: 60px;
    min-height: 400px;
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* Transición suave para el efecto */
}

.tech-card:hover {
    transform: translateY(-10px); /* Mueve la tarjeta hacia arriba */
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); /* Aplica una sombra más intensa */
}

.logo-circle {
    background: white;
    width: 130px;
    height: 120px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 5px 2px rgba(0, 0, 0, 0.2);
    position: absolute;
    top: -65px;
    left: 20px;
    z-index: 1;
}

.logo-circle img {
    width: 60%;
    height: auto;
}

.card-title {
    margin-left: 29px;
    font-size: 28px;
}

.usage-section {
    position: absolute;
    top: 22px;
    right: 42px; /** en tablets tenemos que reducir la propiedad right a 12px*/
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 120px;
}

.usage-circle {
    width: 138px;
    height: 133px;
    border-radius: 50%;
    border: 12px solid #ff0000;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 15px 0;
    background-color: white;
}

.js-card .usage-circle{
    border-color: #F7DF1E; /* Cambia el color del borde a amarillo */
}
.js-card .card-title {
    margin-left: 2px; /* Cambia el margen izquierdo a 2px */
}
.bootstrap-card .card-title{
    margin-left: 10px;
}
.css3-card .card-title{
    margin-left: 0px;
    font-size: 24px;
}
.git-github-card .card-title{
    margin-left: 3px;
    font-size: 25px;
}

.usage-circle-css3{
    width: 138px;
    height: 133px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 15px 0;
    background-color: white;
    position: relative;
}

.usage-circle-css3::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 50%;
    background: conic-gradient(
        #E84B93 0deg 180deg,
        #0066FF 180deg 360deg
    );
}

.usage-circle-css3::after{
    content: '';
    position: absolute;
    top:14px;
    left:14px;
    right:14px;
    bottom:14px;
    background: white;
    border-radius: 50%;
}
   
.usage-text {
    font-size: 24px;
    font-weight: bold;
    position: relative;
    z-index: 2;
}

.usage-circle-bootstrap {
    width: 138px;
    height: 133px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 15px 0;
    background-color: white;
    position: relative;
}

.usage-circle-bootstrap::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 50%;
    background: conic-gradient(
        #1C1F3D 0deg 180deg,
        #9747FF 180deg 360deg
    );
}

.usage-circle-bootstrap::after {
    content: '';
    position: absolute;
    top: 14px;
    left: 14px;
    right: 14px;
    bottom: 14px;
    background: white;
    border-radius: 50%;
}
.usage-circle-git-github {
    width: 138px;
    height: 133px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 15px 0;
    background-color: white;
    position: relative;
}

.usage-circle-git-github::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 50%;
    background: conic-gradient(
        #C43C3C 0deg 240deg, /* Rojo abarca más de la mitad */
        #1C1F3D 240deg 360deg /* Negro abarca el resto */
    );
}

.usage-circle-git-github::after {
    content: '';
    position: absolute;
    top: 14px;
    left: 14px;
    right: 14px;
    bottom: 14px;
    background: white;
    border-radius: 50%;
}
.section-title-card-tech {
    font-size: 19px;
    margin-bottom: 8px;
    text-align: left;
    width: 100%;
    color: #000;
    font-weight: bold;
}

.brand-icons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin-top: 20px;
    padding-left: 2px;
}

.brand-icon {
    width: 60px;
    height: 60px;
    display: block;
    margin: 0 auto;
    flex: 1 1 20%;
}
.brand-icon:nth-child(5),
.brand-icon:nth-child(6) {
    flex: 1 1 40%; /* Los dos últimos iconos ocuparán el 50% del contenedor cada uno */
}
.bootstrap-card .brand-icons img:nth-child(5),
.bootstrap-card .brand-icons img:nth-child(6),
.bootstrap-card .brand-icons img:nth-child(7) {
    flex: 1 1 10%; /* Ajusta el tamaño de los logos */
}
.used-by-section {
    margin-top: 66px;
}

.used-by-section .section-title {
    text-align: left;
    font-size: 24px;
}

/*------LARAVEL CARD RECTANGULE-------*/
.logo-rectangle {
    background: white;
    width: 301px;
    height: 93px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    box-shadow: 0 5px 2px rgba(0, 0, 0, 0.2);
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    padding: 10px;
    gap: 15px;
}

.logo-rectangle img {
    height: 40px;
    width: auto;
    object-fit: contain;
}

.laravel-card .card-title {
    text-align: center;
    margin-left: 0;
    margin-top: 40px;
    font-size: 24px;
}

.usage-circle-laravel {
    width: 138px;
    height: 133px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 15px 0;
    background-color: white;
    position: relative;
}

.usage-circle-laravel::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 50%;
    background: conic-gradient(
        #587DBD 0deg 192deg,    /* Azul - 53.33% */
        #FF5F08 192deg 288deg,  /* Naranja - 26.67% */
        #E33629 288deg 360deg   /* Rojo - 20% */
    );
}

.usage-circle-laravel::after {
    content: '';
    position: absolute;
    top: 14px;
    left: 14px;
    right: 14px;
    bottom: 14px;
    background: white;
    border-radius: 50%;
}

/* Ajustes para la sección de uso en la card de Laravel */
.laravel-card .usage-section {
    position: relative;
    top: 0;
    right: 0 !important;
    width: 100%;
    margin-top: 20px;
    align-items: center;
}

.laravel-card .section-title-card-tech {
    text-align: center;
    font-size: 20px;
    margin-bottom: 15px;
}

/* Ajustes para la sección de marcas en la card de Laravel */
.laravel-card .brand-icons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    margin-top: 20px;
    padding-left: 2px;
}

.laravel-card .brand-icon {
    width: 60px;
    height: 60px;
    display: block;
    margin: 0 auto;
    flex: 1 1 20%;
}


.laravel-card .brand-icon:nth-child(5),
.laravel-card .brand-icon:nth-child(6) {
    flex: 1 1 40%; /* Los dos últimos iconos ocuparán el 50% del contenedor cada uno */
}

.laravel-card .used-by-section {
    margin-top: 20px;
}
/* Estilos específicos para tablets - Tech Cards */
@media (min-width: 768px) and (max-width: 1024px) {
    .col-md-5 {
        flex: 0 0 auto !important;
        width: 50% !important;
    }
    
    .tech-card {
        max-width: 450px !important;
        width: 100% !important;
    }
    
    .card-container {
        justify-content: center !important;
    }
}

/*------------Estilos para Tooltips---------*/
.tooltip-card {
    display: none; /* Oculta el tooltip por defecto */
    position: absolute;
    top: -73px;
    left: 156px;
    background: linear-gradient(135deg, rgba(232, 75, 147, 0.8) 0%, rgba(0, 102, 255, 0.8) 100%); /* Gradiente con los colores y más transparentes */
    color: white;
    padding: 10px;
    border-radius: 10px;
    z-index: 10;
    width: 200px;
}
.tooltip-card::after {
    content: "";
    position: absolute;
    bottom: -8px; 
    left: 5px; 
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid rgba(232, 75, 147, 0.8); /* Color del triángulo */
}

/* Tooltip para HTML card */
.html-card .tooltip-card {
    background: linear-gradient(135deg, rgba(196, 60, 60, 0.8) 0%, rgba(255, 0, 0, 0.8) 100%); /* Gradiente rojo */
}

.html-card .tooltip-card::after {
    border-top: 10px solid rgba(196, 60, 60, 0.8); /* Color del triángulo */
}

/* Tooltip para JS card */
.js-card .tooltip-card {
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.8) 100%); /* Gradiente negro */
}

.js-card .tooltip-card::after {
    border-top: 10px solid rgba(0, 0, 0, 0.8); /* Color del triángulo */
}

/* Tooltip para CSS3 y SASS card */
.css3-card .tooltip-card {
    background: linear-gradient(135deg, rgba(232, 75, 147, 0.8) 0%, rgba(0, 102, 255, 0.8) 100%); /* Gradiente rosa y azul */
}

.css3-card .tooltip-card::after {
    border-top: 10px solid rgba(232, 75, 147, 0.8); /* Color del triángulo */
}
.bootstrap-card .tooltip-card {
    background: #9747FF; /* Color sólido morado */
}

.bootstrap-card .tooltip-card::after {
    border-top: 10px solid #9747FF; /* Color del triángulo */
}

.git-github-card .tooltip-card {
    background: #C43C3C; /* Color sólido rojo */
}

.git-github-card .tooltip-card::after {
    border-top: 10px solid #C43C3C; /* Color del triángulo */
}

.tech-card {
    position: relative; /* Necesario para posicionar el tooltip */
}

.tech-card.selected .tooltip-card {
    display: block; /* Muestra el tooltip cuando la tarjeta está seleccionada */
}

/*--------Estilos para NUESTROS VALORES FUNDAMENTALES---------*/

.valores-title h1{
    font-size: 4rem;
}
.valores-container {
    display: flex;
    justify-content:space-around; /* Distribuye los elementos uniformemente */
    align-items: flex-start; /* Alinea los elementos verticalmente en el centro */
    margin-top: 35px; /* Añade un margen superior para separar del título */
    gap: 75px;
}

.valor-title h2{
    font-family:Racing_Hard ;
    font-size: 3rem;
    margin-bottom: 10px; /* Añade un margen inferior para separar del icono */
}

.valor-icon {
    margin-top: 30px; /* Añade un margen superior para separar del título */
    margin-right: 45px;
    width: 150px; /* Ajusta el tamaño del icono según sea necesario */
    height: auto; /* Mantiene la proporción del icono */
}
.responsabilidad-icon {
    position: relative; 
    right: -23px; 
}

/* Ajuste específico para inglés en responsabilidad-icon */
@media (min-width: 768px) and (max-width: 1024px) {
    .lang-eng .responsabilidad-icon {
        right: -47px !important;
    }
    .lang-eng .respeto-icon {
        right: 0px !important;
    }
    .lang-eng .honestidad-icon {
        left: 10px;
    }
    .lang-eng .calidad-icon {
        left: 4px;
    }
    .lang-jpn .about-header-text{
        left: 33%;
    }
}
.honestidad-icon{
    position: relative; 
    right: -30px; 
}
.respeto-icon{
    position: relative; 
    right: -30px; 
}
.calidad-icon{
    position: relative; 
    right: -30px; 
}
.mision-vision-container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 50px;
    gap: 50px;
}

.mision-card,
.vision-card {
    background-color: #1C1F3D; /* Fondo oscuro */
    color: white; /* Texto blanco */
    padding: 20px;
    border-radius: 10px;
    width: 45%; /* Ajusta el ancho de las tarjetas */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2); /* Sombra para resaltar las tarjetas */
    flex: 1;

}
.mision-card{
    height: 265px;
}

.mision-card h2,
.vision-card h2 {
    font-size: 2rem;
    margin-bottom: 15px;
    color: white; /* Color del título */
}

.mision-card p,
.vision-card p {
    font-size: 1.2rem;
    line-height: 1.6;
}

/*----------ESTILOS SERVICE DESAROLLO WEB ------------*/
.desarrollo-web-header {
    position: relative;
    background: url('../img/header_desarollo_web.jpg') no-repeat center center/cover;
    height: 95vh; 
    width: 100%;
    color: white; 
    display: flex;
    align-items: center;
    justify-content: flex-end; 
    padding: 20px; 
    padding-top: 113px;
}

.desarrollo-web-header::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 1;
}
.header-content {
    position: relative;
    z-index: 2; /* Asegura que el texto esté por encima de la capa oscura */
    display: flex;
    justify-content: space-between; 
    width: 100%; 
}

.text-left {
    max-width: 50%; /* Limita el ancho del texto a la izquierda */
    text-align: left; /* Alinea el texto a la izquierda */
    padding-left: 30px;
}

.text-right {
    max-width: 50%; 
    text-align: justify; 
    align-self: flex-end; 
    padding-right: 60px;
}

.text-left h1 {
    font-family: "Revamped";
    font-size: 5rem;
}

.text-left p {
    font-family: "Revamped";
    font-size: 2.3rem;
    margin: 5px 0;
}

.text-left h2 {
    font-family: "Racing_Hard";
    font-size: 4rem;
    margin-top: 0;
    margin-bottom: 20px;
    color: #C49C3C;
}

.text-right ul  {
    font-family:"Racing_Hard";
    list-style: none;
    padding: 0;
    margin: 0;
}


.text-right ul li  {
    font-size: 1.5rem;
    margin-bottom: 10px;
    line-height: 1.5;
    position: relative; /* Permite posicionar el ícono de manera relativa */
    padding-left: 25px; /* Añade espacio a la izquierda para el ícono */
}

.text-right ul li .svg-inline--fa.fa-check {
    padding-right: 10px; 
}

/*Cards - Nuestros Paquetes*/
.pricing-card {
    max-width: 100%;
    width: 460px;
    height: auto;
    background: #D9D9D9;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    text-align: center;
    padding: 7px;
    margin: 0 90px 20px 90px;
    margin-top: 50px;
}
.pricing-card img {
    width: 100%;
    height: auto;
}
.pricing-card h2 {
    font-family: "Racing_Hard";
    font-size: 3.5rem;
    color: #2c2c54;
    margin-top: 24px;
}

.pricing-card .price {
    font-family: "Racing_Hard";
    background: #1f2333;
    color: #fff;
    font-size: 3rem;
    padding: 34px;
    margin: 20px 0;
}
.pricing-card ul {
    list-style: none;
    padding: 0;
    text-align: left;
}
.pricing-card ul li {
    font-size: 1.5rem;
    padding: 8px 0;
    display: flex;
    font-weight: bold;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.pricing-card ul li .icon {
    font-size: 1.2rem;
}
.pricing-card .cta-button {
    display: block;
    font-family: "Racing_Hard";
    font-size: 4.5vh;
    width: 70%;
    background-color:#343a40 ;
    padding: 12px;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
    margin-top: 15px auto 0 auto;
    transition: all 0.3s ease;
}
.btn-centro {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 22px;
}
.pricing-card .cta-button:hover {
    background: #C49C3C;
    color: #343a40;
    transform: scale(1.05);
}
.separator-container{
    border-top: 6px solid #C49C3C;
    padding-top: 10px
}

/* SISTEMA ANTIGUO - Solo para elementos SIN d-flex (compatibilidad) */
li:not(.d-flex) .icon-check {
    width: 40px; 
    height: auto; 
    vertical-align: middle; 
    margin-left: 51px; 
}
li:not(.d-flex) .icon-check-hospedaje{
    width: 40px; 
    height: auto; 
    vertical-align: middle; 
    margin-left: 26px;
}
li:not(.d-flex) .icon-check-empgrandes-hospedaje{
    width: 40px; 
    height: auto; 
    vertical-align: middle; 
    margin-left: 2px;
}
li:not(.d-flex) .icon-check-mdnpequeña{
    width: 40px; 
    height: auto; 
    vertical-align: middle; 
    margin-left: 50px;
}
li:not(.d-flex) .icon-check-mdnfuncional{
    width: 40px; 
    height: auto; 
    vertical-align: middle; 
    margin-left: 50px;
}
li:not(.d-flex) .icon-check-multibilingue{
    width: 40px; 
    height: auto; 
    vertical-align: middle; 
    margin-left: 50px;
}
li:not(.d-flex) .icon-check-info{
    width: 40px; 
    height: auto; 
    vertical-align: middle; 
    margin-left: 20px;
}

/* CARD DE EMPRESAS MEDIANAS */
#empresas-medianas h2{
    font-size: 3rem;
}

/* CARD DE EMPRESAS GRANDES O CORPORATIVOS */
li:not(.d-flex) .icon-check-empgrandes{
    width: 40px; 
    height: auto; 
    vertical-align: middle; 
    margin-left: 66px;
}
li:not(.d-flex) .icon-check-empgrandes-bilingue{
    width: 40px; 
    height: auto; 
    vertical-align: middle; 
    margin-left: 140px;
}
li:not(.d-flex) .icon-check-empgrnd{
    width: 40px; 
    height: auto; 
    vertical-align: middle; 
    margin-left: 20px;
}
#empresas-grandes{
    width: 800px;
}
#empresas-grandes h2{
    font-size: 3rem;
}
#empresas-grandes .price{
    font-size: 3.5rem;
}
#empresas-grandes li{
    font-size: 2.0rem;
}
#empresas-grandes li:not(.d-flex) .icon-check-hospedaje{
    margin-left: 17px;
}
#empresas-grandes .cta-button{
 font-size: 3.2rem;
}

/* SISTEMA NUEVO - Flexbox para elementos con d-flex */
.pricing-card ul li.d-flex {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 50px;
    margin-bottom: 10px;
    padding: 8px 0;
    text-align: left !important;
}

.pricing-card ul li.d-flex:last-child {
    margin-bottom: 0;
}

/* Container de texto para elementos flexbox */
.pricing-card ul li.d-flex .feature-text-container {
    display: flex;
    align-items: center;
    flex: 1;
    text-align: left;
    min-height: 50px;
}

.pricing-card ul li.d-flex .feature-text-container span {
    line-height: 1.4;
    word-wrap: break-word;
    hyphens: auto;
}

/* Todos los íconos en elementos flexbox - Regla UNIFICADA (elimina redundancia) */
.pricing-card ul li.d-flex img[class*="icon-check"] {
    width: 40px;
    height: auto;
    padding-right: 15px;
    flex-shrink: 0;
    margin-left: 0 !important;
    vertical-align: middle;
}

/* Responsive adjustments solo para elementos flexbox */
@media (max-width: 768px) {
    .pricing-card ul li.d-flex .feature-text-container {
        min-height: 45px;
    }
    
    .pricing-card ul li.d-flex {
        min-height: 45px;
        padding: 6px 0;
    }
    
    .pricing-card ul li.d-flex img[class*="icon-check"] {
        padding-right: 12px;
    }
}

@media (max-width: 576px) {
    .pricing-card ul li.d-flex .feature-text-container {
        min-height: 40px;
    }
    
    .pricing-card ul li.d-flex .feature-text-container span {
        font-size: 0.9em;
        line-height: 1.3;
    }
    
    .pricing-card ul li.d-flex {
        min-height: 40px;
        padding: 5px 0;
    }
    
    .pricing-card ul li.d-flex img[class*="icon-check"] {
        padding-right: 10px;
    }
}
/*--------PORTAFOLIO WEB--------*/
.a-color{
    color: #000;
}
.portafolio-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    text-align: center;
    font-family: "Racing_Hard"; 
    gap: 90px;
}

.portafolio-title {
    position: relative;
    margin: 20px; 
    text-align: center;
}
/**ESTILOS DE PAISES PORTAFOLIO WEB */
.country-hover .number {
    font-size: 5rem;
    font-weight: bold;
    position: relative;
    z-index: 2;
    display: inline-block;
}
.flag {
    width: 40px;
    height: 40px;
    position: absolute;
    top: 50%;
    left: 50%;
    opacity: 0;
    transform: translate(-50%, -50%);
    transition: all 0.6s ease-in-out;
    pointer-events: none;
    z-index: 1;
}
/* Aparecen desde diferentes ángulos */
.country-hover.active .flag-usa {
    top: -12px;
    left: 63px;
    opacity: 1;
    animation: animate__slideInDown 0.6s ease-in-out;
  }
  
  .country-hover.active .flag-venezuela {
    top: 38px;
    left: 74px;
    opacity: 1;
    animation: animate__slideInLeft 0.7s ease-in-out;
  }
  
  .country-hover.active .flag-mexico {
    left: 14px;
    top: -13px;
    opacity: 1;
    animation: animate__slideInUp 0.8s ease-in-out;
  }
  
  .country-hover.active .flag-japan {
    bottom: 0;
    right: 34px;
    top: 39px;
    left: -40px;
    opacity: 1;
    animation: animate__slideInRight 0.6s ease-in-out;
  }
  .country-hover.active .flag-esp {
    bottom: 0;
    right: 34px;
    top: -44px;
    left: 17px;
    opacity: 1;
    animation: animate__slideInRight 0.6s ease-in-out;
  }
  .country-hover h3 {
    margin-top: 10px;
    font-size: 2rem;
}
/***ESTILOS DE IDIOMAS PORTAFOLIO WEB**/
.idioma-hover {
    position: relative;
    text-align: center;
  }
  .idioma-hover .number {
    font-size: 5rem;
    font-weight: bold;
    position: relative;
    z-index: 2;
    display: inline-block;
  }
  .idioma-flag {
    width: 40px;
    height: 40px;
    position: absolute;
    top: 50%;
    left: 50%;
    opacity: 0;
    transform: translate(-50%, -50%);
    transition: all 0.6s ease-in-out;
    pointer-events: none;
    z-index: 1;
  }
  .idioma-hover.active .flag-esp {
    top: 40px;
    left: -40px;
    opacity: 1;
    animation: animate__fadeInLeft 0.6s ease-in-out;
  }
  .idioma-hover.active .flag-eng {
    top: -15px;
    left: 50%;
    opacity: 1;
    animation: animate__fadeInDown 0.7s ease-in-out;
  }
  
  .idioma-hover.active .flag-jpn {
    top: 41px;
    left: 71px;
    opacity: 1;
    animation: animate__fadeInRight 0.8s ease-in-out;
  }

.portafolio-title h2 {
    margin: 0;
    font-size: 4rem; 
}

.portafolio-title h3 {
    margin: 0;
    font-size: 2.5rem; /* Ajusta el tamaño según sea necesario */
}
/**** CLIENTES ******/
.clientes-hover {
    position: relative;
    text-align: center;
  }
/* Animaciones para clientes-hover */
.clientes-hover .flag {
    width: 40px;
    height: 40px;
    position: absolute;
    top: 50%;
    left: 50%;
    opacity: 0;
    transform: translate(-50%, -50%);
    transition: all 0.6s ease-in-out;
    pointer-events: none;
    z-index: 1;
}

.clientes-hover.active .flag-usa {
    top: 45px;
    left: 159px;
    opacity: 1;
    animation: animate__slideInDown 0.6s ease-in-out;
}

.clientes-hover.active .flag-venezuela {
    top: 91px;
    left: 180px;
    opacity: 1;
    animation: animate__slideInLeft 0.7s ease-in-out;
}

.clientes-hover.active .flag-mexico {
    left: -17px;
    top: 49px;
    opacity: 1;
    animation: animate__slideInUp 0.8s ease-in-out;
}

.clientes-hover.active .flag-japan {
    bottom: 0;
    top: 92px;
    left: -34px;
    opacity: 1;
    animation: animate__slideInRight 0.6s ease-in-out;
}

.clientes-hover.active .flag-esp {
    bottom: 0;
    top: 5px;
    left: 5px;
    opacity: 1;
    animation: animate__slideInRight 0.6s ease-in-out;
}
.clientes-hover.active .flag-arg {
    bottom: 0;
    top: -38px;
    left: 28px;
    opacity: 1;
    animation: animate__slideInRight 0.6s ease-in-out;
}
.clientes-hover.active .flag-brazil {
    bottom: 0;
    top: -84px;
    left: 46px;
    opacity: 1;
    animation: animate__slideInRight 0.6s ease-in-out;
}
.clientes-hover.active .flag-australia {
    bottom: 0;
    top: 2px;
    left: 135px;
    opacity: 1;
    animation: animate__slideInRight 0.6s ease-in-out;
}
.clientes-hover.active .flag-italia {
    bottom: 0;
    top: -39px;
    left: 109px;
    opacity: 1;
    animation: animate__slideInRight 0.6s ease-in-out;
}
.clientes-hover.active .flag-canada {
    bottom: 0;
    top: -85px;
    left: 90px;
    opacity: 1;
    animation: animate__slideInRight 0.6s ease-in-out;
}

/* ESTILOS ESPECÍFICOS PARA BANDERAS DE CLIENTES EN MOBILE - INGLÉS Y JAPONÉS */
@media (max-width: 768px) {
    /* Banderas para INGLÉS en móvil */
    .lang-eng .clientes-hover.active .flag-usa {
        top: 36px !important;
        left: 23vh !important; 
    }
    
    .lang-eng .clientes-hover.active .flag-venezuela {
        top: 81px !important;
        left: 27vh !important; 
    }
    
    .lang-eng .clientes-hover.active .flag-mexico {
        top: 38px !important;
        left: -6vh !important; 
    }
    
    .lang-eng .clientes-hover.active .flag-japan {
        top: 84px !important;
        left: -9vh !important; 
    }
    
    .lang-eng .clientes-hover.active .flag-esp {
        top: -8px !important;
        left: -1vh !important; 
    }
    
    .lang-eng .clientes-hover.active .flag-arg {
        top: -45px !important;
        left: 4vh !important; 
    }
    
    .lang-eng .clientes-hover.active .flag-brazil {
        top: -84px !important;
        left: 9vh !important;
    }
    
    .lang-eng .clientes-hover.active .flag-australia {
        top: -4px !important;
        left: 19vh !important; 
    }
    
    .lang-eng .clientes-hover.active .flag-italia {
        top: -44px !important;
        left: 15vh !important; 
    }
    
    /* Banderas para JAPONÉS en móvil */
    .lang-jpn .clientes-hover.active .flag-usa {
        top: 36px !important;
        left: 30vh !important; 
    }
    
    .lang-jpn .clientes-hover.active .flag-venezuela {
        top: 81px !important;
        left: 33vh !important; 
    }
    
    .lang-jpn .clientes-hover.active .flag-mexico {
        top: 40px !important;
        left: -1vh !important; 
    }
    
    .lang-jpn .clientes-hover.active .flag-japan {
        top: 86px !important;
        left: -5vh !important; 
    }
    
    .lang-jpn .clientes-hover.active .flag-esp {
        top: -3px !important;
        left: 4vh !important; 
    }
    
    .lang-jpn .clientes-hover.active .flag-arg {
        top: -45px !important;
        left: 7vh !important; 
    }
    
    .lang-jpn .clientes-hover.active .flag-brazil {
        top: -84px !important;
        left: 90px !important; 
    }
    
    .lang-jpn .clientes-hover.active .flag-australia {
        top: -4px !important;
        left: 26vh !important;
    }
    
    .lang-jpn .clientes-hover.active .flag-italia {
        top: -44px !important;
        left: 21vh !important;
    }
}

/* ESTILOS ESPECÍFICOS PARA JAPONÉS EN DESKTOP - Solo posiciones de banderas */

/* Banderas para CLIENTES (clientes-hover) en japonés desktop */
.lang-jpn .clientes-hover.active .flag-usa {
    top: 48px; 
    left: 37vh;
}

.lang-jpn .clientes-hover.active .flag-venezuela {
    top: 94px; 
    left: 41vh;
}

.lang-jpn .clientes-hover.active .flag-mexico {
    top: 48px; 
    left: 2vh;
}

.lang-jpn .clientes-hover.active .flag-japan {
    top: 96px; 
    left: -3vh;
}

.lang-jpn .clientes-hover.active .flag-esp {
    top: 1px; 
    left: 7vh;
}

.lang-jpn .clientes-hover.active .flag-arg {
    top: -38px; 
    left: 12vh;
}

.lang-jpn .clientes-hover.active .flag-brazil {
    top: -70px; 
    left: 19vh;
}

.lang-jpn .clientes-hover.active .flag-australia {
    top: 3px; 
    left: 31vh;
}

.lang-jpn .clientes-hover.active .flag-italia {
    top: -38px; 
    left: 26vh;
}

/* Responsive específico para japonés en móvil */
@media (max-width: 768px) {
    /* ESTILOS ESPECÍFICOS PARA IDIOMA JAPONÉS - SOLO EN MÓVIL */
    .lang-jpn .portafolio-container {
        flex-direction: column !important;
        align-items: center !important;
        gap: 90px !important; /* Más espacio en móvil */
        flex-wrap: nowrap !important;
        padding: 20px 0 !important;
    }

    .lang-jpn .portafolio-title {
        width: 100% !important;
        max-width: 180px !important;
        margin: 20px auto !important; /* Más margen en móvil */
        min-height: 100px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
    }

    /* Fix para el portfolio section en japonés - SOLO MÓVIL */
    .lang-jpn .portfolio {
        padding: 30px 0 50px 0 !important;
        margin-top: 30px !important;
        z-index: 10 !important;
        position: relative !important;
    }

    .lang-jpn .portfolio-filters {
        margin-bottom: 40px !important;
        padding: 15px 0 !important;
    }

    .lang-jpn .portfolio-filters li {
        font-size: 3vh !important;
        padding: 8px 12px !important;
        margin: 3px !important;
        display: inline-block !important;
    }
    
    .lang-jpn .portafolio-title h2 {
        font-size: 3rem !important;
        margin-bottom: 10px !important;
    }
    
    .lang-jpn .portafolio-title h3 {
        font-size: 1.8rem !important;
        line-height: 1.2 !important;
        margin-top: 8px !important;
    }
}

/*-----------Portfolio ITEMS-----------*/
.portfolio {
    padding: 2px 0;
    padding-bottom: 20px;
  }
  
  .portfolio-filters {
    list-style: none;
    padding: 0;
    text-align: center;
    margin-bottom: 45px;
  }
  
  .portfolio-filters li {
    font-family: "Racing_Hard";
    font-size: 4vh;
    display: inline-block;
    padding: 10px 15px;
    cursor: pointer;
    color: #444;
    transition: 0.3s;
    border: 2px solid transparent;
  }
  
  .portfolio-filters .filter-active {
    color: #fff;
    background: #C49C3C;
    border-radius: 5px;
  }
  
  .portfolio-item {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
  
  .portfolio-item img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 8px;
  }
  .portfolio-info {
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 0;
    background: rgba(255, 255, 255, 0.9); /* Fondo blanco semitransparente */
    padding: 15px;
    text-align: left;
    opacity: 0; /* Oculto inicialmente */
    transition: bottom 0.3s ease-in-out, opacity 0.3s ease-in-out; /* Animaciones suaves */
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 5px;
}

/* Mostrar la info al hacer hover */
.portfolio-item:hover .portfolio-info {
    opacity: 1;
    bottom: 20px; /* Mover hacia arriba */
}

/* Ocultar nuevamente con animación inversa */
.portfolio-item:not(:hover) .portfolio-info {
    opacity: 0;
    bottom: 0; 
}

/* Estilo del título del portafolio */
.portfolio-info h4 {
    font-size: 18px;
    font-weight: bold;
    margin: 0;
    color: #000;
}

/* Contenedor de íconos */
.portfolio-icons {
    display: flex;
    gap: 10px;
}

/* Estilo de los íconos */
.portfolio-icons a {
    color: #000;
    font-size: 20px;
    transition: color 0.3s ease;
}

.portfolio-icons a:hover {
    color: #C49C3C; 
}

/* Espaciado entre elementos */
.row.isotope-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

/*   MEDIA QUERYS RESPONSIVE  */

/* Pantallas pequeñas (teléfonos) */
@media (max-width: 576px) {
    /*---------ESTILOS INDEX---------*/
    .about-alineacion {
        font-size: 1.5rem; /* Ajusta según sea necesario */
    }
    .header-container {
        flex-direction: row; /* Cambia la dirección del contenedor a columna */
        align-items: center; /* Centra los elementos horizontalmente */
        justify-content: center;
    }

    .header-social-links {
        margin-bottom: 10px; /* Añade margen inferior a los iconos sociales */
        text-align: center;
    }

    .btn-cambio-idioma {
        margin-left: 0; /* Elimina el margen izquierdo */
        display: block;
        margin: 10px auto;
    }

    /* Ajustes específicos para el botón de modo oscuro en mobile */
    #toggle-dark-mode {
        margin-right: 0 !important;
        margin-left: 10px;
        padding: 8px 12px;
        min-width: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* Contenedor de redes sociales y botón de tema en mobile */
    .header-social-wrapper {
        flex-direction: row !important;
        gap: 15px !important;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        margin: 10px 0;
    }

    .header-social-links {
        gap: 10px !important;
    }

    .dropdown-content {
        bottom: 100%; /* Posiciona el dropdown hacia arriba */
        transform: translateY(-10px); /* Ajusta la posición del dropdown */
    }
}

/* Media query adicional para pantallas extra pequeñas */
@media (max-width: 400px) {
    /* Ajustes específicos para el botón de modo oscuro en pantallas muy pequeñas */
    #toggle-dark-mode {
        padding: 6px 10px;
        min-width: 45px;
        margin-left: 5px;
    }

    .header-social-wrapper {
        gap: 10px !important;
    }

    .header-social-links {
        gap: 8px !important;
    }

    .header-social-links a {
        padding: 5px;
    }
}

/* Continuación de estilos para pantallas pequeñas (576px) */
@media (max-width: 576px) {
    .carousel-control-prev-icon svg,
    .carousel-control-next-icon svg {
        display: none;
    }

    .carousel-indicators [data-bs-target] {
        width: 30px; 
    }
    .carousel-item img {
        height: 45vh; /* Hace que la imagen ocupe toda la altura del carrusel */
        width: 100%;
        object-fit: cover; /* Hace que la imagen se ajuste al contenedor sin recortarse */
    }
    .card-title{
        margin-top: 0px;
    }
    
    .service-card {
        transition: transform 0.3s ease, box-shadow 0.3s ease; /* Transición suave para el efecto */
    }
    .service-card img{
        height: 270px;
    }
    .service-card:hover {
        transform: translateY(-10px); /* Mueve la tarjeta hacia arriba */
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); /* Aplica una sombra */
    }

    .client-logo {
        flex: 1 1 120px; /* Ajusta el tamaño mínimo de los logos para pantallas pequeñas */
        max-width: 120px; /* Ajusta el tamaño máximo de los logos para pantallas pequeñas */
    }
    .footer-bottom {
        flex-direction: column;
        justify-content: space-between;
        padding: 10px 40px; /* Añade padding adicional para pantallas más grandes */
    }

    .footer-bottom .footer-contact,
    .footer-bottom .footer-social {
        margin-bottom: 0;
        padding-right: 0;
        padding-left: 0;
    }
    
    /* Responsivo para WhatsApp en móviles */
    .whatsapp-contact {
        padding: 6px 12px;
        font-size: 0.85rem;
    }
    
    .whatsapp-contact i {
        font-size: 1rem;
    }
    
    .whatsapp-text {
        font-size: 0.8rem;
    }
    .footer-links {
        align-items: center;
        flex-direction:row;
        gap: 20px;
        margin-bottom: 10px;
    }
    /*------FIN DE ESTILOS INDEX--------*/

    /*---------------ESTILOS ABOUT-----------*/
    .about-header-container {
        height: 50vh; /* Ajusta la altura del contenedor para pantallas pequeñas */
    }

    .about-header-text{
        top:45%;
        left:10%;
        padding: 10px; /* Ajusta el padding para pantallas pequeñas */
    }

    /* Ajuste específico para japonés en about-header-text */
    .lang-jpn .about-header-text {
        left: 22% !important;
    }
    /*-------NUESTROS VALORES---------*/
    .valores-container {
        flex-direction: column; /* Cambia a una disposición vertical */
        align-items: center; /* Centra los elementos */
        gap: 20px; /* Reduce el espacio entre los valores */
    }
    .valores-title h1 {
        font-size: 3rem; /* Reduce el tamaño de los títulos */
        text-align: center; /* Centra los títulos */
    }
    .valor-title h2 {
        font-size: 2rem; /* Reduce el tamaño de los títulos */
        text-align: center; /* Centra los títulos */
    }

    .valor-icon {
        width: 100px; /* Reduce el tamaño de los íconos */
        margin: 0 auto; /* Centra los íconos */
        right: -8px;
    }
    .responsabilidad-icon {
        position: relative; /* Permite ajustar la posición del icono */
        right: -55px; /* Ajusta la posición horizontal del icono */
    }

    /* Ajuste específico para japonés en responsabilidad-icon */
    .lang-jpn .responsabilidad-icon {
        right: 0px !important;
    }

    .mision-vision-container {
        flex-direction: column; /* Cambia a una disposición vertical */
        gap: 20px; /* Espacio entre las tarjetas */
    }

    .mision-card,
    .vision-card {
        width: 90%; /* Haz que las tarjetas ocupen casi todo el ancho */
        margin: 0 auto; /* Centra las tarjetas */
    }

    .mision-card h2,
    .vision-card h2 {
        font-size: 1.5rem; /* Reduce el tamaño de los títulos */
    }

    .mision-card p,
    .vision-card p {
        font-size: 1rem; /* Ajusta el tamaño del texto */
        line-height: 1.4; /* Mejora la legibilidad */
    }
    /* Ajustes específicos para japonés en tablets */
    .usage-section {
        right: 19px !important;
    }
    
    .brand-icons {
        margin-top: 44px !important;
    }
    /*-----------FIN ESTILOS ABOUT US  -----------*/
    
    /*-----------ESTILOS SERVICE DESAROLLO WEB -----------*/
    .desarrollo-web-header{
        height: 90vh;
    }
    .desarrollo-web-header .header-content{
        display: flex;
        flex-direction: column; 
        align-items: center; 
        text-align: center; 
        justify-content: center;
    }
    .text-left{
        max-width: none;
    }
    .text-left h1{
        text-align: center;
        padding-left: 0px;
        font-size: 1.5rem;
    }
    .text-left p{
        text-align: center;
        padding-left: 0px;
        font-size: 1.5rem;
    }
    .text-left h2{
        text-align: center;
        padding-left: 0px;
        font-size: 3rem;
    }
    .text-right{
        max-width: none;
        align-self: end;
        padding-right: 10px;

    }
    .text-right ul li{
        font-size: 1rem;
        padding-left: 10px;
    }
    .pricing-card {
        width: 100%;
        margin: 10px 0; 
        padding: 15px; 
    }
    .pricing-card .price {
        font-size: 2rem;
        padding: 20px;
    }

    .pricing-card ul {
        list-style: none;
        padding: 0;
        text-align: left; /* Asegura que el texto quede alineado a la izquierda */
    }
    
    .pricing-card ul li {
        display: flex;
        align-items: center; /* Alinea verticalmente el texto e ícono */
        justify-content: center;
        padding: 10px 0; /* Espaciado entre elementos */
        font-weight: bold;
        font-size: 1.2rem;
    }
    
    /* Asegurar que los iconos se posicionen correctamente */
    .pricing-card ul li img {
        width: 30px; /* Tamaño uniforme del icono */
        height: auto;
    }
    
    /* Separador con espacio */
    .separator-container {
        border-top: 4px solid #C49C3C;
        margin: 15px 0;
        padding-top: 10px;
    }
    
    /* Ajuste del botón */
    .pricing-card .cta-button {
        display: block;
        width: 100%;
        background-color: #343a40;
        padding: 12px;
        color: #fff;
        text-align: center;
        text-decoration: none;
        border-radius: 5px;
        margin-top: 2px;
    }
    .portafolio-title {
        margin: 28px; 
    }
    #negocios-pequeños .icon-check-mdnpequeña{
        margin-left: 30px;
    }
    #negocios-pequeños h2{
        font-size: 2.3rem;
    }
    #empresas-medianas h2{
        font-size: 2rem;
    }
    #empresas-medianas .icon-check{
        margin-left: 24px;
    }
    #empresas-grandes {
        width: 100%;
    }
    #empresas-grandes .price{
        font-size: 2rem;
    }
    #empresas-grandes h2{
        font-size: 2.3rem;
    }
    #empresas-medianas h2{
        font-size: 2.3rem;
    }
    #empresas-grandes li{
        font-size: 1.2rem;
    }
    #empresas-grandes .cta-button{
        font-size: 1.9rem;
    }
    #empresas-grandes .icon-check-empgrnd{
        margin-left: 25px;
    }
    li .icon-check-hospedaje{
        margin-left: 9px;
    }
    li .icon-check-multibilingue{
        margin-left: 29px;
    }
    li .icon-check-moderna{
        margin-left: 37px;
    }
    li .icon-check-mdnfuncional{
        margin-left: 28px;
    }
    li .icon-check-empmedianas{
        margin-right: 35px;
    }
    li .icon-check-bilingue{
        margin-right: 34px;
        margin-left: 7px;
    }
    li .icon-check-empgrnd{
        margin-right: 3px;
        margin-left: 20px;
    }
    .portafolio-container{
        gap: 90px;
    }

}
/* Pantallas medianas (tabletas) */
@media (min-width: 577px) and (max-width: 768px) {
    /*---------ESTILOS INDEX---------*/
    .client-logo {
        flex: 1 1 120px; /* Ajusta el tamaño mínimo de los logos para pantallas medianas */
        max-width: 120px; /* Ajusta el tamaño máximo de los logos para pantallas medianas */
    }
    .navbar-nav {
        text-align: center; /* Centra los elementos del menú */
    }

    .navbar-nav .nav-link {
        padding: 10px 15px; /* Ajusta el padding de los enlaces */
    }

    .header-social-links {
        margin-top: 10px; /* Añade margen superior a los iconos sociales */
        text-align: center; /* Centra los iconos sociales */
    }

    .btn-cambio-idioma {
        display: block; /* Asegura que el botón de cambio de idioma sea visible */
        margin: 10px auto; /* Centra el botón de cambio de idioma */
    }
    .dropdown-content {
        bottom: 100%; /* Posiciona el dropdown hacia arriba */
        transform: translateY(-10px); /* Ajusta la posición del dropdown */
    }

    .carousel-control-prev-icon svg,
    .carousel-control-next-icon svg {
        width: 3rem; 
        height: 3rem; 
    }

    .carousel-indicators [data-bs-target] {
        width: 50px; 
    }
    
    .service-card {
        transition: transform 0.3s ease, box-shadow 0.3s ease; /* Transición suave para el efecto */
    }
    .service-card img{
        height: 230px;
        object-fit: cover;
    }
    .service-card .card-title{
    font-size: 1.5rem;
    margin-left: 0px;

    }

    .service-card:hover {
        transform: translateY(-10px); /* Mueve la tarjeta hacia arriba */
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); /* Aplica una sombra */
    }
    
    /*---------FIN ESTILOS INDEX---------*/

    /*---------------ESTILOS ABOUT-----------*/
    .about-header-container {
        height: 70vh; /* Ajusta la altura del contenedor para pantallas medianas */
    }

    .about-header-text {
        top:46%;
        left:20%;
        padding: 15px; /* Ajusta el padding para pantallas medianas */
    }
    .lang-jpn .about-header-text{
        left: 32%;
    }
    /*----NUESTROS VALORES----*/
    .valores-container {
        flex-direction: row; /* Mantén los valores en fila */
        flex-wrap: wrap; /* Permite que los elementos pasen a la siguiente línea si es necesario */
        justify-content: center; /* Centra los elementos */
        gap: 40px; /* Espacio entre los valores */
    }
    .lang-jpn .valores-container{
        gap: 14px;
    }

    .valor-title h2 {
        font-size: 2.5rem; /* Ajusta el tamaño de los títulos */
    }

    .valor-icon {
        width: 120px; /* Ajusta el tamaño de los íconos */
    }
    .lang-jpn .responsabilidad-icon{
        right: -23px !important;
    }
    .responsabilidad-icon{
        right: -60px !important;
    }

    .mision-vision-container {
        flex-direction: row; /* Mantén las tarjetas en fila */
        gap: 30px; /* Espacio entre las tarjetas */
    }

    .mision-card,
    .vision-card {
        width: 45%; /* Ajusta el ancho de las tarjetas */
    }
    /*-----------FIN ESTILOS ABOUT US -----------*/
    /*-----------ESTILOS SERVICE DESAROLLO WEB -----------*/
    

}

/* Pantallas grandes (escritorios) */
@media (min-width: 769px) and (max-width: 993px) {
    /*---------ESTILOS INDEX---------*/
    .client-logo {
        flex: 1 1 120px; /* Ajusta el tamaño mínimo de los logos para pantallas grandes */
        max-width: 120px; /* Ajusta el tamaño máximo de los logos para pantallas grandes */
    }
    .navbar-nav {
        text-align: left; /* Alinea los elementos del menú a la izquierda */
    }

    .navbar-nav .nav-link {
        padding: 10px 20px; /* Ajusta el padding de los enlaces */
    }

    .header-social-links {
        margin-top: 0; /* Elimina el margen superior de los iconos sociales */
        text-align: right; /* Alinea los iconos sociales a la derecha */
    }

    .btn-cambio-idioma {
        display: inline-block; /* Asegura que el botón de cambio de idioma sea visible */
        margin-left: 10px; /* Añade margen izquierdo al botón de cambio de idioma */
    }
    .dropdown-content {
        top: 100%; /* Posiciona el dropdown hacia abajo */
        transform: translateY(0); /* Ajusta la posición del dropdown */
    }
    .carousel-control-prev-icon svg,
    .carousel-control-next-icon svg {
        width: 4rem; 
        height: 4rem; 
    }

    .carousel-indicators [data-bs-target] {
        width: 70px; 
    }
    /*---------FIN ESTILOS INDEX---------*/

    /*---------------ESTILOS ABOUT-----------*/
    .about-header-container {
        height: 72vh; /* Ajusta la altura del contenedor para pantallas grandes */
    }

    .about-header-text {
        top:45%;
        left:10%;
        padding: 20px; /* Ajusta el padding para pantallas grandes */
    }

    /*-----NUESTROS VALORES-----*/
    .valores-container {
        flex-direction: row; /* Mantén los valores en fila */
        justify-content: space-evenly; /* Espacio uniforme entre los valores */
        gap: 50px; /* Espacio entre los valores */
    }

    .valor-title h2 {
        font-size: 3rem; /* Mantén los títulos grandes */
    }

    .valor-icon {
        width: 140px; /* Ajusta el tamaño de los íconos */
    }

    .mision-vision-container {
        flex-direction: row; /* Mantén las tarjetas en fila */
        gap: 50px; /* Espacio entre las tarjetas */
    }

    .mision-card,
    .vision-card {
        width: 40%; /* Ajusta el ancho de las tarjetas */
    }
    /*-----------FIN ESTILOS ABOUT US  -----------*/
    /*-----------ESTILOS SERVICE DESAROLLO WEB -----------*/
    
}

/* Pantallas extra grandes (escritorios grandes) */
@media (min-width: 993px) {
    /*---------ESTILOS INDEX---------*/
    .client-logo {
        flex: 1 1 150px; /* Ajusta el tamaño mínimo de los logos para pantallas extra grandes */
        max-width: 150px; /* Ajusta el tamaño máximo de los logos para pantallas extra grandes */
    }
    .navbar-nav {
        text-align: left; /* Alinea los elementos del menú a la izquierda */
    }

    .navbar-nav .nav-link {
        padding: 10px 20px; 
        font-size: 21px;
    }

    .header-social-links {
        margin-top: 0; /* Elimina el margen superior de los iconos sociales */
        text-align: right; /* Alinea los iconos sociales a la derecha */
    }

    .btn-cambio-idioma {
        display: flex; /* Asegura que el botón de cambio de idioma sea visible */
        margin-left: 2px; /* Añade margen izquierdo al botón de cambio de idioma */
    }
    .carousel-control-prev-icon svg,
    .carousel-control-next-icon svg {
        width: 5rem; 
        height: 5rem; 
    }

    .carousel-indicators [data-bs-target] {
        width: 90px; 
    }
    /*---------FIN ESTILOS INDEX---------*/
    
    /*---------------ESTILOS ABOUT-----------*/
    /*-----NUESTROS VALORES--------*/
    .valores-container {
        justify-content: space-around; /* Mantén los valores distribuidos uniformemente */
    }

    .valor-title h2 {
        font-size: 3.5rem; /* Aumenta ligeramente el tamaño de los títulos */
    }

    .valor-icon {
        width: 150px; /* Mantén el tamaño de los íconos más grande */
    }

    .mision-card,
    .vision-card {
        width: 35%; /* Haz que las tarjetas ocupen menos espacio */
    }

    .mision-card h2,
    .vision-card h2 {
        font-size: 2rem; /* Aumenta ligeramente el tamaño de los títulos */
    }

    .mision-card p,
    .vision-card p {
        font-size: 1.2rem; /* Ajusta el tamaño del texto */
    }
    /*-----------FIN ESTILOS ABOUT US  -----------*/
    /*-----------ESTILOS SERVICE DESAROLLO WEB -----------*/
}

/* Media Queries para portátiles/laptops (1024px) - Ajustes de navbar para idiomas */
@media (max-width: 1024px) {
    /* Reducir font-size general del navbar para pantallas de portátil */
    .estilos-navbar {
        font-size: 24px !important;
    }
    
    /* Ajustes específicos para inglés en portátiles */
    .lang-eng .estilos-navbar {
        font-size: 20px !important;
    }
    
    .lang-eng .navbar-nav {
        font-size: 20px !important;
    }
    
    .lang-eng .nav-link {
        font-size: 1em !important;
    }
    
    .lang-eng .dropdown-item {
        font-size: 0.85em !important;
    }
    
    /* Ajustes específicos para español en portátiles */
    .lang-spa .estilos-navbar {
        font-size: 22px !important;
    }
    
    .lang-spa .navbar-nav {
        font-size: 22px !important;
    }

    .lang-spa .dropdown-item {
        font-size: 0.9em !important;
    }
    
    /* Reducir espacio entre elementos del navbar */
    .nav-item {
        margin-right: 15px !important;
    }
    
    /* Ajustar el logo para portátiles */
    .gisea-logo {
        width: 21vh !important;
    }
}

/* Media Query específica para portátiles de 1024px */
@media (min-width: 1024px) and (max-width: 1366px) {
    /* Ajustes específicos para el rango de portátiles 1024px-1366px */
    .estilos-navbar {
        font-size: 22px !important;
    }
    
    /* Para inglés */
    .lang-eng .estilos-navbar {
        font-size: 18px !important;
    }
    
    .lang-eng .navbar-nav {
        font-size: 18px !important;
    }
    
    .lang-eng .nav-link {
        font-size: 0.85em !important;
        padding: 8px 12px !important;
    }
    
    .lang-eng .dropdown-item {
        font-size: 0.8em !important;
    }
    
    /* Para español */
    .lang-spa .estilos-navbar {
        font-size: 20px !important;
    }
    
    .lang-spa .navbar-nav {
        font-size: 20px !important;
    }
    
    .lang-spa .nav-link {
        font-size: 0.9em !important;
        padding: 8px 12px !important;
    }
    
    .lang-spa .dropdown-item {
        font-size: 0.85em !important;
    }
    
    /* Para japonés */
    .lang-jpn .estilos-navbar {
        font-size: 16px !important;
    }
    
    .lang-jpn .navbar-nav {
        font-size: 16px !important;
    }
    
    .lang-jpn .nav-link {
        font-size: 0.8em !important;
        padding: 8px 10px !important;
    }
    
    /* Reducir margen entre elementos */
    .nav-item {
        margin-right: 12px !important;
    }
    
    /* Ajustar logo */
    .gisea-logo {
        width: 17vh !important;
    }
    
    /* Ajustar botón de idioma */
    .btn-cambio-idioma {
        font-size: 20px !important;
        padding: 6px 10px !important;
    }
    
    /* Ajustar iconos sociales */
    .header-social-links .red-social i {
        font-size: 1.2rem !important;
    }
}

/* Media Query ultra específica para pantallas de 1024px */
@media (min-width: 1020px) and (max-width: 1024px) {
    .header-social-wrapper{
        margin-left: -9px;
    }
    /* Ajustes ultra específicos para 1024px */
    .estilos-navbar {
        font-size: 20px !important;
    }
    
    .lang-eng .estilos-navbar {
        font-size: 16px !important;
    }
    
    .lang-eng .navbar-nav {
        font-size: 16px !important;
    }
    
    .lang-eng .nav-link {
        font-size: 1em !important;
        padding: 6px 10px !important;
    }
    
    .lang-spa .estilos-navbar {
        font-size: 18px !important;
    }
    
    .lang-spa .navbar-nav {
        font-size: 18px !important;
    }
    
    .lang-spa .nav-link {
        font-size: 1em !important;
        padding: 6px 10px !important;
    }
    
    .lang-jpn .estilos-navbar {
        font-size: 14px !important;
    }
    
    .lang-jpn .navbar-nav {
        font-size: 14px !important;
    }
    
    .lang-jpn .nav-link {
        font-size: 1em !important;
        padding: 6px 8px !important;
    }
    
    .nav-item {
        margin-right: 8px !important;
    }
    
    .gisea-logo {
        width: 16vh !important;
    }
    
    /* Asegurar que el dropdown de servicios no se salga */
    .dropdown-menu {
        font-size: 16px !important;
    }
    
    .lang-eng .dropdown-menu {
        font-size: 14px !important;
    }
    
    .lang-spa .dropdown-menu {
        font-size: 15px !important;
    }
}
/* MODO OSCURO */
body.dark-mode {
  background-color: #0C0C2B;
  color: #f0f0f0;
}

/* Navbar */
body.dark-mode .estilos-navbar {
  background-color: #0C0C2B;
  --bs-navbar-color: #f0f0f0;
  --bs-navbar-hover-color: #C49C3C;
}

/* Cards */
body.dark-mode .card {
  background-color: #222;
  color: #f0f0f0;
  border-color: #444;
}
body.dark-mode .card-title,
body.dark-mode .card-text {
  color: #f0f0f0;
}

/* Secciones */
body.dark-mode section {
  background-color: #0C0C2B;
}
body.dark-mode .section-title h1 {
  color: #f0f0f0;
}

/* Footer */
body.dark-mode .footer {
  background-color: #0C0C2B;
  color: #f0f0f0;
}
body.dark-mode .footer a {
  color: #C49C3C;
}
body.dark-mode .footer a:hover {
  color: #f0f0f0;
}

/* Botón modo oscuro */
body.dark-mode #toggle-dark-mode,
body.dark-mode .btn-cambio-idioma {
  background-color: transparent;
  color: #f0f0f0;
  border-color: #f0f0f0;
}

/* Dropdown */
body.dark-mode .dropdown-content {
  background-color: #0C0C2B;
  color: #f0f0f0;
}
body.dark-mode .dropdown-content a:hover {
  background-color: #2e2760;
}

/* Dropdown menu de Bootstrap */
body.dark-mode .dropdown-menu {
  --bs-dropdown-bg: #0C0C2B !important;
  background-color: #0C0C2B !important;
}

/* Hover y selección en dropdown items modo oscuro */
body.dark-mode .dropdown-item {
  color: #f0f0f0 !important;
  background-color: transparent !important;
  border-bottom: 2px solid transparent !important;
  transition: all 0.3s ease !important;
}

body.dark-mode .dropdown-item:hover,
body.dark-mode .dropdown-item:focus {
  background-color: rgba(196, 156, 60, 0.1) !important;
  color: #C49C3C !important;
  border-bottom: 2px solid #C49C3C !important;
}

/* Social Icons */
body.dark-mode a.red-social,
body.dark-mode a.red-social-footer {
  color: #C49C3C;
}

/* Estilos para WhatsApp en modo oscuro */
body.dark-mode .whatsapp-contact {
  color: #25D366 !important;
  background: rgba(37, 211, 102, 0.15);
  border: 1px solid rgba(37, 211, 102, 0.4);
}

body.dark-mode .whatsapp-contact:hover {
  background: rgba(37, 211, 102, 0.25);
  color: #34E877 !important;
}

body.dark-mode .whatsapp-text {
  color: #25D366 !important;
}

/* Estilos generales para texto blanco en modo oscuro */
body.dark-mode,
body.dark-mode * {
  color: #f0f0f0 !important;
}

/* Excepciones para elementos que deben mantener sus colores específicos */
body.dark-mode a.red-social,
body.dark-mode a.red-social-footer,
body.dark-mode .footer-contact,
body.dark-mode .footer-links a:hover,
body.dark-mode a:hover {
  color: #C49C3C !important;
}

/* Mantener colores específicos de navegación */
body.dark-mode .navbar-nav .nav-link:hover {
  color: #C49C3C !important;
  border-bottom: 2px solid #C49C3C !important;
  transition: all 0.3s ease !important;
}

/* Subrayado para nav-link activo en modo oscuro */
body.dark-mode .navbar-nav .nav-link.active {
  color: #C49C3C !important;
  border-bottom: 2px solid #C49C3C !important;
}

/* Asegurar que los enlaces normales no tengan borde por defecto */
body.dark-mode .navbar-nav .nav-link {
  border-bottom: 2px solid transparent !important;
  transition: all 0.3s ease !important;
}

/* Mantener colores de botones activos */
body.dark-mode .portfolio-filters .filter-active {
  color: #fff !important;
  background: #C49C3C !important;
}

/* Ajustes específicos para las tech cards */
body.dark-mode .tech-card {
  background-color: #222 !important;
  color: #f0f0f0 !important;
}

body.dark-mode .section-title-card-tech {
  color: #f0f0f0 !important;
}

/* Texto de porcentaje en las cards de tecnología - Negro en modo oscuro */
body.dark-mode .usage-text {
  color: #000000 !important;
}

/* Pricing cards en modo oscuro */
body.dark-mode .pricing-card {
  background-color: #222 !important;
  color: #f0f0f0 !important;
}

body.dark-mode .pricing-card h2 {
  color: #f0f0f0 !important;
}

body.dark-mode .pricing-card .price {
  background: #1C1F3D !important;
  color: #fff !important;
}

/* Service cards en modo oscuro */
body.dark-mode .service-card .card-body {
  background-color: #0C0C2B !important;
  color: #fff !important;
}

/* Portafolio y textos generales */
body.dark-mode .portafolio-title h2,
body.dark-mode .portafolio-title h3,
body.dark-mode .about-alineacion,
body.dark-mode .valores-title h1,
body.dark-mode .valor-title h2 {
  color: #f0f0f0 !important;
}

/* Footer específico */
body.dark-mode .footer-top {
  background-color: #0C0C2B!important;
}

body.dark-mode .footer-bottom {
  background-color: #0C0C2B !important;
}

/* Enlaces normales en modo oscuro */
body.dark-mode a:not(.red-social):not(.red-social-footer):not(.footer-links a):not(.cta-button) {
  color: #C49C3C !important;
}

/* Asegurar que los iconos de Font Awesome mantengan su color */
body.dark-mode .fa-brands,
body.dark-mode .fa-solid,
body.dark-mode .fa-regular {
  color: inherit !important;
}

/* Ajustes específicos para clases con colores oscuros */
body.dark-mode .about-alineacion {
  color: #f0f0f0 !important;
}

body.dark-mode .section-title-card-tech {
  color: #f0f0f0 !important;
  font-weight: bold;
}

body.dark-mode .a-color {
  color: #f0f0f0 !important;
}

/* Asegurar que todos los párrafos, títulos y textos sean blancos */
body.dark-mode p,
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode h5,
body.dark-mode h6,
body.dark-mode span,
body.dark-mode div,
body.dark-mode li {
  color: #f0f0f0 !important;
}

/* Excepciones para elementos que deben mantener colores específicos */
body.dark-mode .service-card .card-body *,
body.dark-mode .mision-card *,
body.dark-mode .vision-card *,
body.dark-mode .footer-bottom * {
  color: #c49c3c !important;
}

/* Estilos específicos para texto de misión y visión en modo oscuro */
body.dark-mode .mision-card h2,
body.dark-mode .vision-card h2,
body.dark-mode .mision-card p,
body.dark-mode .vision-card p {
  color: #ffffff !important;
}

/* Asegurar que los elementos de portfolio mantengan la estructura correcta */
body.dark-mode .portfolio-filters li {
  color: #f0f0f0 !important;
}

body.dark-mode .portfolio-info h4,
body.dark-mode .portfolio-info p {
  color: #fff !important;
}

/* Drop-shadow sutil para imágenes de clientes en modo oscuro */
body.dark-mode .client-logo img {
  border: none !important;
  background-color: transparent !important;
  transition: all 0.3s ease !important;
}

body.dark-mode .client-logo img:hover {
  background-color: transparent !important;
  filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.5)) !important;
  transform: scale(1.1) !important;
}

/* Drop-shadow para el logo de Gisea en modo oscuro */
body.dark-mode .gisea-logo {
  filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.7)) !important;
  transition: all 0.3s ease !important;
}

body.dark-mode .gisea-logo:hover {
  filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.9)) !important;
  transform: scale(1.02) !important;
}

/* Drop-shadow para el logo del footer en modo oscuro */
body.dark-mode .footer-logo {
  filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.7)) !important;
  transition: all 0.3s ease !important;
}

body.dark-mode .footer-logo:hover {
  filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.9)) !important;
  transform: scale(1.02) !important;
}

/* Drop-shadow para los íconos de valores en modo oscuro */
body.dark-mode .valor-icon {
  filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.7)) !important;
  transition: all 0.3s ease !important;
}

body.dark-mode .valor-icon:hover {
  filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.9)) !important;
  transform: scale(1.05) !important;
}

/* Drop-shadow para los íconos de marcas en las tech cards en modo oscuro */
body.dark-mode .brand-icon {
  filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.4)) !important;
  transition: all 0.3s ease !important;
}

/* Botones CTA en modo oscuro */
body.dark-mode .cta-button {
  background-color: #1C1F3D !important;
  color: #ffffff !important;
  transition: all 0.3s ease !important;
}

body.dark-mode .cta-button:hover {
  background-color: #C49C3C !important;
  color: #1C1F3D !important;
  transform: scale(1.05) !important;
}

/* Quitar outline adicional */
body.dark-mode .clients-container .client-logo img {
  outline: none !important;
  outline-offset: 0 !important;
}

/* Iconos del portafolio en modo oscuro - mantener color negro */
body.dark-mode .portfolio-icons a {
  color: #000000 !important;
}

body.dark-mode .portfolio-icons a:hover {
  color: #C49C3C !important;
}

/* Iconos específicos de Bootstrap en el portafolio */
body.dark-mode .portfolio-icons .bi-zoom-in,
body.dark-mode .portfolio-icons .bi-link-45deg {
  color: #000000 !important;
}

/* Estilos específicos para texto japonés en carousel */
body.lang-jpn .gisea-subtitle,
body.lang-jpn .web-dev-subtitle,
body.lang-jpn .developer-training-subtitle,
body.lang-jpn .human-resources-subtitle {
  font-size: 1.8rem !important;
  line-height: 1.3 !important;
}

/* Estilos responsivos para japonés en tablets */
@media (max-width: 768px) {
  body.lang-jpn .gisea-subtitle,
  body.lang-jpn .web-dev-subtitle,
  body.lang-jpn .developer-training-subtitle,
  body.lang-jpn .human-resources-subtitle {
    font-size: 1.4rem !important;
  }
  
  body.lang-jpn .gisea-title,
  body.lang-jpn .web-dev-title,
  body.lang-jpn .developer-training-title,
  body.lang-jpn .human-resources-title {
    font-size: 2.5rem !important;
  }
}

/* Estilos responsivos para japonés en móviles */
@media (max-width: 480px) {
  body.lang-jpn .gisea-subtitle,
  body.lang-jpn .web-dev-subtitle,
  body.lang-jpn .developer-training-subtitle,
  body.lang-jpn .human-resources-subtitle {
    font-size: 1rem !important;
    line-height: 1.2 !important;
  }
  
  body.lang-jpn .gisea-title,
  body.lang-jpn .web-dev-title,
  body.lang-jpn .developer-training-title,
  body.lang-jpn .human-resources-title {
    font-size: 1.6rem !important;
  }
}

/* Estilos responsivos para japonés en dispositivos muy pequeños */
@media (max-width: 360px) {
  body.lang-jpn .gisea-subtitle,
  body.lang-jpn .web-dev-subtitle,
  body.lang-jpn .developer-training-subtitle,
  body.lang-jpn .human-resources-subtitle {
    font-size: 0.9rem !important;
  }
  
  body.lang-jpn .gisea-title,
  body.lang-jpn .web-dev-title,
  body.lang-jpn .developer-training-title,
  body.lang-jpn .human-resources-title {
    font-size: 1.2rem !important;
  }
}
