﻿/* Chatbot only: all styles are scoped to its two root elements. */
#chatbot-button, #chatWindow {
    font-family: 'Segoe UI', Arial, sans-serif;
    box-sizing: border-box;
}

    #chatWindow *, #chatbot-button * {
        box-sizing: border-box;
    }

#chatbot-button {
    position: fixed;
    right: 24px;
    bottom: 96px;
    z-index: 999999998;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 20px 13px 13px;
    border: 1px solid #ffffff50;
    border-radius: 50px;
    background: #142548;
    color: white;
    cursor: pointer;
    box-shadow: 0 8px 28px #14254838;
    transition: transform .2s, box-shadow .2s;
}

    #chatbot-button:hover {
        transform: translateY(-3px);
        box-shadow: 0 12px 32px #14254850;
    }

    #chatbot-button .nfl-launch-copy {
        text-align: left;
        font-size: 14px;
        font-weight: 600;
        line-height: 1.4;
    }

    #chatbot-button small {
        display: block;
        color: #c7d5e9;
        font-size: 11px;
        font-weight: 400;
    }

    #chatWindow .nfl-mark, #chatbot-button .nfl-mark {
        display: grid;
        place-items: center;
        width: 42px;
        height: 42px;
        flex-shrink: 0;
        border-radius: 14px;
        background: #ffffff14;
        color: #9ce7dd;
    }

    #chatWindow .nfl-header svg, #chatbot-button svg {
        width: 22px;
        height: 22px;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.7;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

#chatWindow[hidden], #chatWindow [hidden] {
    display: none !important;
}

#chatWindow {
    position: fixed;
    right: 24px;
    bottom: 96px;
    width: 440px;
    height: min(720px, calc(100vh - 120px));
    height: min(720px, calc(100dvh - 120px));
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #dce4ef;
    border-radius: 24px;
    background: #f7f9fc;
    color: #172943;
    z-index: 999999999;
    box-shadow: 0 24px 80px #10234238, 0 4px 16px #10234212;
    animation: nfl-chat-enter .22s ease-out;
}

    #chatWindow.nfl-expanded {
        width: min(720px, calc(100vw - 48px));
    }

    #chatWindow .nfl-header {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 20px;
        background: linear-gradient(120deg, #142548, #203e60);
        color: white;
        flex-shrink: 0;
    }

    #chatWindow .nfl-heading {
        flex: 1;
        min-width: 0;
    }

    #chatWindow h2 {
        margin: 0 0 6px;
        font-size: 17px;
        line-height: 1.2;
        color: white;
        font-weight: 600;
    }

    #chatWindow .nfl-status {
        font-size: 12px;
        color: #d1deec;
        display: flex;
        align-items: center;
        gap: 6px;
    }

        #chatWindow .nfl-status::before {
            content: '';
            width: 6px;
            height: 6px;
            background: #b9c6d5;
            border-radius: 50%;
        }

    #chatWindow[data-state='ready'] .nfl-status::before {
        background: #78dbc5;
        box-shadow: 0 0 0 3px #78dbc518;
    }

    #chatWindow .nfl-tools {
        display: flex;
        gap: 2px;
    }

    #chatWindow .nfl-icon-btn {
        width: 32px;
        height: 36px;
        padding: 6px;
        border: 0;
        background: transparent;
        color: #dae5f2;
        border-radius: 9px;
        cursor: pointer;
        display: grid;
        place-items: center;
    }

        #chatWindow .nfl-icon-btn:hover {
            background: #ffffff18;
            color: white;
        }

    #chatWindow .nfl-intro {
        padding: 23px 24px 18px;
        flex-shrink: 0;
        border-bottom: 1px solid #e8edf4;
        background: radial-gradient(ellipse at top right, #e3f2ef, transparent 75%), #fff;
    }

    #chatWindow .nfl-eyebrow {
        display: flex;
        align-items: center;
        gap: 7px;
        margin-bottom: 10px;
        color: #427670;
        font-weight: 700;
        font-size: 10px;
        letter-spacing: 1.8px;
        text-transform: uppercase;
    }

    #chatWindow h3 {
        font-size: 25px;
        font-weight: 600;
        letter-spacing: -.7px;
        line-height: 1.25;
        margin: 0 0 8px;
        color: #172943;
    }

    #chatWindow .nfl-intro p {
        font-size: 13px;
        line-height: 1.65;
        margin: 0;
        color: #617087;
    }

    #chatWindow .nfl-prompts {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        margin-top: 16px;
    }

    #chatWindow .nfl-prompt {
        font: inherit;
        font-size: 12px;
        font-weight: 600;
        text-align: left;
        color: #304761;
        padding: 11px 12px;
        border: 1px solid #dde6ef;
        background: #fff;
        border-radius: 12px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 8px;
        cursor: pointer;
        transition: background .15s, border-color .15s, transform .15s;
    }

        #chatWindow .nfl-prompt span {
            color: #4b8f87;
        }

        #chatWindow .nfl-prompt:hover:not(:disabled) {
            background: #eef8f5;
            border-color: #86bfb4;
            transform: translateY(-1px);
        }

    #chatWindow button:disabled {
        opacity: .55;
        cursor: wait;
    }

    #chatWindow.nfl-waiting .webchat__send-box,
    #chatWindow.nfl-waiting .webchat__send-button {
        pointer-events: none;
        opacity: .55;
    }

        #chatWindow.nfl-waiting .webchat__send-box textarea,
        #chatWindow.nfl-waiting .webchat__send-box input {
            cursor: wait;
        }

    #chatWindow .nfl-notice {
        padding: 10px 18px;
        font-size: 12px;
        background: #fff3dc;
        color: #614719;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }

        #chatWindow .nfl-notice button {
            border: 1px solid #b1935c;
            border-radius: 7px;
            padding: 5px 10px;
            color: inherit;
            background: white;
            cursor: pointer;
        }

    #chatWindow .nfl-reset {
        background: #eef4fa;
        color: #304761;
    }

    #chatWindow #webchat {
        width: 100%;
        flex: 1;
        min-height: 0;
        overflow: hidden;
    }

#chatWindow .nfl-footer {
    padding: 9px 12px 11px;
    text-align: center;
    font-size: 10px;
    color: #65758a;
    background: #fff;
    border-top: 1px solid #edf1f6;
    flex-shrink: 0;
}

#chatWindow .webchat__send-box {
    margin: 8px 12px 4px;
    border: 1px solid #d9e3ed;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 3px 10px #16284908;
}

    #chatWindow .webchat__send-box:focus-within {
        border-color: #518f87;
        box-shadow: 0 0 0 3px #518f8718;
    }

#chatWindow .webchat__send-box__main {
    padding: 5px;
}
/* #chatWindow .webchat__send-button { border-radius: 11px; background: #1d3c60; margin: 4px; }
        #chatWindow .webchat__send-icon { fill: white; }
       */
#chatWindow .webchat__send-button {
    position: relative;
    border-radius: 11px;
    background: #1d3c60;
    margin: 4px;
    color: #ffffff;
}

    #chatWindow .webchat__send-icon, #chatWindow .webchat__send-button svg {
        opacity: 0;
    }

    #chatWindow .webchat__send-button::after {
        content: '';
        position: absolute;
        inset: 0;
        margin: auto;
        width: 18px;
        height: 18px;
        background: currentColor;
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m22 2-7 20-4-9-9-4Z'/%3E%3Cpath d='M22 2 11 13'/%3E%3C/svg%3E") center / contain no-repeat;
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m22 2-7 20-4-9-9-4Z'/%3E%3Cpath d='M22 2 11 13'/%3E%3C/svg%3E") center / contain no-repeat;
    }

    #chatWindow .webchat__send-button:hover, #chatWindow .webchat__send-button:focus, #chatWindow .webchat__send-button:active {
        background: #1d3c60;
        color: #ffffff;
        cursor: pointer
    }

#chatWindow .webchat__icon-button__shade {
    background: transparent !important;
}

#chatWindow button:focus-visible, #chatbot-button:focus-visible {
    outline: 3px solid #52b9ac;
    outline-offset: 3px;
}

#chatWindow.nfl-started .nfl-intro {
    padding: 12px 20px;
}

    #chatWindow.nfl-started .nfl-eyebrow, #chatWindow.nfl-started h3, #chatWindow.nfl-started .nfl-intro {
        display: none;
    }

/*#chatWindow.nfl-started .nfl-prompts {
    margin-top: 0;
}*/

@keyframes nfl-chat-enter {
    from {
        opacity: 0;
        transform: translateY(12px) scale(.98);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

@media (max-width: 520px) {
    #chatWindow, #chatWindow.nfl-expanded {
        right: 8px;
        bottom: 8px;
        bottom: max(8px, env(safe-area-inset-bottom));
        width: calc(100vw - 16px);
        height: calc(100vh - 16px);
        height: calc(100dvh - 16px);
        border-radius: 20px;
    }

        #chatWindow .nfl-header {
            padding: 16px;
            gap: 9px;
        }

        #chatWindow .nfl-intro {
            padding: 18px;
        }

        #chatWindow h2 {
            font-size: 15px;
        }

    #chatbot-button {
        right: 16px;
        padding: 11px;
    }

        #chatbot-button .nfl-launch-copy {
            display: none;
        }

    #chatWindow #nflExpand {
        display: none;
    }
}

@media (max-height: 600px) {
    #chatWindow .nfl-intro {
        padding: 10px 16px;
    }

        #chatWindow .nfl-intro h3, #chatWindow .nfl-intro p, #chatWindow .nfl-eyebrow {
            display: none;
        }

    #chatWindow .nfl-prompts {
        margin-top: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    #chatWindow, #chatWindow *, #chatbot-button {
        animation: none !important;
        transition: none !important;
    }
}
