/*Estilos generales*/
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap');

@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;
}

@font-face {
    font-family: "Gotham_Black";
    src:
        url("../fonts/Gotham Black.otf") format("opentype");
    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: 3.3vh;
    font-family: "Oswald", sans-serif;
    --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 */
}

a.youtube:hover {
    color: #FF0000;
    /* Color personalizado para YouTube */
}

/*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);
    }
}

/* Especificidad mayor para asegurar que las animaciones funcionen */
#dropdownIcon.rotate-180,
.fa-solid.fa-angle-down.rotate-180,
i.rotate-180 {
    animation: rotateIn 0.5s ease-in-out forwards !important;
    transform-origin: center !important;
}

#dropdownIcon.rotate-0,
.fa-solid.fa-angle-down.rotate-0,
i.rotate-0 {
    animation: rotateOut 0.5s ease-in-out forwards !important;
    transform-origin: center !important;
}

/* Fallback con menor especificidad */
.rotate-180 {
    animation: rotateIn 0.5s ease-in-out forwards !important;
    transform-origin: center !important;
}

.rotate-0 {
    animation: rotateOut 0.5s ease-in-out forwards !important;
    transform-origin: center !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: "Oswald", sans-serif;
    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: "Oswald", 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: "Oswald", 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: "Oswald", sans-serif;
    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: "Oswald", 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: "Oswald", sans-serif;
    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: "Oswald", 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: 15px;
    }

    .gisea-logo-slide {
        width: 80px;
    }

    .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-logo-slide {
        width: 35px;
    }

    .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: "Oswald", sans-serif;
    font-size: 2.4rem;
    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;
    font-family: "Oswald", sans-serif;
    font-weight: 400;
    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: "Oswald", sans-serif;
    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 PROFILE CARDS EQUIPO --*/
.profile-card {
    max-width: 340px;
    margin: auto;
    overflow: hidden;
    position: relative;
    z-index: 1;
    background-color: white;
    display: flex;
    transition: 0.3s;
    flex-direction: column;
    border-radius: 15px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    min-height: 520px;
    height: auto;
}

.profile-card[data-state="#about-lia"],
.profile-card[data-state="#about-rick"],
.profile-card[data-state="#about-hugo"] {
    min-height: 520px;
    height: auto;
}

.profile-card[data-state="#contact-lia"],
.profile-card[data-state="#contact-rick"],
.profile-card[data-state="#contact-hugo"] {
    min-height: 480px;
    height: auto;
}

.profile-card[data-state="#experience-lia"],
.profile-card[data-state="#experience-rick"],
.profile-card[data-state="#experience-hugo"] {
    min-height: 600px;
    height: auto;
    max-height: none;
}

.profile-card.is-active .profile-card-header {
    height: 80px;
}

.profile-card.is-active .profile-card-cover {
    height: 100px;
    top: -50px;
}

.profile-card.is-active .profile-card-avatar {
    transform: none;
    left: 20px;
    width: 50px;
    height: 50px;
    bottom: 10px;
}

.profile-card.is-active .profile-card-fullname,
.profile-card.is-active .profile-card-jobtitle {
    left: 86px;
    transform: none;
}

.profile-card.is-active .profile-card-fullname {
    bottom: 18px;
    font-size: 19px;
}

.profile-card.is-active .profile-card-jobtitle {
    bottom: 16px;
    letter-spacing: 1px;
    font-size: 10px;
}

.profile-card-header {
    position: relative;
    display: flex;
    height: 200px;
    flex-shrink: 0;
    width: 100%;
    transition: 0.3s;
}

.profile-card-header * {
    transition: 0.3s;
}

.profile-card-cover {
    width: 100%;
    height: 100%;
    position: absolute;
    height: 160px;
    top: -20%;
    left: 0;
    will-change: top;
    background-size: cover;
    background-position: center;
    filter: blur(30px);
    transform: scale(1.2);
    transition: 0.5s;
}

.profile-card-avatar {
    width: 100px;
    height: 100px;
    box-shadow: 0 8px 15px rgba(196, 156, 60, 0.3);
    border: 3px solid #C49C3C;
    border-radius: 50%;
    object-position: center;
    object-fit: cover;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%) translateY(-64px);
}

.profile-card-fullname {
    position: absolute;
    bottom: 0;
    font-size: 22px;
    font-weight: 900;
    font-family: "Gotham_Black", sans-serif;
    text-align: center;
    white-space: nowrap;
    transform: translateY(-10px) translateX(-50%);
    left: 50%;
    color: #1C1F3D;
    text-transform: uppercase;
}

.profile-card-jobtitle {
    position: absolute;
    bottom: 0;
    font-size: 11px;
    white-space: nowrap;
    font-weight: 600;
    opacity: 0.8;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin: 0;
    left: 50%;
    transform: translateX(-50%) translateY(-7px);
    color: #1C1F3D;
}

.profile-card-main {
    position: relative;
    flex: 1;
    display: flex;
    padding-top: 10px;
    flex-direction: column;
}

.profile-card-subtitle {
    font-weight: 900;
    font-size: 13px;
    margin-bottom: 10px;
    color: #1C1F3D;
    font-family: "Gotham_Black", sans-serif;
}

.profile-card-content {
    padding: 15px 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.profile-card-desc {
    line-height: 1.5;
    color: #636b6f;
    font-size: 14px;
    margin: 0;
    font-weight: 400;
    font-family: "DM Sans", sans-serif;
}

.profile-card-social {
    display: flex;
    align-items: center;
    padding: 0 20px;
    margin-bottom: 20px;
    justify-content: center;
    gap: 10px;
}

.profile-card-social svg {
    fill: #C49C3C;
    width: 18px;
    height: 18px;
    display: block;
    transition: 0.3s;
}

/* Estilos específicos para iconos sociales con colores originales */
.profile-card-social .social-tiktok svg {
    fill: #000000;
}

.profile-card-social .social-instagram svg {
    fill: #E4405F;
}

.profile-card-social .social-facebook svg {
    fill: #1877F2;
}

.profile-card-social .social-linkedin svg {
    fill: #0A66C2;
}

.profile-card-social .social-whatsapp svg {
    fill: #25D366;
}

.profile-card-social .social-website svg {
    fill: #6366F1;
    stroke: none;
}

.profile-card-social .social-tiktok:hover svg {
    fill: #ffffff;
}

.profile-card-social .social-instagram:hover svg {
    fill: #ffffff;
}

.profile-card-social .social-facebook:hover svg {
    fill: #ffffff;
}

.profile-card-social .social-website:hover svg {
    stroke: #ffffff;
}

.profile-card-social a {
    color: #C49C3C;
    height: 35px;
    width: 35px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s;
    background-color: rgba(196, 156, 60, 0.1);
    border: 2px solid transparent;
}

/* Fondos específicos para cada red social */
.profile-card-social .social-tiktok {
    background-color: rgba(0, 0, 0, 0.1);
}

.profile-card-social .social-instagram {
    background-color: rgba(228, 64, 95, 0.1);
}

.profile-card-social .social-facebook {
    background-color: rgba(24, 119, 242, 0.1);
}

.profile-card-social .social-whatsapp {
    background-color: rgba(37, 211, 102, 0.1);
}

.profile-card-social .social-website {
    background-color: rgba(99, 102, 241, 0.1);
}

.profile-card-social .social-linkedin {
    background-color: rgba(10, 102, 194, 0.1);
}

.profile-card-social .social-tiktok:hover {
    background-color: #000000;
}

.profile-card-social .social-instagram:hover {
    background-color: #E4405F;
}

.profile-card-social .social-facebook:hover {
    background-color: #1877F2;
}

.profile-card-social .social-whatsapp:hover {
    background-color: #25D366;
}

.profile-card-social .social-linkedin:hover {
    background-color: #0A66C2;
}

.profile-card-social .social-website:hover {
    transform: scale(1.2);
    transition: transform 0.3s ease;
}

.profile-card-social a:hover {
    background-color: #C49C3C;
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(196, 156, 60, 0.4);
}

.profile-card-social a:hover svg {
    fill: #ffffff;
}

/* Excluir el website del hover general */
.profile-card-social .social-website:hover {
    background-color: #6366F1;
    transform: scale(1.2);
    transition: transform 0.3s ease;
    box-shadow: 0 5px 15px rgba(99, 102, 241, 0.4);
}

.profile-card-social .social-website:hover svg {
    fill: #ffffff;
}

.profile-card-buttons {
    display: flex;
    background-color: #fff;
    margin-top: auto;
    position: sticky;
    bottom: 0;
    left: 0;
    border-radius: 0 0 15px 15px;
}

.profile-card-buttons button {
    flex: 1 1 auto;
    user-select: none;
    background: 0;
    font-size: 12px;
    border: 0;
    padding: 15px 5px;
    cursor: pointer;
    color: #5c5c6d;
    transition: 0.3s;
    font-family: "Gotham_Black", sans-serif;
    font-weight: 900;
    outline: 0;
    border-bottom: 3px solid transparent;
}

.profile-card-buttons button.is-active,
.profile-card-buttons button:hover {
    color: #1C1F3D;
    border-bottom: 3px solid #C49C3C;
    background: linear-gradient(to bottom, rgba(196, 156, 60, 0) 0%, rgba(196, 156, 60, 0.2) 44%, rgba(196, 156, 60, 0.4) 100%);
}

.profile-card-section {
    display: none;
}

.profile-card-section.is-active {
    display: block;
    animation: profileFadeIn 0.6s both;
}

@keyframes profileFadeIn {
    0% {
        opacity: 0;
        transform: translateY(40px);
    }

    100% {
        opacity: 1;
    }
}

.profile-card-timeline {
    margin-top: 30px;
    position: relative;
}

.profile-card-timeline:after {
    background: linear-gradient(to top, rgba(196, 156, 60, 0) 0%, #C49C3C 100%);
    content: "";
    left: 42px;
    width: 2px;
    top: 0;
    height: 100%;
    position: absolute;
}

.profile-card-item {
    position: relative;
    padding-left: 60px;
    padding-right: 20px;
    padding-bottom: 30px;
    z-index: 1;
}

.profile-card-item:last-child {
    padding-bottom: 5px;
}

.profile-card-item:after {
    content: attr(data-year);
    width: 10px;
    position: absolute;
    top: 0;
    left: 37px;
    width: 8px;
    height: 8px;
    line-height: 0.6;
    border: 2px solid #fff;
    font-size: 11px;
    text-indent: -35px;
    border-radius: 50%;
    color: rgba(134, 134, 134, 0.7);
    background: linear-gradient(to bottom, #C49C3C 0%, #a0873a 100%);
}

.profile-card-item-title {
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 5px;
    color: #1C1F3D;
    font-family: "Gotham_Black", sans-serif;
}

.profile-card-item-title span {
    color: #C49C3C;
    font-weight: 600;
}

.profile-card-item-desc {
    font-size: 13px;
    color: #6f6f7b;
    line-height: 1.5;
    font-family: "DM Sans", sans-serif;
}

/* Estilos para la nueva lista de experiencias */
.profile-card-experience-list {
    margin-top: 15px;
    margin-bottom: 20px;
    padding-bottom: 10px;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.experience-item {
    margin-bottom: 0;
    padding: 12px 15px;
    border-left: 3px solid #C49C3C;
    background: rgba(196, 156, 60, 0.05);
    border-radius: 0 8px 8px 0;
    flex-shrink: 0;
}

.experience-item:last-child {
    margin-bottom: 0;
}

.experience-item h4 {
    font-family: "Gotham_Black", sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #1C1F3D;
    margin-bottom: 8px;
}

.experience-item p {
    font-family: "DM Sans", sans-serif;
    font-size: 13px;
    color: #6f6f7b;
    line-height: 1.5;
    margin: 0;
}

.media-logos {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    margin-top: 10px;
    padding: 6px 0;
    flex-shrink: 0;
}

.media-logo {
    height: 30px;
    width: auto;
    object-fit: contain;
    transition: transform 0.3s ease;
    filter: grayscale(20%);
}

.media-logo:hover {
    transform: scale(1.1);
    filter: grayscale(0%);
}

/* Tech Stack Badges */
.tech-stack-hgcard {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
    justify-content: center;
}

.tech-badge-hgcard {
    background: linear-gradient(135deg, #23379a 0%, #09133c 100%);
    color: white;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(28, 31, 61, 0.2);
    display: flex;
    align-items: center;
    gap: 6px;
}

.tech-icon-hgcard {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.tech-badge-hgcard:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(28, 31, 61, 0.3);
}

/* Estilos específicos para Git y GitHub */
.git-github-badge {
    display: flex;
    align-items: center;
    gap: 4px;
}

.git-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.github-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    filter: brightness(0) invert(1);
}

.github-icon path {
    fill: #ffffff !important;
}

/* Estilos específicos para npm/pnpm/yarn */
.npm-yarn-badge {
    display: flex;
    align-items: center;
    gap: 6px;
}

.npm-yarn-img {
    width: 59px;
    height: 29px;
    flex-shrink: 0;
    object-fit: contain;
    filter: brightness(1.2) contrast(1.1);
}

/* English Level Icon */
.english-icon {
    height: 35px !important;
    width: auto;
}

.inline-logo {
    height: 24px;
    width: auto;
    object-fit: contain;
    vertical-align: middle;
    transition: transform 0.3s ease;
    filter: grayscale(20%);
}

.inline-logo:hover {
    transform: scale(1.1);
    filter: grayscale(0%);
}

.profile-card-contact-wrapper {
    margin-top: 20px;
}

.profile-card-contact {
    display: flex;
    align-items: center;
    font-size: 13px;
    color: #6f6f7b;
    font-family: "DM Sans", sans-serif;
    line-height: 1.6;
    cursor: pointer;
}

.profile-card-contact+.profile-card-contact {
    margin-top: 16px;
}

.profile-card-contact svg {
    flex-shrink: 0;
    width: 30px;
    min-height: 34px;
    margin-right: 12px;
    transition: 0.3s;
    padding-right: 12px;
    border-right: 1px solid #dfe2ec;
    stroke: #C49C3C;
}

.profile-contact-me {
    border: 0;
    outline: none;
    background: linear-gradient(to right, rgba(196, 156, 60, 0.8) 0%, rgba(28, 31, 61, 0.8) 96%);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
    color: #fff;
    padding: 12px 16px;
    width: 100%;
    border-radius: 8px;
    margin-top: 25px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 900;
    font-family: "Gotham_Black", sans-serif;
    transition: 0.3s;
}

.profile-contact-me:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(196, 156, 60, 0.3);
}

/* Responsividad para tablets */
@media (max-width: 768px) {
    .profile-card {
        max-width: 300px;
        min-height: 500px;
        height: auto;
    }

    .profile-card[data-state="#about-lia"],
    .profile-card[data-state="#about-rick"],
    .profile-card[data-state="#about-hugo"] {
        min-height: 500px;
        height: auto;
    }

    .profile-card[data-state="#contact-lia"],
    .profile-card[data-state="#contact-rick"],
    .profile-card[data-state="#contact-hugo"] {
        min-height: 460px;
        height: auto;
    }

    .profile-card[data-state="#experience-lia"],
    .profile-card[data-state="#experience-rick"],
    .profile-card[data-state="#experience-hugo"] {
        min-height: 580px;
        height: auto;
        max-height: none;
    }

    .profile-card-fullname {
        font-size: 20px;
    }

    .profile-card-buttons button {
        font-size: 11px;
        padding: 12px 3px;
        font-weight: 900;
    }
}

/* Responsividad para móviles */
@media (max-width: 576px) {
    .profile-card {
        max-width: 280px;
        min-height: 480px;
        height: auto;
    }

    .profile-card[data-state="#about-lia"],
    .profile-card[data-state="#about-rick"],
    .profile-card[data-state="#about-hugo"] {
        min-height: 480px;
        height: auto;
    }

    .profile-card[data-state="#contact-lia"],
    .profile-card[data-state="#contact-rick"],
    .profile-card[data-state="#contact-hugo"] {
        min-height: 440px;
        height: auto;
    }

    .profile-card[data-state="#experience-lia"],
    .profile-card[data-state="#experience-rick"],
    .profile-card[data-state="#experience-hugo"] {
        min-height: 560px;
        height: auto;
        max-height: none;
    }

    .profile-card-avatar {
        width: 80px;
        height: 80px;
    }

    .profile-card-fullname {
        font-size: 18px;
        font-weight: 900;
    }

    .profile-card-jobtitle {
        font-size: 10px;
    }

    .profile-card-buttons button {
        font-size: 10px;
        padding: 10px 2px;
        font-weight: 900;
    }

    .profile-card-social {
        gap: 5px;
        margin-bottom: 15px;
    }

    .profile-card-social a {
        width: 30px;
        height: 30px;
    }

    .profile-card-social svg {
        width: 16px;
        height: 16px;
    }

    .profile-card-subtitle {
        font-size: 12px;
        font-weight: 900;
    }

    .profile-card-item-title {
        font-size: 13px;
        font-weight: 700;
    }

    .profile-card-content {
        padding: 12px 15px;
    }

    .media-logo {
        height: 25px;
    }

    .experience-item {
        padding: 8px 10px;
    }

    .media-logos {
        gap: 10px;
        margin-top: 8px;
        padding: 4px 0;
    }

    .profile-card-experience-list {
        gap: 12px;
        margin-top: 12px;
        margin-bottom: 15px;
    }
}

/*-- FIN ESTILOS PROFILE CARDS EQUIPO --*/

/*-- ESTILOS FOOTER--*/
.footer {
    color: #fff;
    width: 100%;
    font-family: "Oswald", sans-serif;
    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 --*/
/* Transición suave para cambios de idioma */
[data-translate] {
    transition: font-size 0.2s ease, line-height 0.2s ease;
}

/* Estilos para elemento de idioma deshabilitado */
#languageDropdown a.disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    color: #6c757d !important;
}


/* Clases para ajustar el tamaño de texto según el idioma */
.lang-jpn .about-header-text {
    left: 40%;
}

/* 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;
    font-family: "Roboto", sans-serif !important;
    font-weight: 400 !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 */
body.lang-jpn .about-header-text h1 {
    font-size: 2rem;
    line-height: 2.2;
}

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

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

/* Ajustes de posición para about-header-text según idioma */
.lang-eng .about-header-text {
    left: 32%;
}

/* Ajustes de posición para iconos de valores según idioma */
.lang-eng .responsabilidad-icon {
    right: -47px;
}

.lang-eng .honestidad-icon {
    right: -25px;
}

.lang-jpn .responsabilidad-icon {
    right: -20px;
}

.lang-jpn .honestidad-icon {
    right: -35px;
}


.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;
    font-family: "Roboto", sans-serif !important;
    font-weight: 400 !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: 1.2rem;
    }

    .section-title h1 {
        font-size: 2rem;
    }

    .lang-eng .about-header-text {
        left: 23%;
    }

    .lang-eng .responsabilidad-icon {
        right: -40px;
    }

    .lang-eng .honestidad-icon {
        right: -20px;
    }

    .lang-jpn .responsabilidad-icon {
        right: -15px;
    }

    .lang-jpn .honestidad-icon {
        right: -30px;
    }

    body.lang-jpn .about-header-text h1 {
        font-size: 2rem;
        line-height: 2.2;
    }
}

@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;
    }

    .section-title h1 {
        font-size: 1.8rem !important;
    }

    .lang-eng .about-header-text {
        left: 7%;
    }

    .lang-eng .responsabilidad-icon {
        right: -39px;
    }

    .lang-eng .honestidad-icon {
        right: -5px;
    }

    .lang-jpn .responsabilidad-icon {
        right: -10px;
    }

    .lang-jpn .honestidad-icon {
        right: -4px;
    }

    body.lang-jpn .about-header-text h1 {
        font-size: 1.2rem;
        line-height: 2.2;
    }
}


/*-- 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: "Oswald", sans-serif;
    position: absolute;
    top: 69%;
    left: 32%;
    transform: translate(-50%, -50%);
    color: rgba(255, 255, 255, 0.9);
    text-align: center;
    z-index: 2;
}

/*--------ESTILOS CARD HTML--------*/
.card-container {
    padding-top: 3.125rem;
    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-family: "Oswald", sans-serif;
    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;
    }
}

/*------------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: 3rem;
}

.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: "Oswald", sans-serif;
    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-family: "Oswald", sans-serif;
    font-size: 2rem;
    margin-bottom: 15px;
    color: white;
    /* Color del título */
}

.mision-card p,
.vision-card p {
    font-family: "Oswald", sans-serif;
    font-weight: 300;
    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: "Oswald", sans-serif;
    font-size: 5rem;
}

.text-left p {
    font-family: "Oswald", sans-serif;
    font-size: 2.3rem;
    margin: 5px 0;
}

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

.text-right ul {
    font-family: "Oswald", sans-serif;
    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: "Oswald", sans-serif;
    font-size: 3rem;
    color: #2c2c54;
    margin-top: 24px;
}

.pricing-card .price {
    font-family: "Oswald", sans-serif;
    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: "Oswald", sans-serif;
    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;
}

/* Estilos responsivos específicos para pricing-cards en tablets */
@media (min-width: 768px) and (max-width: 1024px) {
    .pricing-card {
        width: 100%;
        max-width: 400px;
        margin: 20px auto;
    }

    /* Ajustes de tipografía para pricing-cards en tablets */
    .pricing-card h2 {
        font-size: 2rem;
    }

    #empresas-medianas h2 {
        font-size: 2rem;
    }

    #empresas-grandes h2 {
        font-size: 2.3rem;
    }

    .pricing-card .price {
        font-size: 2.3rem;
    }

    #empresas-grandes .price {
        font-size: 2rem;
    }

    .pricing-card .cta-button {
        font-size: 2rem;
    }

    #empresas-grandes .cta-button {
        font-size: 2rem;
    }
}

@media (min-width: 769px) and (max-width: 993px) {
    .pricing-card {
        width: 100%;
        max-width: 420px;
        margin: 30px auto;
    }

    /* Ajustes de tipografía para pricing-cards en tablets grandes */
    .pricing-card h2 {
        font-size: 2rem;
    }

    #empresas-medianas h2 {
        font-size: 2rem;
    }

    #empresas-grandes h2 {
        font-size: 2.3rem;
    }

    .pricing-card .price {
        font-size: 2.3rem;
    }

    #empresas-grandes .price {
        font-size: 2rem;
    }

    .pricing-card .cta-button {
        font-size: 2rem;
    }

    #empresas-grandes .cta-button {
        font-size: 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;
    vertical-align: middle;
}

/* Estilos sutiles para resaltar el hosting */
.pricing-card ul li.d-flex.hosting-highlight {
    background: rgba(196, 156, 60, 0.14);
    border-radius: 6px;
    padding: 8px 0px 8px 15px;
    border-left: 3px solid #C49C3C;
    margin-bottom: 8px;
    transition: all 0.3s ease;
}

.pricing-card ul li.d-flex.hosting-highlight:hover {
    background: rgba(196, 156, 60, 0.20);
    transform: translateX(2px);
}

.pricing-card ul li.d-flex.hosting-highlight .feature-text-container {
    padding-right: 15px;
}

.pricing-card ul li.d-flex.hosting-highlight img[class*="icon-check"] {
    margin-right: 0;
    padding-right: 15px;
}

.pricing-card ul li.d-flex.hosting-highlight .hosting-text {
    font-weight: 800;
    color: #1f2333;
    font-size: 20px;
    letter-spacing: 0.3px;
}

/* Estilos para resaltar el hosting en listas de features */
.features-list li.hosting-highlight {
    background: rgba(196, 156, 60, 0.14);
    border-radius: 6px;
    padding: 12px 15px;
    border-left: 3px solid #C49C3C;
    margin-bottom: 8px;
    transition: all 0.3s ease;
    font-weight: 800;
    color: #1f2333;
    list-style: none;
}

.features-list li.hosting-highlight:hover {
    background: rgba(196, 156, 60, 0.20);
    transform: translateX(2px);
}

/* 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;
    }

    .pricing-card ul li.d-flex.hosting-highlight {
        padding: 6px 0px 6px 12px;
    }

    .pricing-card ul li.d-flex.hosting-highlight .feature-text-container {
        padding-right: 12px;
    }

    .pricing-card ul li.d-flex.hosting-highlight img[class*="icon-check"] {
        padding-right: 10px;
    }

    .pricing-card ul li.d-flex.hosting-highlight .hosting-text {
        font-size: 15px;
    }
}

/*--------PORTAFOLIO WEB--------*/
.a-color {
    color: #000;
}

.portafolio-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    text-align: center;
    font-family: "Oswald", sans-serif;
    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: 35px !important;
        left: 25vh !important;
    }

    .lang-eng .clientes-hover.active .flag-venezuela {
        top: 81px !important;
        left: 29vh !important;
    }

    .lang-eng .clientes-hover.active .flag-mexico {
        top: 38px !important;
        left: -7vh !important;
    }

    .lang-eng .clientes-hover.active .flag-japan {
        top: 84px !important;
        left: -10vh !important;
    }

    .lang-eng .clientes-hover.active .flag-esp {
        top: -8px !important;
        left: -3vh !important;
    }

    .lang-eng .clientes-hover.active .flag-arg {
        top: -50px !important;
        left: 2vh !important;
    }

    .lang-eng .clientes-hover.active .flag-brazil {
        top: -91px !important;
        left: 6vh !important;
    }

    .lang-eng .clientes-hover.active .flag-australia {
        top: -6px !important;
        left: 21vh !important;
    }

    .lang-eng .clientes-hover.active .flag-italia {
        top: -49px !important;
        left: 17vh !important;
    }

    .lang-eng .clientes-hover.active .flag-canada {
        top: -93px !important;
        left: 13vh !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: -88px !important;
        left: 66px !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;
    }

    .lang-jpn .clientes-hover.active .flag-canada {
        top: -89px !important;
        left: 18vh !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: -79px;
    left: 16vh;
}

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

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

.lang-jpn .clientes-hover.active .flag-canada {
    top: -80px;
    left: 23vh;
}

/* 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: "Oswald", sans-serif;
    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 */
    }

    .service-card .card-title {
        margin-top: 0px;
        margin-left: 0rem;
        font-size: 1.8rem;
    }

    .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: -2px;
    }

    .honestidad-icon {
        width: 100px;
        /* Reduce el tamaño de los íconos */
        margin: 0 auto;
        /* Centra los íconos */
        right: -19px;
    }

    .responsabilidad-icon {
        position: relative;
        /* Permite ajustar la posición del icono */
        right: -56px;
        /* 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: 2rem;
    }

    .text-left p {
        text-align: center;
        padding-left: 0px;
        font-size: 1.3rem;
    }

    .text-left h2 {
        text-align: center;
        padding-left: 0px;
        font-size: 2rem;
    }

    .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: 1.5rem;
        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: 1.7rem;
    }

    #empresas-medianas h2 {
        font-size: 2rem;
    }

    #empresas-medianas .icon-check {
        margin-left: 24px;
    }

    #empresas-grandes {
        width: 100%;
    }

    #empresas-grandes .price {
        font-size: 1.7rem;
    }

    #empresas-grandes h2 {
        font-size: 1.7rem;
    }

    #empresas-medianas h2 {
        font-size: 1.7rem;
    }

    #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.3rem;
        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: 62%;
        left: 19%;
        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: 2rem;
        /* Aumenta ligeramente el tamaño de los títulos */
        text-align: center;
    }

    .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 (hasta 1023px) - Ajustes de navbar para idiomas */
@media (max-width: 1023px) {

    /* 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: 1em !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.90em !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: 15px !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;
    }

    /* Ajustes específicos para about-header-text en 1024px */
    .about-header-text {
        top: 69%;
        left: 22%;
    }
}

/* 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;
}

body.dark-mode .pricing-card ul li.d-flex.hosting-highlight {
    background: rgba(196, 156, 60, 0.22);
    border-left-color: #C49C3C;
}

body.dark-mode .pricing-card ul li.d-flex.hosting-highlight:hover {
    background: rgba(196, 156, 60, 0.30);
}

body.dark-mode .pricing-card ul li.d-flex.hosting-highlight .hosting-text {
    color: #DAA520;
}

/* Estilos para resaltar el hosting en listas de features - modo oscuro */
body.dark-mode .features-list li.hosting-highlight {
    background: rgba(196, 156, 60, 0.22);
    border-left-color: #C49C3C;
    color: #DAA520;
}

body.dark-mode .features-list li.hosting-highlight:hover {
    background: rgba(196, 156, 60, 0.30);
}

/* 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):not(.btn-follow) {
    color: #C49C3C;
}

/* 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;
    font-family: "Oswald", sans-serif;
    font-weight: 400 !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;
}

/* Estilos modo oscuro para profile cards del equipo */
body.dark-mode .profile-card {
    background: #2a2a2a;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

body.dark-mode .profile-card-fullname {
    color: #ffffff;
}

body.dark-mode .profile-card-jobtitle {
    color: #C49C3C;
}

body.dark-mode .profile-card-subtitle {
    color: #ffffff;
}

body.dark-mode .profile-card-desc {
    color: #cccccc;
}

body.dark-mode .profile-card-social {
    background: transparent;
}

body.dark-mode .profile-card-social a {
    background-color: rgba(196, 156, 60, 0.2);
    border-color: rgba(196, 156, 60, 0.3);
}

/* Fondos específicos para modo oscuro */
body.dark-mode .profile-card-social .social-tiktok {
    background-color: rgba(255, 255, 255, 0.4);
}

body.dark-mode .profile-card-social .social-instagram {
    background-color: rgba(228, 64, 95, 0.3);
}

body.dark-mode .profile-card-social .social-facebook {
    background-color: rgba(24, 119, 242, 0.3);
}

body.dark-mode .profile-card-social .social-whatsapp {
    background-color: rgba(37, 211, 102, 0.3);
}

body.dark-mode .profile-card-social .social-website {
    background-color: rgba(99, 102, 241, 0.3);
}

body.dark-mode .profile-card-social a:hover {
    background-color: #C49C3C;
    box-shadow: 0 5px 15px rgba(196, 156, 60, 0.4);
}

/* Hovers específicos para modo oscuro */
body.dark-mode .profile-card-social .social-tiktok:hover {
    background-color: #000000;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.4);
}

body.dark-mode .profile-card-social .social-instagram:hover {
    background-color: #E4405F;
    box-shadow: 0 5px 15px rgba(228, 64, 95, 0.4);
}

body.dark-mode .profile-card-social .social-facebook:hover {
    background-color: #1877F2;
    box-shadow: 0 5px 15px rgba(24, 119, 242, 0.4);
}

body.dark-mode .profile-card-social .social-whatsapp:hover {
    background-color: #25D366;
    box-shadow: 0 5px 15px rgba(37, 211, 102, 0.4);
}

body.dark-mode .profile-card-social .social-website:hover {
    background-color: rgba(99, 102, 241, 0.1) !important;
    transform: scale(1.2);
    transition: transform 0.3s ease;
    box-shadow: none !important;
}

body.dark-mode .profile-card-social .social-website:hover svg {
    fill: #ffffff !important;
    stroke: none !important;
}

body.dark-mode .profile-card-buttons {
    background-color: #2a2a2a;
    border-top: 1px solid #444;
}

body.dark-mode .profile-card-buttons button {
    color: #cccccc;
}

body.dark-mode .profile-card-buttons button.is-active,
body.dark-mode .profile-card-buttons button:hover {
    color: #ffffff;
    border-bottom: 3px solid #C49C3C;
    background: linear-gradient(to bottom, rgba(196, 156, 60, 0) 0%, rgba(196, 156, 60, 0.3) 44%, rgba(196, 156, 60, 0.5) 100%);
}

body.dark-mode .profile-card-item-title {
    color: #ffffff;
}

body.dark-mode .profile-card-item-title span {
    color: #C49C3C;
}

body.dark-mode .profile-card-item-desc {
    color: #cccccc;
}

body.dark-mode .profile-card-contact {
    color: #cccccc;
}

body.dark-mode .profile-card-contact svg {
    stroke: #C49C3C;
    border-right-color: #555;
}

body.dark-mode .profile-contact-me {
    background: linear-gradient(to right, rgba(196, 156, 60, 0.9) 0%, rgba(28, 31, 61, 0.9) 96%);
}

body.dark-mode .profile-contact-me:hover {
    box-shadow: 0 6px 12px rgba(196, 156, 60, 0.4);
}

/* Estilos para la lista de experiencias en modo oscuro */
body.dark-mode .experience-item {
    background: rgba(196, 156, 60, 0.1);
    border-left-color: #C49C3C;
}

body.dark-mode .experience-item h4 {
    color: #ffffff;
}

body.dark-mode .experience-item p {
    color: #cccccc;
}

body.dark-mode .media-logo {
    filter: brightness(1.1) grayscale(10%);
}

body.dark-mode .media-logo:hover {
    filter: brightness(1.2) grayscale(0%);
}

/* Dark mode para tech badges */
body.dark-mode .tech-badge-hgcard {
    background: linear-gradient(135deg, #23379a 0%, #09133c 100%);
}

body.dark-mode .tech-badge-hgcard:hover {
    background: linear-gradient(135deg, #b8902e 0%, #C49C3C 100%);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(196, 156, 60, 0.3);
}

/* Dark mode para iconos de Git y GitHub */
body.dark-mode .github-icon {
    filter: brightness(0) invert(1);
}

body.dark-mode .github-icon path {
    fill: #ffffff !important;
}

/* Dark mode para npm/pnpm/yarn */
body.dark-mode .npm-yarn-img {
    filter: brightness(1.3) contrast(1.2);
}

/* Dark mode para english icon */
body.dark-mode .english-icon {
    filter: brightness(1.1);
}

/* 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;
    }
}

/* ================================================= */
/* === ESTILOS PARA HOVER DE PAQUETES DE SERVICIOS EN CAROUSEL === */
/* ================================================= */

/* Contenedor principal de la tarjeta de paquete */
.package-card {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    cursor: pointer;
    transition: transform 0.3s ease;
}

/* Efecto de elevación al hacer hover */
.package-card:hover {
    transform: translateY(-5px);
}

/* Imagen del paquete */
.package-image {
    width: 100%;
    display: block;
    transition: transform 0.3s ease;
}

/* Overlay con gradiente para el texto */
.package-overlay {
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.9));
    color: white;
    padding: 20px;
    transform: translateY(0);
    /* Siempre visible */
    transition: transform 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

/* Zoom sutil de la imagen al hacer hover */
.package-card:hover .package-image {
    transform: scale(1.05);
}

/* Estilos del título en el overlay */
.package-text h4 {
    font-family: "Oswald", sans-serif;
    color: #fff;
    font-size: 2rem;
    margin: 0;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

/* === RESPONSIVE DESIGN PARA PAQUETES === */

/* Tablets y pantallas medianas */
@media (max-width: 768px) {
    .package-text h4 {
        font-size: 1.3rem;
    }

    .package-overlay {
        padding: 15px;
    }
}

/* Móviles pequeños */
@media (max-width: 480px) {
    .package-text h4 {
        font-size: 1.3rem;
    }

    .package-overlay {
        padding: 12px;
    }

    .package-card:hover {
        transform: translateY(-3px);
    }
}

/* === BOTÓN SCROLL TO TOP === */
.scroll-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 55px;
    height: 55px;
    background: linear-gradient(45deg, #C49C3C, #D4AF47);
    color: white;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    box-shadow: 0 4px 15px rgba(196, 156, 60, 0.3);
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
}

.scroll-to-top.show {
    opacity: 1;
    visibility: visible;
}

/* Cuando el botón está en el footer */
.scroll-to-top.in-footer {
    position: absolute;
    top: 10px;
    right: 30px;
}

.scroll-to-top:hover {
    background: linear-gradient(45deg, #D4AF47, #E6C76B);
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(196, 156, 60, 0.4);
}

/* Hover especial cuando está en el footer */
.scroll-to-top.in-footer:hover {
    transform: translateY(-3px);
}

.scroll-to-top:active {
    transform: translateY(-1px);
}

/* Contenedor especial para el footer que permitirá posicionamiento relativo */
.footer {
    position: relative;
}

/* Responsive para el botón */
@media (max-width: 768px) {
    .scroll-to-top {
        width: 50px;
        height: 50px;
        bottom: 20px;
        right: 20px;
        font-size: 20px;
    }

    .scroll-to-top.in-footer {
        top: 15px;
        right: 20px;
    }
}

@media (max-width: 480px) {
    .scroll-to-top {
        width: 45px;
        height: 45px;
        bottom: 15px;
        right: 15px;
        font-size: 18px;
    }

    .scroll-to-top.in-footer {
        top: 20px;
        right: 15px;
    }
}

/* === ESTILOS PERSONALIZADOS PARA BOTÓN PORTAFOLIO === */
.btn-portfolio {
    background: #1C1F3D;
    color: #ffffff;
    border: none;
    border-radius: 10px;
    font-family: "Oswald", sans-serif;
    font-size: 1.5rem;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 10px 30px;
    box-shadow: 0 4px 15px rgba(28, 31, 61, 0.3);
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    position: relative;
    overflow: hidden;
}

.btn-portfolio::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: #C49C3C;
    transition: left 0.5s ease;
    z-index: 0;
}

.btn-portfolio span {
    position: relative;
    z-index: 1;
    color: #ffffff;
}

.btn-portfolio:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(28, 31, 61, 0.4);
    background: #1C1F3D;
}

.btn-portfolio:hover::before {
    left: 0;
}

.btn-portfolio:active {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(28, 31, 61, 0.3);
    background: #1C1F3D;
}

.btn-portfolio:focus {
    background: #1C1F3D;
    outline: none;
    box-shadow: 0 4px 15px rgba(28, 31, 61, 0.5);
}

/* Efecto de pulso sutil */
.btn-portfolio {
    animation: subtle-pulse 3s infinite;
}

@keyframes subtle-pulse {

    0%,
    100% {
        box-shadow: 0 4px 15px rgba(28, 31, 61, 0.3);
    }

    50% {
        box-shadow: 0 4px 20px rgba(28, 31, 61, 0.4);
    }
}

/* Responsive para el botón portafolio */
@media (max-width: 768px) {
    .btn-portfolio {
        font-size: 1.3rem;
        padding: 8px 25px;
        border-radius: 8px;
    }
}

@media (max-width: 576px) {
    .btn-portfolio {
        font-size: 1.2rem;
        padding: 8px 20px;
        border-radius: 8px;
        letter-spacing: 0.5px;
    }
}

/* Estilos para idiomas */
.lang-jpn .btn-portfolio {
    font-size: 1.2rem;
}

.lang-jpn .btn-portfolio span {
    line-height: 1.2;
    color: #ffffff;
}

@media (max-width: 768px) {
    .lang-jpn .btn-portfolio {
        font-size: 1.1rem;
    }
}

@media (max-width: 576px) {
    .lang-jpn .btn-portfolio {
        font-size: 1rem;
    }
}