/* =========================================================
   CHAT WAWALAND - DISEÑO MODERNO
   Compatible con la estructura actual de n8n Chat
========================================================= */

#n8n-chat {
    --wawa-blue: #6CB5DF;
    --wawa-blue-light: #1f8fc4;
    --wawa-sky: #8fd7e3;
    --wawa-orange: #ff7a3d;
    --wawa-green: #01b03b;
    --wawa-cream: #fff8e8;
    --wawa-bg: #f4f8fc;
    --wawa-text: #10243e;
    --wawa-muted: #667085;
    --wawa-border: #dbe7f0;
    --wawa-white: #ffffff;
    --wawa-shadow: 0 24px 60px rgba(6, 58, 120, 0.22);

    font-family: "Inter", Arial, sans-serif !important;
}

/* =========================================================
   CONTENEDOR GENERAL
========================================================= */

#n8n-chat .chat-window-wrapper {
    font-family: "Inter", Arial, sans-serif !important;
}

#n8n-chat .chat-window {
    width: min(440px, calc(100vw - 28px)) !important;
    height: min(680px, calc(100vh - 110px)) !important;

    border: 1px solid rgba(6, 58, 120, 0.12) !important;
    border-radius: 24px !important;

    background: var(--wawa-bg) !important;

    box-shadow: var(--wawa-shadow) !important;

    overflow: hidden !important;
}

/* =========================================================
   ESTRUCTURA DEL CHAT
========================================================= */

#n8n-chat .chat-layout,
#n8n-chat .chat-wrapper {
    background: var(--wawa-bg) !important;
    border-radius: 24px !important;
    overflow: hidden !important;
}

/* =========================================================
   CABECERA
========================================================= */

#n8n-chat .chat-header {
    min-height: 105px !important;

    padding: 24px 26px !important;

    background:
        radial-gradient(
            circle at top right,
            rgba(143, 215, 227, 0.38),
            transparent 42%
        ),
        linear-gradient(
            135deg,
            #063a78 0%,
            #0b4f93 55%,
            #1f8fc4 100%
        ) !important;

    border-bottom: none !important;
}

#n8n-chat .chat-heading {
    position: relative !important;
}

#n8n-chat .chat-heading h1 {
    margin: 0 !important;

    color: #ffffff !important;

    font-size: 30px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.6px !important;

    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.14) !important;
}

#n8n-chat .chat-heading h1::after {
    content: "Encuentra actividades para disfrutar en familia";
    display: block !important;

    margin-top: 8px !important;

    color: rgba(255, 255, 255, 0.86) !important;

    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    letter-spacing: 0 !important;
}

/* =========================================================
   CUERPO
========================================================= */

#n8n-chat .chat-body {
    background:
        linear-gradient(
            180deg,
            #f5f9fd 0%,
            #edf5fb 100%
        ) !important;
}

#n8n-chat .chat-messages-list {
    padding: 20px 18px 26px !important;

    background:
        radial-gradient(
            circle at 20% 10%,
            rgba(143, 215, 227, 0.14),
            transparent 26%
        ),
        linear-gradient(
            180deg,
            #f5f9fd 0%,
            #edf5fb 100%
        ) !important;

    scroll-behavior: smooth !important;
}

/* Scrollbar */

#n8n-chat .chat-messages-list::-webkit-scrollbar {
    width: 7px !important;
}

#n8n-chat .chat-messages-list::-webkit-scrollbar-track {
    background: transparent !important;
}

#n8n-chat .chat-messages-list::-webkit-scrollbar-thumb {
    background: #a8bfd1 !important;
    border-radius: 20px !important;
}

#n8n-chat .chat-messages-list::-webkit-scrollbar-thumb:hover {
    background: #789bb5 !important;
}

/* =========================================================
   MENSAJES GENERALES
========================================================= */

/* #n8n-chat .chat-message {
    margin-bottom: 16px !important;
} */

#n8n-chat .chat-message-markdown {
    max-width: 88% !important;

    padding: 14px 16px !important;

    border-radius: 18px !important;

    font-size: 15px !important;
    line-height: 1.6 !important;

    word-wrap: break-word !important;
    overflow-wrap: anywhere !important;
}

/* =========================================================
   MENSAJE DEL BOT
========================================================= */

#n8n-chat .chat-message-from-bot .chat-message-markdown {
    margin-right: auto !important;

    color: var(--wawa-text) !important;

    background: #ffffff !important;

    border: 1px solid var(--wawa-border) !important;

    border-top-left-radius: 6px !important;

    box-shadow:
        0 8px 24px rgba(6, 58, 120, 0.08) !important;
}

/* Pequeño indicador visual del bot */

#n8n-chat .chat-message-from-bot .chat-message-markdown::before {
    content: "Wawaland";
    display: block !important;

    margin-bottom: 8px !important;

    color: var(--wawa-blue) !important;

    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
}

/* =========================================================
   MENSAJE DEL USUARIO
========================================================= */

#n8n-chat .chat-message-from-user {
    display: flex !important;
    justify-content: flex-end !important;
}

#n8n-chat .chat-message-from-user .chat-message-markdown {
    margin-left: auto !important;

    color: #ffffff !important;

    /* background:
        linear-gradient(
            135deg,
            #0b6fad,
            #063a78
        ) !important; */

    border: none !important;

    /* border-top-right-radius: 6px !important; */

    box-shadow:
        0 10px 24px rgba(6, 58, 120, 0.23) !important;
}

#n8n-chat .chat-message-from-user .chat-message-markdown p,
#n8n-chat .chat-message-from-user .chat-message-markdown strong,
#n8n-chat .chat-message-from-user .chat-message-markdown li {
    color: #ffffff !important;
}

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

#n8n-chat .chat-message-markdown p {
    margin: 0 0 10px !important;

    color: inherit !important;

    font-size: 15px !important;
    line-height: 1.6 !important;
}

#n8n-chat .chat-message-markdown p:last-child {
    margin-bottom: 0 !important;
}

#n8n-chat .chat-message-markdown h1,
#n8n-chat .chat-message-markdown h2,
#n8n-chat .chat-message-markdown h3,
#n8n-chat .chat-message-markdown h4 {
    margin: 10px 0 8px !important;

    color: var(--wawa-blue) !important;

    font-weight: 800 !important;
    line-height: 1.25 !important;
}

#n8n-chat .chat-message-markdown h3 {
    font-size: 17px !important;
}

#n8n-chat .chat-message-markdown strong {
    color: #173b5c !important;
    font-weight: 750 !important;
}

#n8n-chat .chat-message-markdown ul,
#n8n-chat .chat-message-markdown ol {
    margin: 8px 0 12px !important;
    padding-left: 22px !important;
}

#n8n-chat .chat-message-markdown li {
    margin-bottom: 5px !important;
    color: #334155 !important;
}

/* =========================================================
   TARJETAS DE ACTIVIDADES
========================================================= */

#n8n-chat .chat-message-from-bot .chat-message-markdown img {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;
    height: 185px !important;

    margin: 10px 0 12px !important;

    border: 1px solid #d7e3ed !important;
    border-radius: 16px !important;

    object-fit: cover !important;

    box-shadow:
        0 10px 26px rgba(6, 58, 120, 0.13) !important;
}

/* Divisores entre actividades */

#n8n-chat .chat-message-markdown hr {
    height: 1px !important;

    margin: 20px 0 !important;

    border: none !important;

    background:
        linear-gradient(
            90deg,
            transparent,
            #bcd2e3,
            transparent
        ) !important;
}

/* =========================================================
   ENLACES / BOTÓN VER DETALLES
========================================================= */

#n8n-chat .chat-message-from-bot .chat-message-markdown a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 42px !important;

    margin-top: 4px !important;
    padding: 10px 16px !important;

    color: #ffffff !important;

    background:
        linear-gradient(
            135deg,
            #ff8345,
            #ff6f32
        ) !important;

    border-radius: 12px !important;

    font-size: 13px !important;
    font-weight: 750 !important;
    text-decoration: none !important;

    box-shadow:
        0 8px 18px rgba(255, 122, 61, 0.27) !important;

    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease !important;
}

#n8n-chat .chat-message-from-bot .chat-message-markdown a::after {
    content: "  →" !important;
    margin-left: 6px !important;
}

#n8n-chat .chat-message-from-bot .chat-message-markdown a:hover {
    color: #ffffff !important;

    transform: translateY(-1px) !important;

    box-shadow:
        0 12px 24px rgba(255, 122, 61, 0.35) !important;
}

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

#n8n-chat .chat-footer {
    padding: 14px 16px 16px !important;

    background: #ffffff !important;

    border-top: 1px solid #dce7f0 !important;

    box-shadow:
        0 -8px 20px rgba(6, 58, 120, 0.04) !important;
}

/* =========================================================
   INPUT
========================================================= */

#n8n-chat .chat-input {
    width: 100% !important;
}

#n8n-chat .chat-inputs {
    min-height: 54px !important;

    padding: 4px 5px 4px 15px !important;

    background: #f5f8fb !important;

    border: 1px solid #d5e1eb !important;
    border-radius: 18px !important;

    box-shadow:
        inset 0 1px 2px rgba(6, 58, 120, 0.03) !important;

    transition:
        border-color 0.18s ease,
        box-shadow 0.18s ease !important;
}

#n8n-chat .chat-inputs:focus-within {
    border-color: #1f8fc4 !important;

    box-shadow:
        0 0 0 4px rgba(31, 143, 196, 0.14) !important;
}

#n8n-chat .chat-input textarea {
    min-height: 46px !important;
    max-height: 120px !important;

    padding: 12px 8px !important;

    color: var(--wawa-text) !important;

    background: transparent !important;

    border: none !important;
    outline: none !important;

    font-family: "Inter", Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.45 !important;

    resize: none !important;
}

#n8n-chat .chat-input textarea::placeholder {
    color: #8798aa !important;
}

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

#n8n-chat .chat-input-send-button {
    width: 44px !important;
    height: 44px !important;

    margin: 1px !important;

    color: #ffffff !important;

    background:
        linear-gradient(
            135deg,
            #0b6fad,
            #063a78
        ) !important;

    border: none !important;
    border-radius: 14px !important;

    box-shadow:
        0 8px 18px rgba(6, 58, 120, 0.25) !important;

    cursor: pointer !important;

    transition:
        transform 0.18s ease,
        opacity 0.18s ease,
        box-shadow 0.18s ease !important;
}

#n8n-chat .chat-input-send-button:hover:not(:disabled) {
    transform: translateY(-1px) !important;

    box-shadow:
        0 11px 22px rgba(6, 58, 120, 0.32) !important;
}

#n8n-chat .chat-input-send-button:disabled {
    color: #9eacb8 !important;

    background: #dfe7ed !important;

    box-shadow: none !important;

    cursor: not-allowed !important;
    opacity: 1 !important;
}

/* =========================================================
   BOTÓN FLOTANTE
========================================================= */

#n8n-chat .chat-window-toggle {
    width: 62px !important;
    height: 62px !important;

    color: #ffffff !important;

    background:
        linear-gradient(
            145deg,
            #0b6fad,
            #063a78
        ) !important;

    border: 3px solid rgba(255, 255, 255, 0.94) !important;
    border-radius: 50% !important;

    box-shadow:
        0 14px 34px rgba(6, 58, 120, 0.36) !important;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease !important;
}

#n8n-chat .chat-window-toggle:hover {
    transform: translateY(-3px) scale(1.03) !important;

    box-shadow:
        0 18px 40px rgba(6, 58, 120, 0.42) !important;
}

#n8n-chat .chat-window-toggle svg {
    width: 30px !important;
    height: 30px !important;

    color: #ffffff !important;
}

/* =========================================================
   EFECTO SUAVE AL MOSTRAR MENSAJES
========================================================= */

#n8n-chat .chat-message-from-bot .chat-message-markdown,
#n8n-chat .chat-message-from-user .chat-message-markdown {
    animation: wawaMessageIn 0.24s ease-out !important;
}

@keyframes wawaMessageIn {
    from {
        opacity: 0;
        transform: translateY(7px);
    }

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

/* =========================================================
   RESPONSIVE MÓVIL
========================================================= */

@media (max-width: 600px) {

    #n8n-chat .chat-window {
        right: 10px !important;
        bottom: 82px !important;

        width: calc(100vw - 20px) !important;
        height: calc(100vh - 105px) !important;

        border-radius: 20px !important;
    }

    #n8n-chat .chat-header {
        min-height: 88px !important;
        padding: 20px !important;
    }

    #n8n-chat .chat-heading h1 {
        font-size: 26px !important;
    }

    #n8n-chat .chat-heading h1::after {
        font-size: 12px !important;
    }

    #n8n-chat .chat-messages-list {
        padding: 16px 12px 22px !important;
    }

    #n8n-chat .chat-message-markdown {
        max-width: 92% !important;
        padding: 13px 14px !important;
        font-size: 14px !important;
    }

    #n8n-chat .chat-message-from-bot .chat-message-markdown img {
        height: 170px !important;
        border-radius: 14px !important;
    }

    #n8n-chat .chat-footer {
        padding: 11px 12px 13px !important;
    }

    #n8n-chat .chat-window-toggle {
        width: 58px !important;
        height: 58px !important;
    }
}


/* =========================================================
   CORRECCIÓN MENSAJES DEL USUARIO
========================================================= */

#n8n-chat .chat-message.chat-message-from-user {
    display: flex !important;
    width: 100% !important;
    justify-content: flex-end !important;
    align-items: flex-end !important;
}

#n8n-chat .chat-message-from-user .chat-message-markdown {
    display: block !important;

    width: fit-content !important;
    min-width: 90px !important;
    max-width: 78% !important;

    margin: 0 0 0 auto !important;
    padding: 13px 18px !important;

    /* background: linear-gradient(
        135deg,
        #0b6fad 0%,
        #063a78 100%
    ) !important; */

    color: #ffffff !important;

    border: none !important;
    /* border-radius: 18px 18px 5px 18px !important; */

    box-shadow:
        0 8px 20px rgba(6, 58, 120, 0.22) !important;

    text-align: left !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;

    box-sizing: border-box !important;
}

/* Texto interno del mensaje enviado */

#n8n-chat .chat-message-from-user .chat-message-markdown p {
    display: block !important;

    width: auto !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #ffffff !important;

    font-size: 15px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
}

/* Evita que palabras cortas se dividan letra por letra */

#n8n-chat .chat-message-from-user .n8n-markdown {
    min-width: 90px !important;
}

/* Mensajes largos */

#n8n-chat .chat-message-from-user .chat-message-markdown * {
    max-width: 100% !important;
}

/* Ajuste móvil */

@media (max-width: 600px) {

    #n8n-chat .chat-message-from-user .chat-message-markdown {
        min-width: 85px !important;
        max-width: 82% !important;

        padding: 12px 16px !important;
    }

    #n8n-chat .chat-message-from-user .chat-message-markdown p {
        font-size: 14px !important;
    }
}