/* --- Contenedor Principal (Simplificado) --- */
.ivan-floating-social {
    position: fixed;
    bottom: 25px;
    z-index: 9999;
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
}

.ivan-floating-social.position-right { right: 25px; }
.ivan-floating-social.position-left { left: 25px; }


/* --- Estilos del Botón Principal y la Lista --- */
.ivan-floating-social .main-btn {
    width: 55px; height: 55px; background-color: #0077ff; border-radius: 50%;
    box-shadow: 0 4px 12px rgba(0,0,0,0.3); display: flex; justify-content: center;
    align-items: center; cursor: pointer; transition: transform 0.3s ease, background-color 0.3s ease;
    color: #fff; font-size: 24px;
}
.ivan-floating-social.open .main-btn { transform: rotate(360deg); background-color: #dc3545; }
.ivan-floating-social ul {
    list-style: none;
    margin: 0;
    padding: 0;
    opacity: 0;
    pointer-events: none;
    transform: translateY(10px);
    transition: all 0.3s ease;
}
.ivan-floating-social.open ul { opacity: 1; pointer-events: auto; transform: translateY(0); }
.ivan-floating-social ul li { margin-bottom: 12px; }


/* --- Estilos de Iconos en la lista --- */
.ivan-floating-social ul li a, 
.ivan-floating-social ul li .icon-whatsapp {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.ivan-floating-social ul li a:hover,
.ivan-floating-social ul li .icon-whatsapp:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 15px rgba(0,0,0,0.35);
}

/* Colores de fondo */
.icon-whatsapp { background-color: #25D366; cursor: pointer; }
.icon-facebook { background-color: #1877f2; }
.icon-instagram { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
.icon-linkedin { background-color: #0077b5; }
.icon-youtube { background-color: #ff0000; }
.icon-tiktok { background-color: #000000; }
.icon-twitter { background-color: #1DA1F2; }
.icon-imessage { background-color: #007aff; }

/* Iconos internos (letra/logo) */
.ivan-floating-social ul li a i,
.ivan-floating-social ul li .icon-whatsapp i {
    color: #fff;
    font-size: 22px;
}


/* --- Ventana de Chat de WhatsApp (Reposicionada) --- */
.isf-whatsapp-chatbox {
    position: absolute; 
    bottom: 0;
    width: 320px;
    /* AÑADIDO: Esquinas redondeadas para la ventana */
    border-radius: 15px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.25);
    opacity: 0;
    transform: scale(0.95);
    pointer-events: none;
    transition: opacity 0.3s ease, transform 0.3s ease;
    transform-origin: bottom right; 
    /* AÑADIDO: Overflow hidden para que el contenido respete los bordes redondeados */
    overflow: hidden;
}
.position-right .isf-whatsapp-chatbox {
    right: calc(100% + 15px);
    transform-origin: bottom right;
}
.position-left .isf-whatsapp-chatbox {
    left: calc(100% + 15px);
    transform-origin: bottom left;
}
.isf-whatsapp-chatbox.open {
    opacity: 1;
    transform: scale(1);
    pointer-events: auto;
}

/* Estilos internos de la ventana (sin cambios) */
.isf-chatbox-header { background-color: #075E54; color: #fff; padding: 15px; display: flex; justify-content: space-between; align-items: center; }
.isf-header-content { display: flex; align-items: center; font-weight: bold; font-size: 16px; }
.isf-header-content i { font-size: 24px; margin-right: 10px; }
.isf-chatbox-close { background: #00000030; border: none; color: #fff; width: 30px; height: 30px; border-radius: 50%; font-size: 20px; cursor: pointer; padding: 0; display: flex; align-items: center; justify-content: center; transition: background-color 0.2s ease; outline: none; }
.isf-chatbox-close:hover { background-color: #00000050; }
.isf-chatbox-body { padding: 20px; background-color: #E5DDD5; background-image: url('https://user-images.githubusercontent.com/15075759/28719144-86dc0f70-73b1-11e7-911d-60d70fcded21.png'); }
.isf-chatbox-bubble { background-color: #fff; padding: 10px 15px; border-radius: 10px; border-top-left-radius: 0; max-width: 85%; font-size: 14px; box-shadow: 0 1px 1px rgba(0,0,0,0.1); position: relative; word-wrap: break-word; }
.isf-chatbox-bubble::before { content: ""; position: absolute; top: 0; left: -10px; width: 0; height: 0; border-top: 10px solid #fff; border-left: 10px solid transparent; }
.isf-chatbox-cta { display: flex; align-items: center; justify-content: center; background-color: #25D366; color: #fff; text-decoration: none; padding: 12px; border-radius: 25px; margin-top: 15px; font-weight: bold; transition: background-color 0.2s; }
.isf-chatbox-cta:hover { background-color: #128C7E; }
.isf-chatbox-cta svg { margin-left: 10px; }