*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Lora', serif;
}

html{
    height: 100%;
    margin: 0;
}

/*Cuerpo de Pagina*/
body{
    min-height: 100vh;
    display: flex;
    justify-content: center;
    padding: 0;
    background-color: #f2f2f2;
    background-image: url(img/Cotizacion/f.png);
    flex-direction: column;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    text-align: center;
}

/* HEADER */
header{
    position:fixed;
    top:20px;
    left:50%;
    transform:translateX(-50%);
    width:95%;
    padding:10px 30px;
    border-radius:15px;
    z-index:1000;

    background:linear-gradient(
        80deg,
        #000000 -10%,
        #000000 10%,
        #C00000 70%,
        #d60202 99%
    );

    backdrop-filter:blur(10px);
}

/* NAVEGACIÓN */
nav{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

/* LOGO */
.logo-area{
    display:flex;
    align-items:center;
    gap:20px;
}

.logo-area img{
    height:85px;
    width:auto;
    object-fit:contain;
    display:block;
}

.logo-area a{
    color:#d9d9d9;
    text-decoration:none;
    font-size:15px;
    transition:.3s;
}

.logo-area a:hover{
    color:#ffffff;
}

/* MENÚ */

.nav-links{
    list-style:none;
    display:flex;
    align-items:center;
    gap:25px;
}

.nav-links li{
    list-style:none;
}

.nav-links a{
    color:#fff;
    text-decoration:none;
    font-size:20px;
    font-weight:bold;
    transition:.3s;
}

.nav-links a:hover{
    color: #bbb5b5;
}

.nav-links a.active{
    color:#bbb5b5;
}

/* BOTÓN CARRITO */
.nav-links button{

    background:#ff0000;
    border:none;
    padding:10px 22px;
    border-radius:10px;
    cursor:pointer;

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

    transition:.3s;
}

.nav-links button:hover{

    background:#d60000;

}

.nav-links button a{

    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;

}

.seccion{
    width:90%;
    background:white;
    padding:70px 3%;
    margin: 160px auto 40px auto;
    border-radius: 20px;
    flex: 1;
}

/* ===== COTIZACIÓN ===== */
.cotizacion{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:50px;
    flex-wrap:wrap;
    margin-bottom:100px;

}

.formulario-cotizacion{
    width:600px;
    background:#ff1d1d;
    border-radius:25px;
    padding:30px;
    color:white;
    box-shadow:0 10px 30px rgba(0,0,0,0.20);
}

.formulario-cotizacion h1{
    text-align:center;
    margin-bottom:25px;
    font-size:50px;
}

form{
    display:flex;
    flex-direction:column;
}

label{
    margin-top:12px;
    margin-bottom:6px;
    font-size:15px;
}

input,
textarea,
select{
    width:100%;
    padding:14px;
    border:none;
    border-radius:20px;
    outline:none;
    font-size:15px;
}

.select-container{
    position:relative;
    width:100%;
}

.select-container select{
    width:100%;
    padding:14px 50px 14px 14px;
    border:none;
    border-radius:20px;
    outline:none;
    font-size:15px;
    background:white;
    color:#333;
    cursor:pointer;

    appearance:none;
    -webkit-appearance:none;
    -moz-appearance:none;

    transition:0.3s ease;
}

.select-container select:hover{
    box-shadow:0 0 0 3px rgba(0,31,92,0.15);
}

.select-container select:focus{
    box-shadow:0 0 0 3px rgba(0,31,92,0.25);
}

.flecha{
    position:absolute;
    right:20px;
    top:50%;
    transform:translateY(-50%);
    color:#001f5c;
    font-size:18px;
    pointer-events:none;
    transition:transform 0.3s ease;
}

.select-container.activo .flecha{
    transform:translateY(-50%) rotate(180deg);
}


textarea{
    height:100px;
    resize:none;
}

/* ===== BOTONES ===== */
.opciones{
    display:flex;
    flex-wrap:wrap;
    gap:15px;
    margin-top:15px;
}

.opciones button{
    background:white;
    border:none;
    border-radius:30px;
    padding:12px 20px;
    cursor:pointer;
    font-size:15px;
    font-weight:bold;
    color:#001f5c;
    transition:0.3s ease;
    box-shadow:0 4px 10px rgba(0,0,0,0.15);
}

.opciones button:hover{
    background:#001f5c;
    color:white;
    transform:translateY(-3px);
}

.opciones button.activo{
    background:#001f5c;
    color:white;
}

/* ===== BOTÓN ENVIAR ===== */

.enviar{
    margin-top:25px;
    width:160px;
    padding:14px;
    border:none;
    border-radius:12px;
    background:#001f5c;
    color:white;
    font-size:18px;
    cursor:pointer;
    transition:.3s;
}

.enviar:hover{
    background:#003399;
}

/* ===== TEXTO ===== */

.info{
    flex:1;
    min-width:300px;
}

.info h2{
    text-align:center;
    font-size:75px;
    color:#001f5c;
    line-height:1.1;
    margin-bottom:35px;
}

.info p{
    text-align:center;
    font-size:32px;
    color:#444;
    line-height:1.5;
}

.contenido-extra{
    display:flex;
    justify-content:center;
    margin-top:45px;
}

.contenido-extra img{
    width:520px;
    height:330px;
    object-fit:cover;
    border-radius:15px;
    box-shadow:0 10px 25px rgba(0,0,0,0.20);
}

/* ===== CONTACTO ===== */
.contacto{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:70px;
    flex-wrap:wrap;
    margin-top:100px;
}

.contacto-texto{
    flex:1;
}

.contacto-texto h1{
    font-size:70px;
    color:#07174a;
    margin-bottom:35px;
}

.contacto-texto p{
    font-size:28px;
    color:#4d4d4d;
    line-height:1.6;
    margin-bottom:40px;
}

.contacto-texto img{
    width:100%;
    max-width:650px;
    border-radius:10px;
    box-shadow:0 10px 25px rgba(0,0,0,0.18);
}

/* ===== FORMULARIO CONTACTO ===== */
.formulario-contacto{
    width:500px;
    background:#0c1d5b;
    padding:40px;
    border-radius:25px;
    box-shadow:0 10px 30px rgba(0,0,0,0.20);
}

.formulario-contacto h2{
    color:white;
    font-size:55px;
    margin-bottom:30px;
}

.formulario-contacto label{
    color:white;
}

.formulario-contacto button{
    width:160px;
    margin-top:25px;
    padding:14px;
    border:none;
    border-radius:12px;
    background:#ff1f3d;
    color:white;
    font-size:18px;
    cursor:pointer;
    transition:.3s;
}

.formulario-contacto button:hover{
    background:#ff4a63;
}

/* ===== UBICACIÓN ===== */

.ubicacion{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:80px;
    flex-wrap:wrap;
    margin-top:100px;
}

.mapa{
    flex:1;
}

.ubicacion-texto{
    flex:1;
}

.ubicacion-texto h2{
    font-size:70px;
    color:#07174a;
    line-height:1.1;
    margin-bottom:40px;
}

.ubicacion-texto p{
    font-size:30px;
    color:#444;
    line-height:1.7;
}

/* ===== INFO CONTACTO ===== */
.info-contacto{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:25px;
    margin:50px auto;
    text-align:center;
}

.item-contacto{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    width:100%;
}

.icono{
    font-size:28px;
}

.item-contacto p{
    font-size:20px;
    color:#1d2b5c;
    margin:0;
}

.item-contacto strong{
    font-weight:bold;
}
/* ===== CARRUSEL ===== */
.carousele{
    width:100%;
    overflow:hidden;
    position:relative;
    padding:20px 0;
}

.group{
    display:flex;
    width:max-content;
    animation:scroll 60s linear infinite;
}

.card{
    flex:0 0 auto;
    margin-right:25px;
    border-radius:20px;
}

.card img{
    width:320px;
    height:220px;
    object-fit:cover;
    display:block;
    border-radius:20px;
}
/* ===========ANIMACIÓN=========== */
@keyframes scroll{
    from{
        transform:translateX(0);
    }

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

}

/* ===== RESPONSIVE ===== */
@media(max-width:1000px){

    .cotizacion,
    .contacto,
    .ubicacion{
        flex-direction:column;
        gap:50px;
    }

    .formulario-cotizacion,
    .formulario-contacto{
        width:100%;
        max-width:700px;
    }

    .info,
    .contacto-texto,
    .ubicacion-texto{
        width:100%;
    }

    .info h2,
    .contacto-texto h1,
    .ubicacion-texto h2{
        font-size:42px;
    }

    .info p,
    .contacto-texto p,
    .ubicacion-texto p{
        font-size:20px;
    }

    .contenido-extra img,
    .contacto-texto img{
        width:100%;
        height:auto;
    }

}

/* ===== TABLETS ===== */

@media(max-width:768px){

    body{
        padding:20px 0;
        background-attachment:scroll;
    }

    .seccion{
        width:95%;
        padding:25px 15px;
    }

    /* ===== CONTENEDORES ===== */

    .cotizacion,
    .contacto,
    .ubicacion{
        gap:40px;
        margin-top:60px;
        margin-bottom:60px;
    }

    /* ===== FORMULARIOS ===== */

    .formulario-cotizacion,
    .formulario-contacto{
        width:100%;
        max-width:100%;
        padding:25px 20px;
        border-radius:20px;
    }

    .formulario-cotizacion h1,
    .formulario-contacto h2{
        font-size:38px;
        margin-bottom:20px;
    }

    form{
        gap:5px;
    }

    label{
        font-size:14px;
        margin-top:10px;
    }

    input,
    textarea,
    select{
        width:100%;
        padding:14px;
        font-size:16px;
        border-radius:15px;
        -webkit-appearance:none;
        appearance:none;
    }

    textarea{
        height:120px;
    }

    /* ===== SELECT ===== */

    .select-container select{
        padding:14px 45px 14px 14px;
        font-size:16px;
    }

    .flecha{
        right:15px;
        font-size:16px;
    }

    /* ===== BOTONES OPCIONES ===== */

    .opciones{
        flex-direction:column;
        gap:12px;
    }

    .opciones button{
        width:100%;
        padding:14px;
        font-size:15px;
    }

    /* ===== BOTONES ===== */

    .enviar,
    .formulario-contacto button{
        width:100%;
        padding:15px;
        font-size:17px;
    }

    /* ===== TEXTOS ===== */

    .info h2,
    .contacto-texto h1,
    .ubicacion-texto h2{
        font-size:34px;
        line-height:1.2;
        margin-bottom:20px;
    }

    .info p,
    .contacto-texto p,
    .ubicacion-texto p{
        font-size:18px;
        line-height:1.6;
    }

    /* ===== IMÁGENES ===== */

    .contenido-extra{
        margin-top:30px;
    }

    .contenido-extra img,
    .contacto-texto img{
        width:100%;
        max-width:100%;
        height:auto;
        border-radius:12px;
    }

    /* ===== MAPA ===== */

    iframe{
        height:320px;
    }

    /* ===== INFO CONTACTO ===== */

    .info-contacto{
        gap:18px;
        margin-top:30px;
    }

    .item-contacto{
        flex-direction:column;
        gap:8px;
    }

    .icono{
        font-size:24px;
    }

    .item-contacto p{
        font-size:17px;
        line-height:1.5;
    }

    /* ===== CARRUSEL ===== */

    .carousele{
        margin-top:60px;
        padding:10px 0;
    }

    .group{
        animation:scroll 20s linear infinite;
        will-change:transform;
    }

    .card{
        margin-right:15px;
        border-radius:15px;
    }

    .card img{
        width:240px;
        height:170px;
        border-radius:15px;
    }

}

/* ===== CELULARES ===== */

@media(max-width:480px){

    body{
        padding:15px 0;
    }

    .seccion{
        width:96%;
        padding:20px 12px;
    }

    /* ===== TITULOS ===== */

    .formulario-cotizacion h1,
    .formulario-contacto h2{
        font-size:30px;
    }

    .info h2,
    .contacto-texto h1,
    .ubicacion-texto h2{
        font-size:28px;
        margin-bottom:18px;
    }

    /* ===== TEXTOS ===== */

    .info p,
    .contacto-texto p,
    .ubicacion-texto p{
        font-size:16px;
        line-height:1.6;
    }

    label{
        font-size:13px;
    }

    /* ===== FORMULARIOS ===== */

    .formulario-cotizacion,
    .formulario-contacto{
        padding:22px 16px;
    }

    input,
    textarea,
    select{
        padding:13px;
        font-size:15px;
    }

    /* ===== BOTONES ===== */

    .opciones button{
        font-size:14px;
        padding:13px;
    }

    .enviar,
    .formulario-contacto button{
        font-size:16px;
        padding:14px;
    }

    /* ===== MAPA ===== */

    iframe{
        height:260px;
        border-width:4px !important;
    }

    /* ===== INFO CONTACTO ===== */

    .item-contacto p{
        font-size:15px;
    }

    .icono{
        font-size:22px;
    }

    /* ===== CARRUSEL ===== */

    .card img{
        width:200px;
        height:140px;
    }

}

/* ===== CELULARES MUY PEQUEÑOS ===== */

@media(max-width:360px){

    .info h2,
    .contacto-texto h1,
    .ubicacion-texto h2{
        font-size:24px;
    }

    .info p,
    .contacto-texto p,
    .ubicacion-texto p{
        font-size:15px;
    }

    .formulario-cotizacion h1,
    .formulario-contacto h2{
        font-size:26px;
    }

    .card img{
        width:170px;
        height:120px;
    }

    iframe{
        height:220px;
    }

}

/* ==========================================================================
   CÓDIGO RESPONSIVO EXCLUSIVO PARA HEADER Y FOOTER (PÁGINA DE COTIZACIÓN)
   ========================================================================== */

@media (max-width: 768px) {
    /* 1. CONTROL DE PÁGINA: Asegura que nada se salga por la derecha */
    html, body {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    /* 2. ADAPTACIÓN DEL HEADER (MENÚ SUPERIOR) */
    header {
        top: 10px !important;
        left: 50% !important;
        transform: translateX(-50%) !important; /* Centrado matemático infalible */
        width: 90% !important; /* Ancho estético para celulares */
        border-radius: 12px !important;
        padding: 10px !important;
        box-sizing: border-box !important;
    }

    nav {
        flex-direction: column !important;
        gap: 8px !important;
        width: 100% !important;
    }

    .logo-area {
        flex-direction: column !important;
        gap: 2px !important;
    }

    .logo-area img {
        height: 35px !important; /* Reduce el tamaño del logo para ganar espacio */
    }

    /* Enlaces acostados horizontalmente; bajan de renglón si no caben */
    .nav-links {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 6px 12px !important;
        width: 100% !important;
        padding: 0 !important;
    }
    
    .nav-links li, .nav-links a {
        font-size: 12px !important;
    }

    /* 3. ADAPTACIÓN DEL FOOTER (PIE DE PÁGINA) */
    footer {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding: 70px 0 25px 0 !important;
        margin-top: 40px !important; /* Separación estética del carrusel */
    }

    /* Distribución vertical limpia y centrada */
    .footer-content {
        flex-direction: column !important;
        align-items: center !important;
        gap: 25px !important;
        text-align: center !important;
        padding: 0 20px !important;
    }

    .footer-left {
        width: 100% !important;
        align-items: center !important; /* Centra los enlaces de aviso de privacidad */
    }

    .footer-right {
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important; /* Centra el botón blanco y correos */
    }

    .footer-right p {
        justify-content: center !important;
        text-align: center !important;
    }
    
    .menu-logos-horizontales{
        justify-content: center;
        flex-direction: row;
        grid-template-rows: auto;

    }
}

/* --- AJUSTES COMPACTOS EXCLUSIVOS PARA PANTALLAS CHICAS (MÁXIMO 480px) --- */
@media (max-width: 480px) {
    header {
        width: 92% !important;
        padding: 8px !important;
    }

    .logo-area img {
        height: 30px !important;
    }

    .nav-links {
        gap: 4px 10px !important;
    }

    .nav-links li, .nav-links a {
        font-size: 11px !important;
    }
}

/*====================================================
=                  RESPONSIVE                        =
====================================================*/

@media(max-width:992px){

    .card-principal,
    .card-secundaria{

        grid-template-columns:1fr;

        text-align:center;

    }

    .logo{

        order:-1;

    }

    .estadisticas{

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

    }

}

@media(max-width:600px){

    .card-inicio{

        padding:22px;

    }

    .estadisticas{

        grid-template-columns:1fr;

    }

    .item{

        justify-content:center;

        text-align:left;

    }

    .button{

        width:170px;

        height:225px;

        transform:none;

    }

    .button:hover{

        transform:scale(1.05);

    }

}

/*====================================================
=              MAPA Y CONTADORES                     =
====================================================*/

.contenedor3{
    width:95%;
    max-width:1400px;
    margin:40px auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px;
}

.mapa{
    flex:1;
    display:flex;
    justify-content:center;
}

.mapa img{
    width:100%;
    max-width:750px;
    height:auto;
}

.contadorr{
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
}

.contador,
.contador2,
.contador3{

    font-size:4rem;
    font-weight:bold;
    color:#111;
    line-height:1;
}

.contadorr p{

    font-family:Arial, Helvetica, sans-serif;
    font-size:16px;
    color:#555;
    margin-bottom:25px;
    text-align:right;

}

/*====================================================
=              BARRAS DE SECCIÓN                     =
====================================================*/

.barra_socios,
.barra_certificaciones{

    width:100%;
    background:#1a252f;
    padding:40px 0;
    text-align:center;

}

.barra_socios h1,
.barra_certificaciones h1{

    color:#fff;
    font-size:45px;

}

/*====================================================
=            CARRUSEL DE SOCIOS                      =
====================================================*/

.carrusel-seccion-s{

    width:100%;
    overflow:hidden;
    background:#fff;
    padding:35px 0;

}

.socios-track{

    display:flex;
    width:max-content;
    animation:scrollSocios 65s linear infinite;
    gap:45px;

}

.logo-item{

    width:170px;
    height:90px;

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

    flex-shrink:0;

}

.logo-item img{

    max-width:100%;
    max-height:70px;
    object-fit:contain;
    transition:.3s;

}

.logo-item img:hover{

    transform:scale(1.08);

}

/*====================================================
=       CARRUSEL CERTIFICACIONES                     =
====================================================*/

.carrusel-seccion-certificaciones{

    width:100%;
    overflow:hidden;
    background:#fff;
    padding:35px 0;

}

.carrusel-track{

    display:flex;
    width:max-content;
    animation:scrollCertificaciones 90s linear infinite;
    gap:40px;

}

/*====================================================
=                 ANIMACIONES                        =
====================================================*/

@keyframes scrollSocios{

    from{

        transform:translateX(0);

    }

    to{

        transform:translateX(-50%);

    }

}

@keyframes scrollCertificaciones{

    from{

        transform:translateX(0);

    }

    to{

        transform:translateX(-50%);

    }

}

/* Pausar al pasar el mouse */

.socios-track:hover,
.carrusel-track:hover{

    animation-play-state:paused;

}

/*====================================================
=                 RESPONSIVE                         =
====================================================*/

@media(max-width:900px){

    .contenedor3{

        flex-direction:column;

    }

    .contadorr{

        align-items:center;

    }

    .contador,
    .contador2,
    .contador3{

        font-size:3rem;

    }

    .contadorr p{

        text-align:center;

    }

    .btn-trabajo {
        position: relative;
        align-items: center;
    }

}

@media(max-width:768px){

    .barra_socios h1,
    .barra_certificaciones h1{

        font-size:32px;

    }

    .logo-item{

        width:120px;
        height:70px;

    }

    .logo-item img{

        max-height:45px;

    }

    .socios-track{

        gap:25px;
        animation-duration:45s;

    }

    .carrusel-track{

        gap:25px;
        animation-duration:60s;

    }
    .btn-trabajo {
        position: relative;
        align-items: center;
    }

}

/*====================================================
=                     FOOTER                         =
====================================================*/

footer{
    position:relative;
    top: 50px;
    background:linear-gradient(
        80deg,
        #000000 -10%,
        #000000 10%,
        #C00000 70%,
        #d60202 99%
    );
    color:#fff;
    padding:60px 5% 30px;
    font-family:'Lora', serif;
}

/* Contenido */

.footer-content{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px;
    flex-wrap:wrap;
}

/* Botón */

.btn-trabajo{
    position: absolute;
    align-items: center;
    width:220px;
    height:55px;
    border:none;
    border-radius:30px;
    background:#e40a0a;
    cursor:pointer;
    transition:.3s;
}

.btn-trabajo:hover{
    transform:translateY(-4px);
    box-shadow:0 12px 25px rgba(0,0,0,.25);
}

.btn-trabajo a{
    display:block;
    width:100%;
    color:#ffffff;
    text-decoration:none;
    font-size:20px;
    font-family:'Lora', serif;
    font-weight:bold;
}

/* Información */

.footer-right{
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:center;
}

.footer-right h2{
    font-size:17px;
    font-weight:normal;
    text-align:center;
}

.footer-right a{
    color:#ffffff;
    text-decoration:none;
    transition:.3s;
}

.footer-right a:hover{
    color:#ffd6d6;
}

.correo{

    margin-top:10px;

    font-size:17px;

}

/*==========================
        RESPONSIVE
===========================*/

@media(max-width:768px){

.footer-content{

    flex-direction:column;

    text-align:center;

}

.footer-left{

    width:100%;

}

.btn-trabajo{

    width:250px;
    align-items: center;

}

.footer-right{

    width:100%;

}

.footer-right h2{

    font-size:15px;

}

.correo{

    font-size:15px;

}

}

/*====================================================
=          MENÚ FLOTANTE REDES SOCIALES              =
====================================================*/

.social-menu{
    position:fixed;
    top:30%;
    left:5%;
    transform:translate(-50%,-50%);
    z-index:1000;
    cursor:grab;
    user-select:none;
}

.social-menu:active{
    cursor:grabbing;
}

/*==========================
      BOTÓN PRINCIPAL
===========================*/

.main-btn{
    width:65px;
    height:65px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    background:rgba(255,255,255,.12);
    backdrop-filter:blur(12px);
    border:1px solid rgba(255,255,255,.9);
    color:#ff0000;
    font-size:28px;
    box-shadow:0 6px 20px rgba(0,0,0,.25);
    transition:.3s;
}

.main-btn:hover{

    transform:scale(1.08);

}

.main-label{
    position:absolute;
    left:75px;
    top:50%;
    transform:translateY(-50%);
    padding:6px 12px;
    border-radius:6px;
    background:rgba(0,0,0,.85);
    color:#ffffff;
    font-size:13px;
    opacity:0;
    visibility:hidden;
    transition:.3s;
}

.main-btn:hover .main-label{

    opacity:1;
    visibility:visible;

}

/*==========================
      LISTA DE ICONOS
===========================*/

.social-items{
    position:absolute;
    top:50%;
    left:50%;
    width:280px;
    height:280px;
    transform:translate(-50%,-50%);
    list-style:none;
    opacity:0;
    visibility:hidden;
    transition:.4s;
}

.social-menu:hover .social-items{
    opacity:1;
    visibility:visible;
}

.social-item{
    position:fixed;
    width:55px;
    height:55px;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%) scale(0);
    transition:.4s;
}

.social-menu:hover .social-item{

    transform:translate(var(--x),var(--y)) scale(1);

}

/*==========================
      POSICIONES
===========================*/

.social-item:nth-child(1){

    --x:-110px;
    --y:-100px;

}

.social-item:nth-child(2){

    --x:40px;
    --y:-80px;

}

.social-item:nth-child(3){

    --x:-140px;
    --y:10px;

}

.social-item:nth-child(4){

    --x:70px;
    --y:20px;

}

.social-item:nth-child(5){

    --x:-80px;
    --y:120px;

}

.social-item:nth-child(6){

    --x:0;
    --y:60px;

}

/*==========================
      BOTONES
===========================*/

.social-link{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    text-decoration:none;
    color:#db0c0c;
    font-size:22px;
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.15);
    transition:.3s;
}

.social-link:hover{

    transform:scale(1.15);

}

/*==========================
      COLORES
===========================*/

.facebook:hover{

    background:#1877f2;

}

.instagram:hover{

    background:linear-gradient(
        45deg,
        #f09433,
        #e6683c,
        #dc2743,
        #cc2366,
        #bc1888
    );

}

.x:hover{

    background:#000;

}

.whatsapp:hover{

    background:#25d366;

}

.linkedin:hover{

    background:#0077b5;

}

.github:hover{

    background:#333;

}

/*==========================
      ETIQUETAS
===========================*/

.social-label{

    position:absolute;

    left:70px;
    top:50%;

    transform:translateY(-50%);

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

    color:#fff;

    padding:6px 12px;

    border-radius:6px;

    font-size:13px;

    opacity:0;
    visibility:hidden;

    transition:.3s;

}

.social-item:hover .social-label{

    opacity:1;
    visibility:visible;

}

/*==========================
      RESPONSIVE
===========================*/

@media(max-width:768px){

.main-btn{

    width:55px;
    height:55px;

    font-size:24px;

}

.social-item{

    width:48px;
    height:48px;

}

.social-link{

    font-size:20px;

}

.social-label{

    display:none;

}

}

/*====================================================
=              RESPONSIVE GENERAL                    =
====================================================*/

/* ---------- TABLETS ---------- */

@media (max-width:1024px){

header{

    width:96%;
    padding:12px 20px;

}

.logo-area img{

    height:70px;

}

.nav-links{

    gap:18px;

}

.nav-links a{

    font-size:18px;

}

.texto-fijo{

    padding-left:7%;
    padding-right:7%;

}

.texto-fijo h1{

    font-size:3rem;

}

.texto-fijo p{

    font-size:1.2rem;

}

.card-principal,
.card-secundaria{

    grid-template-columns:1fr;

}

.estadisticas{

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

}

.contenedor3{

    flex-direction:column;

    text-align:center;

}

.contadorr{

    align-items:center;

}

.footer-content{

    flex-direction:column;

}

}


/* ---------- CELULARES ---------- */

@media (max-width:768px){

header{

    top:10px;

    width:95%;

    padding:10px;

}

nav{

    flex-direction:column;

    gap:10px;

}

.logo-area{

    flex-direction:column;

    gap:8px;

}

.logo-area img{

    height:55px;

}

.logo-area a{

    font-size:13px;

}

.nav-links{

    width:100%;

    display:flex;

    flex-wrap:wrap;

    justify-content:center;

    gap:10px;

}

.nav-links a{

    font-size:15px;

}

.nav-links button{

    position:static;

    margin-top:8px;

}

/* Carrusel */

.carrusel,
.carrusel-imagen{

    height:100vh;

}

.texto-fijo{

    justify-content:center;

    align-items:center;

    text-align:center;

    padding:20px;

}

.texto-fijo h1{

    position:static;

    font-size:2.3rem;

    margin-bottom:20px;

}

.texto-fijo p{

    position:static;

    margin:0;

    font-size:1rem;

    text-align:center;

}

/* Tarjetas */

.card-inicio{

    padding:20px;

}

.estadisticas{

    grid-template-columns:1fr;

}

.item{

    justify-content:center;

}

/* Barras */

.barra_nosotros h1,
.barra_socios h1,
.barra_certificaciones h1{

    font-size:30px;

}

/* Logos */

.logo-item{

    width:120px;

}

.logo-item img{

    max-height:45px;

}

/* Footer */

.footer-right h2{

    font-size:15px;

}

.btn-trabajo{
    position: relative;
    width:220px;
    align-items: center;

}

/* Redes */

.social-menu{

    left:15px;

    top:75%;

    transform:none;

}

}


/* ---------- CELULARES PEQUEÑOS ---------- */

@media (max-width:480px){

header{

    border-radius:10px;

}

.logo-area img{

    height:45px;

}

.nav-links{

    gap:8px;

}

.nav-links a{

    font-size:13px;

}

.texto-fijo h1{

    font-size:1.9rem;

}

.texto-fijo p{

    font-size:.9rem;

}

.contador,
.contador2,
.contador3{

    font-size:2.4rem;

}

.logo-item{

    width:95px;

}

.logo-item img{

    max-height:38px;

}

.footer{

    padding:40px 20px;

}

.footer-right h2{
    align-items: center;
    font-size:13px;

}

.correo{
    font-size:13px;
}

}
/* --- IMAGEN FLOTANTE CIRCULAR --- */
        .floating-circle {
            position: fixed;
            top: 85%;
            right: 4%;
            width: clamp(60px, 9vw, 80px);
            height: clamp(60px, 9vw, 80px);
            border-radius: 50%;
            overflow: hidden;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
            cursor: move;
            z-index: 1000;
            transition: transform 0.2s ease, box-shadow 0.2s ease;
        }

        .floating-circle:hover {
            transform: scale(1.15);
            box-shadow: 0 6px 25px rgba(0, 0, 0, 0.45);
        }

        .floating-circle img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
        }

        .floating-circle a {
            display: block;
            width: 100%;
            height: 100%;
            pointer-events: auto;
        }

        /* --- TEXTO EMERGENTE INICIAL --- */
        .tooltip-initial {
            position: fixed;
            background: rgba(0, 0, 0, 0.8);
            color: white;
            padding: clamp(8px, 2vw, 12px) clamp(12px, 3vw, 18px);
            border-radius: 8px;
            font-size: clamp(0.9rem, 2vw, 1.1rem);
            z-index: 1002;
            opacity: 0;
            visibility: hidden;
            transition: opacity 0.5s ease, visibility 0.5s ease;
            /* Posición relativa al icono */
            right: calc(clamp(40px, 8vw, 70px) + clamp(15px, 3vw, 25px));
            top: 85%;
            white-space: nowrap; /* Evitar salto de línea */
        }

        /* Flecha del tooltip */
        .tooltip-initial::after {
            content: "";
            position: absolute;
            top: 50%;
            right: -10px;
            transform: translateY(-50%);
            border-width: 10px 0 10px 10px;
            border-style: solid;
            border-color: transparent transparent transparent rgba(0, 0, 0, 0.8);
        }

        /* Botón de cerrar */
        .tooltip-close {
            background: transparent;
            border: none;
            color: #ccc;
            font-size: 1.2rem;
            cursor: pointer;
            margin-left: 8px;
            transition: color 0.2s ease;
        }

        .tooltip-close:hover {
            color: white;
        }

        /* --- AJUSTES EN MÓVILES --- */
        @media (max-width: 480px) {
            .floating-circle {
                top: auto;
                bottom: 30px;
                right: 20px;
            }

            .tooltip-initial {
                top: auto;
                bottom: 30px;
                right: calc(clamp(40px, 8vw, 70px) + clamp(15px, 3vw, 25px));
            }

            .tooltip-initial::after {
                right: -10px;
                top: 50%;
            }
        }
