/* Estilos para el Contenedor Principal */
#promo-character-container {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 1000;
}

#promo-character {
    width: 150px;
    text-align: center;
    position: relative;
}

#promo-character-img {
    width: 100%;
    cursor: pointer;
    animation: dance 2s infinite;
}

#promo-character-img:hover {
    animation: bounce 1s infinite;
}

/* Mensaje de Burbuja */
.promo-message {
    background-color: #ffeb3b;
    color: #000;
    padding: 10px;
    border-radius: 15px;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 10px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    position: relative;
}

.promo-message a {
    color: #007bff;
    text-decoration: none;
}
.promo-message a:hover {
    text-decoration: underline;
}

.chat-bubble-button {
    background: #4CAF50;
    color: white;
    border: none;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    font-size: 14px;
    cursor: pointer;
    position: absolute;
    top: 5px;
    right: 5px;
}

/* Menú de Acciones */
.actions-menu {
    display: none; /* Controlado por JS */
    position: absolute;
    bottom: 160px; /* Ajusta según el tamaño de tu imagen */
    right: 0;
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.2);
    padding: 10px;
}

.actions-menu button {
    background-color: #4CAF50;
    color: white;
    border: none;
    padding: 8px 12px;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
    width: 100%;
}

/* Contenedor del Chat */
.chat-container {
    position: absolute;
    bottom: 0;
    right: 170px; /* Al lado del personaje */
    width: 320px;
    height: 450px;
    background: white;
    border-radius: 10px;
    box-shadow: 0 0 20px rgba(0,0,0,0.2);
    display: flex;
    flex-direction: column;
    z-index: 1001;
}

.chat-header {
    display: flex;
    justify-content: space-between;
    padding: 10px;
    border-bottom: 1px solid #eee;
    background: #f7f7f7;
    border-radius: 10px 10px 0 0;
}

.chat-close-button {
    background: none; border: none; cursor: pointer; font-size: 16px;
}

.chat-messages {
    flex-grow: 1;
    overflow-y: auto;
    padding: 10px;
    background: #f9f9f9;
}

.message {
    margin-bottom: 10px; padding: 10px; border-radius: 8px; max-width: 85%; word-wrap: break-word; line-height: 1.4;
}
.user-message { background: #e1f5fe; text-align: right; margin-left: auto; }
.bot-message { background: #f0f0f0; margin-right: auto; }
.typing-indicator { font-style: italic; color: #999; }

.chat-input-container {
    display: flex;
    padding: 10px;
    border-top: 1px solid #eee;
}
#chat-text-input { flex-grow: 1; padding: 8px; border: 1px solid #ddd; border-radius: 4px 0 0 4px; }
#send-chat-button { padding: 8px 15px; background: #4CAF50; color: white; border: none; border-radius: 0 4px 4px 0; cursor: pointer; }


/* Estilos para Overlays (Restricción, Aniversario) */
#restriction-overlay, #anniversary-character {
    /* Estilos para estos elementos especiales aquí */
}

/* Animaciones */
@keyframes dance { 0%, 100% { transform: rotate(0deg) translateY(0); } 25% { transform: rotate(-8deg) translateY(-5px); } 50% { transform: rotate(0deg) translateY(0); } 75% { transform: rotate(8deg) translateY(-5px); } }
@keyframes bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }