body {
    margin: 0;
    padding: 0;
    font-family: 'Lora',serif;
    background-color: white;
    color: black;
    max-width: 100%;
    overflow-x: hidden;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

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

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

/* 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 a {
    color: white;
    text-decoration: none;
    font-weight: bold;
    font-size: 20px;
}

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

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

.contenedor_texto {
    background-image: linear-gradient(rgba(0, 0, 0, .7), rgba(0, 0, 0, .7)), url("img/imagenes_background/barra_1.avif");
    background-size: cover;
    height: 130px; /* Alto */
    width: 1100px; /* Ancho */
    background-position: center 80%;
    border-radius: 50px;

    margin: 110px auto 20px auto !important;
    padding: 10px;
    z-index: 10;
}

.contenedor_texto h2 {
    font-size: 20px;
    margin-top: 0;
    color: white;
    text-align: center;
}

.contenedor_texto p {
    font-size: 18px;
    line-height: 1.4;
    margin: 5px 0 0 0;
    text-align: center;
    color: #e0e0e0;
}

.barra_nos_contenido_1 {
    font-size: 100px;
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 40px;
    max-width: 1000px;
    width: 90%;

    margin: 80px auto 20px auto !important; 
    padding: 10px;
    z-index: 10;
}

.barra_nos_contenido_1 img {
    height: 120px;         
    width: auto;
    object-fit: contain;
}

.barra_nos_contenido_1 p {
    font-size: 18px;
    line-height: 1.6;
    color: #333;
    max-width: 600px;    
    margin: 0;                 
    text-align: justify;       
}

.lista-vertical {
    font-size: 18px;
    display: center;
    flex-direction: column; /* Fuerza la orientación vertical */
    gap: 12px;
    padding-left: 20px;
}

.Circulo {
    perspective: 3000px;
    width: 350px;
    height: 350px;
    flex-shrink: 0; 
}

.Cara_1 {
    width: 100%;
    height: 100%;
    transform-style: preserve-3d;
    transition: transform .8s ease-in-out;
    cursor: pointer;
    border: 2px solid #ed2426;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2), -5px -5px -10px rgba(0, 0, 0, 0.2);
    border-radius: 500px;
}

.Cara_1:hover {
    transform: rotateY(180deg);
}

.Titulo_Circulo {
    background-color: white;
    display: flex;
    align-items: center;
    justify-content: center;
}

.Titulo_Circulo_2 {
    background-color: #ed2426;
    display: flex;
    align-items: center;
    justify-content: center;
}

.Titulo_Circulo p {
    font-size: 25px; /* Ajustado para mejor legibilidad */
    font-weight: bold;
    margin: 0;
    text-align: center;
}

.Titulo_Circulo_2 p {
    color: white;
    font-size: 30px; /* Ajustado para mejor legibilidad */
    font-weight: bold;
    margin: 0;
    text-align: center;
}

.Titulo_Circulo, .Cara_2, .Titulo_Circulo_2, .Cara_2_S, .Cara_2_M, .Cara_2_SF, .Cara_2_SV {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    backface-visibility: hidden;
    border-radius: 50%;
    border: 1px solid #ccc;
    box-shadow: 20px 15px 10px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
}

.Cara_2 {
    background-image: url('img/CIRCULOS/data_center.jpg');
    background-size: cover;
    background-position: center;
    transform: rotateY(180deg); 
}

.Cara_2_S {
    background-image: url('img/CIRCULOS/Seguridad.jpg');
    background-size: cover;
    background-position: center;
    transform: rotateY(180deg); 
}

.Cara_2_M {
    background-image: url('img/CIRCULOS/Mobilidad.jpg');
    background-size: cover;
    background-position: center;
    transform: rotateY(180deg); 
}

.Cara_2_SF {
    background-image: url('img/CIRCULOS/Software.jpg');
    background-size: cover;
    background-position: center;
    transform: rotateY(180deg); 
}

.Cara_2_SV {
    background-image: url('img/CIRCULOS/Servicio.jpg');
    background-size: cover;
    background-position: center;
    transform: rotateY(180deg); 
}

.contenedor_texto_1 {
    background-image: linear-gradient(rgba(0, 0, 0, .7), rgba(0, 0, 0, .7)), url("img/imagenes_background/barra_2.jpg");
    background-size: cover;
    height: 100px; /* Alto */
    width: 1100px; /* Ancho */
    background-position: center 50%; /* Mueve la imagen dentro del contenedor */
    border-radius: 50px; /* Elimina las esquinas y convierte en borde circular */

    margin: 110px auto 20px auto !important;
    padding: 10px;
    z-index: 10;
}

.contenedor_texto_1 p {
    font-size: 18px;
    line-height: 1.4;
    margin: 5px 0 0 0;
    text-align: center;
    color: #e0e0e0;
}

.seccion-servicios-grid {
    display: flex;
    flex-wrap: wrap; 
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); /* Reparte el espacio en 3 partes iguales (Columnas) */
    justify-content: center;
    gap: 30px;
    max-width: 1200px;
    width: 90%;
    margin: 60px auto;
}

.tarjeta-grid {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #f8f9fa;
    border: 1px solid #e0e0e0;
    border-radius: 12px;
    padding: 25px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    box-sizing: border-box;

    max-width: 350px;
    width: 100%;
    justify-self: center;
}

.Texto_Titulo_Divisiones {
    font-size: 14px;
    font-weight: bold;
    margin: 0 0 15px 0;
    text-align: center;
}

.texto-tarjeta {
    font-size: 10px;
    font-weight: bold;
    margin: 0 0 15px 0;
    text-align: center;
}

.imagen-tarjeta {
    width: 200px;
    height: 200px;
    object-fit: contain;
    border-radius: 40px;
}

/* ==========================================================================
   BLOQUE RESPONSIVO PARA LA NUEVA SECCIÓN (AGREGAR AL FINAL DE TU CSS)
   ========================================================================== */

/* --- AJUSTES PARA TABLETAS Y DISPOSITIVOS MEDIANOS (MÁXIMO 1024px) --- */
@media (max-width: 1024px) {
    /* Evita que los contenedores oscuros de texto se desborden de la pantalla */
    .contenedor_texto, .contenedor_texto_1 {
        width: 90% !important; /* Cambia de 1100px a un ancho porcentual seguro */
        height: auto !important; /* Permite que el contenedor crezca si el texto se amontona */
        padding: 20px !important;
        border-radius: 30px !important;
    }

    .barra_nos_contenido_1 {
        flex-direction: column !important; /* Pone la imagen arriba y el texto abajo */
        text-align: center !important;
        gap: 20px !important;
        margin-top: 40px !important;
    }

    .barra_nos_contenido_1 p {
        text-align: center !important;
    }
}

/* --- AJUSTES EXCLUSIVOS PARA TELÉFONOS MÓVILES (MÁXIMO 768px) --- */
@media (max-width: 768px) {
    /* Control de desbordamiento horizontal general */
    html, body {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    /* EL HEADER: Centrado perfecto y fluido con el truco del transform */
    header {
        top: 10px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 90% !important; 
        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;
    }

    /* Enlaces del menu en horizontal; saltan de linea ordenadamente 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;
    }

    /* CONTENEDORES DE TEXTO (BARRAS DE FONDO CON IMAGEN) */
    .contenedor_texto, .contenedor_texto_1 {
        width: 88% !important;
        height: auto !important;
        margin: 130px auto 20px auto !important; /* Da espacio para que el menu no tape el texto */
        padding: 20px 15px !important;
        border-radius: 20px !important;
    }

    .contenedor_texto h2 {
        font-size: 18px !important;
    }

    .contenedor_texto p, .contenedor_texto_1 p {
        font-size: 15px !important;
    }

    /* ELEMENTOS FLIP (CÍRCULOS 3D) */
    .Circulo {
        width: 280px !important;  /* Reduce ligeramente el tamaño para pantallas pequeñas */
        height: 280px !important;
        margin: 0 auto !important;
    }

    .Titulo_Circulo p {
        font-size: 20px !important;
    }

    .Titulo_Circulo_2 p {
        font-size: 24px !important;
    }

    /* GRID DE TARJETAS DE SERVICIOS */
    .seccion-servicios-grid {
        margin: 40px auto !important;
        gap: 20px !important;
    }

    .tarjeta-grid {
        max-width: 290px !important; /* Se ajusta para el espacio movil */
        padding: 15px !important;
    }

    .imagen-tarjeta {
        width: 150px !important;
        height: 150px !important;
    }

    /* PIE DE PÁGINA */
    .footer-content {
        flex-direction: column !important;
        align-items: center !important;
        gap: 25px !important;
        text-align: center !important;
    }

    .footer-right p {
        justify-content: center !important;
    }
}

/* ===== Ajustes del apartado de servicios con videos y aparición al hacer scroll ===== */
.servicio-card {
    background-color: #ffffff;
    border: 1px solid #e8e8e8;
    border-radius: 28px;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
    padding: 28px;
    box-sizing: border-box;
}

.servicio-info {
    background-color: #f8f9fa;
    border: 1px solid #e0e0e0;
    border-radius: 18px;
    padding: 24px;
    max-width: 620px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
    box-sizing: border-box;
}

.servicio-info p {
    max-width: 100%;
}

.video-circulo {
    overflow: hidden;
    background-image: none !important;
}

.video-circulo video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 50%;
}

.reveal {
    opacity: 0;
    transform: translateY(45px);
    transition: opacity .8s ease, transform .8s ease;
}

.reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 1024px) {
    .servicio-card {
        padding: 22px !important;
    }

    .servicio-info {
        width: 100% !important;
        padding: 20px !important;
    }
}

@media (max-width: 768px) {
    .servicio-card {
        width: 88% !important;
        padding: 18px !important;
        border-radius: 20px !important;
    }

    .servicio-info {
        padding: 16px !important;
        border-radius: 16px !important;
    }
}

/* ===== Pantalla flotante para videos completos ===== */
.Circulo:focus-visible {
    outline: 3px solid #ed2426;
    outline-offset: 8px;
    border-radius: 50%;
}

.modal-video-servicios {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.78);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
    z-index: 3000;
}

.modal-video-servicios.activo {
    display: flex;
}

.modal-video-contenido {
    position: relative;
    width: min(920px, 95vw);
    background: #ffffff;
    border: 3px solid #ed2426;
    border-radius: 24px;
    padding: 18px;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.35);
    box-sizing: border-box;
    animation: entradaModalVideo .35s ease;
}

.modal-video-contenido video {
    width: 100%;
    max-height: 78vh;
    display: block;
    border-radius: 16px;
    background-color: #000000;
}

.modal-video-cerrar {
    position: absolute;
    top: -18px;
    right: -18px;
    width: 46px;
    height: 46px;
    border: none;
    border-radius: 50%;
    background-color: #ed2426;
    color: #ffffff;
    font-size: 32px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.25);
}

.modal-video-cerrar:hover {
    transform: scale(1.06);
}

@keyframes entradaModalVideo {
    from {
        opacity: 0;
        transform: scale(.92) translateY(20px);
    }

    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

@media (max-width: 768px) {
    .modal-video-contenido {
        padding: 12px;
        border-radius: 18px;
    }

    .modal-video-cerrar {
        top: -14px;
        right: -10px;
        width: 40px;
        height: 40px;
        font-size: 28px;
    }
}

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

}
}

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

footer{
    position:relative;
    top: 250px;
    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;

}

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

}

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