#ai-chat-wrapper {
    display:block !important;
    visibility:visible !important;
    position:relative !important;
    z-index:2147483647 !important;
    font-family:'Montserrat',Arial,sans-serif !important;
}

/* 01. FLOATING BUTTON*/

#ai-chat-fab {
    position:fixed !important;
    right:20px !important;
    bottom:24px !important;
    width:44px !important;
    height:44px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    padding:0 !important;

    border:1px solid rgba(170,210,255,.38) !important;
    border-radius:50% !important;

    background:
        linear-gradient(
            145deg,
            #2E7DD1 0%,
            #1257A6 52%,
            #071F4A 100%
        ) !important;

    color:#F4F8FF !important;
    font-family:inherit !important;
    font-size:20px !important;
    line-height:1 !important;

    cursor:pointer !important;

    box-shadow:
        0 7px 20px rgba(5,31,74,.42),
        inset 0 1px 0 rgba(255,255,255,.24) !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        filter .2s ease !important;

    z-index:2147483647 !important;
}

#ai-chat-fab:hover,
#ai-chat-fab:focus-visible {
    transform:translateY(-2px) scale(1.04) !important;
    filter:brightness(1.08) !important;

    box-shadow:
        0 10px 26px rgba(5,31,74,.50),
        inset 0 1px 0 rgba(255,255,255,.30) !important;

    outline:none !important;
}


/* 02. CHAT WINDOW */

#ai-chat-window {
    position:fixed !important;
    right:20px !important;
    bottom:140px !important;

    width:340px !important;
    max-width:calc(100vw - 30px) !important;

    height:min(500px,calc(100vh - 160px)) !important;

    display:none;
    flex-direction:column !important;

    overflow:hidden !important;

    border:1px solid rgba(78,142,211,.72) !important;
    border-radius:12px !important;

    background:
        linear-gradient(
            rgba(3,24,57,.46),
            rgba(3,18,45,.58)
        ),
        url("https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-nf4XgX1WL8cqOKPNJOlqQaWRcH8SvKR7cLkiqP7oW4LqI8DnLj7sJam09B9_1RUlinyXWUn3PXS_PdRfXfts4VvglixHTivhrfuJT8aJzuSHY_ZM5OF1PKesaYL_4HDmsWeDbnQHaCb71TVKAZ7tiKzIv1-1Yi-hMHGSjTFJBEIxUjbceXAGsP17WP8/w400-h239-rw/Rio-Antirrio%20Nautical%20Map.png")
        center center / cover no-repeat !important;

    box-shadow:
        0 18px 48px rgba(0,13,40,.64),
        inset 0 1px 0 rgba(255,255,255,.08) !important;

    backdrop-filter:blur(16px) saturate(118%) !important;
    -webkit-backdrop-filter:blur(16px) saturate(118%) !important;

    z-index:2147483647 !important;
}


/* 03. HEADER */

.ai-header {
    min-height:50px;
    padding:8px;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;

    color:#ffffff;

    background:
        linear-gradient(
            145deg,
            rgba(18,87,166,.94) 0%,
            rgba(10,52,120,.96) 52%,
            rgba(7,31,74,.97) 100%
        );

    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);

    box-shadow:0 8px 24px rgba(4,24,61,.40);
}

.ai-header-main {
    min-width:0;

    display:flex;
    align-items:center;
    gap:10px;
}

.ai-header-logo {
    width:38px;
    height:38px;
    flex:0 0 38px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid rgba(175,215,255,.32);
    border-radius:10px;

    background:
        linear-gradient(
            145deg,
            #3D8FE1 0%,
            #1763B8 55%,
            #0A3478 100%
        );

    color:#F4F8FF;

    box-shadow:
        0 4px 14px rgba(4,31,79,.34),
        inset 0 1px 0 rgba(255,255,255,.20);

    font-size:20px;
}

.ai-header-copy {
    min-width:0;

    display:flex;
    flex-direction:column;

    line-height:1.16;
}

.ai-header-title {
    overflow:hidden;

    color:#ffffff;

    font-size:15px;
    font-weight:600;

    text-overflow:ellipsis;
    white-space:nowrap;
}

.ai-header-status {
    margin-top:6px;

    display:inline-flex;
    align-items:center;
    gap:6px;

    color:rgba(236,246,255,.84);

    font-size:12px;
    font-weight:500;
}

.ai-header-status::before {
    width:7px;
    height:7px;

    display:inline-block;

    border-radius:50%;

    background:#35d982;

    box-shadow:0 0 8px rgba(53,217,130,.82);

    content:"";
}

.ai-header-status.is-closed::before {
    background:#ff5f6d;
    box-shadow:0 0 8px rgba(255,95,109,.82);
}


/* 04. HEADER BUTTONS */

.ai-header-actions {
    display:flex;
    align-items:center;
    gap:6px;
}

.ai-header-close,
.ai-header-reset {
    width:33px;
    height:33px;
    flex:0 0 33px;

    display:grid;
    place-items:center;

    padding:0;

    border:1px solid rgba(180,215,255,.16);
    border-radius:11px;

    background:rgba(255,255,255,.08);

    color:#F4F8FF;

    font-size:18px;
    line-height:1;

    cursor:pointer;

    transition:
        background .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.ai-header-close:hover,
.ai-header-close:focus-visible,
.ai-header-reset:hover,
.ai-header-reset:focus-visible {
    border-color:rgba(190,220,255,.30);

    background:rgba(255,255,255,.16);

    transform:scale(1.05);

    outline:none;
}


/* 05. CHAT BODY */

.ai-body {
    flex:1;

    padding:15px 13px;

    overflow-y:auto;

    display:flex;
    flex-direction:column;
    gap:11px;

    background:transparent !important;

    scrollbar-color:#2E7DD1 transparent;
    scrollbar-width:thin;
}


/* 06. MESSAGES */

.ai-msg {
    max-width:94%;

    padding:12px 14px;

    border-radius:18px;

    font-size:15px;
    font-weight:400 !important;
    line-height:1.62;

    word-break:break-word;

    box-shadow:
        0 12px 28px rgba(0,40,75,.20),
        0 2px 8px rgba(0,0,0,.08);
}


/* 07. ASSISTANT MESSAGE */

.ai-msg.bot {
    align-self:flex-start;

    border:1px solid rgba(110,170,225,.42);
    border-bottom-left-radius:8px;

    background:
        linear-gradient(
            155deg,
            #183F68 0%,
            #102F52 55%,
            #091F39 100%
        );

    color:#F4F8FF;

    box-shadow:
        0 10px 26px rgba(3,20,48,.34),
        inset 0 1px 0 rgba(255,255,255,.08);
}

.ai-msg.bot,
.ai-msg.bot p,
.ai-msg.bot li,
.ai-msg.bot span {
    font-weight:400 !important;
}

.ai-msg.bot strong,
.ai-msg.bot b {
    font-weight:500 !important;
}


/* 08. USER MESSAGE */

.ai-msg.user {
    align-self:flex-end;

    border:1px solid rgba(135,190,255,.42);
    border-bottom-right-radius:8px;

    background:
        linear-gradient(
            145deg,
            #2E7DD1 0%,
            #1257A6 58%,
            #0A3478 100%
        );

    color:#F4F8FF;

    font-weight:400 !important;

    box-shadow:0 10px 24px rgba(5,38,91,.28);
}


/* 09. LINKS */

.ai-msg.bot a,
.ai-msg.bot a:visited {
    display:inline-block !important;

    margin:10px 0 !important;
    padding:4px 0 !important;

    color:#86C5FF !important;

    font-weight:600 !important;

    text-decoration:underline !important;
    text-underline-offset:4px !important;
}

.ai-msg.bot a:hover,
.ai-msg.bot a:focus {
    color:#C6E6FF !important;
}


/* 10. TIME ITEMS */

.ai-time-list {
    display:flex;
    flex-wrap:wrap;

    gap:8px;

    line-height:1.62;
}

.ai-time-item {
    min-height:30px;

    display:inline-flex;
    align-items:center;

    padding:6px 10px;

    border:1px solid rgba(90,160,225,.32);
    border-radius:10px;

    background:
        linear-gradient(
            145deg,
            #183F68 0%,
            #102F52 100%
        );

    color:#ffffff;

    font-weight:500 !important;

    box-shadow:0 4px 12px rgba(3,30,70,.24);
}


/* 11. FOOTER */

.ai-footer {
    display:flex;
    align-items:center;
    gap:8px;

    padding:6px;

    background:
        linear-gradient(
            145deg,
            rgba(18,87,166,.94) 0%,
            rgba(10,52,120,.96) 52%,
            rgba(7,31,74,.97) 100%
        );

    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);

    box-shadow:0 8px 20px rgba(4,24,61,.40);
}


/* 12. INPUT */

.ai-footer input {
    min-width:0;
    flex:1;

    padding:9px 11px;

    border:1px solid rgba(150,200,255,.52);
    border-radius:20px;

    background:
        linear-gradient(
            180deg,
            #2E7DD1 0%,
            #1257A6 55%,
            #0A3478 100%
        );

    color:#F4F8FF;

    font-size:15px;
    font-weight:400;

    letter-spacing:.15px;
    line-height:1.35;

    outline:none;

    box-shadow:
        0 8px 20px rgba(5,38,91,.24),
        inset 0 1px 0 rgba(255,255,255,.16);

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

.ai-footer input::placeholder {
    color:rgba(235,245,255,.78);

    font-size:12px;
    font-weight:400;
}

.ai-footer input:focus {
    border-color:rgba(180,220,255,.90);

    background:
        linear-gradient(
            180deg,
            #3989DC 0%,
            #1763B8 55%,
            #0A3C87 100%
        );

    box-shadow:
        0 0 0 3px rgba(46,125,209,.20),
        0 8px 20px rgba(5,38,91,.30),
        inset 0 1px 0 rgba(255,255,255,.20);
}


/* 13. SEND BUTTON */

.ai-footer button {
    width:36px;
    height:36px;
    flex:0 0 36px;

    aspect-ratio:1/1;

    display:grid;
    place-items:center;

    padding:0;
    margin:0;

    border:1px solid rgba(150,200,255,.55);
    border-radius:50%;

    background:
        linear-gradient(
            135deg,
            #2E7DD1 0%,
            #1257A6 55%,
            #071F4A 100%
        );

    color:#F4F8FF;

    font-size:17px;
    font-weight:700;
    line-height:1;

    cursor:pointer;

    box-shadow:
        0 8px 20px rgba(5,38,91,.38),
        inset 0 1px 0 rgba(255,255,255,.24);

    transition:
        transform .2s ease,
        filter .2s ease,
        box-shadow .2s ease;
}

.ai-footer button:hover,
.ai-footer button:focus-visible {
    transform:translateY(-1px) scale(1.03);

    filter:brightness(1.10);

    box-shadow:
        0 11px 25px rgba(5,38,91,.46),
        inset 0 1px 0 rgba(255,255,255,.30);

    outline:none;
}


/* 14. MOBILE - PORTRAIT */

@media (max-width:480px) {

    #ai-chat-window {
        right:5px !important;
        bottom:130px !important;

        width:calc(100vw - 10px) !important;
        max-width:none !important;

        height:min(72vh,620px) !important;
        max-height:calc(100dvh - 112px) !important;

        border-radius:14px !important;

        background-position:center center !important;
        background-size:cover !important;
    }

    #ai-chat-fab {
        right:12px !important;
        bottom:36px !important;

        width:56px !important;
        height:56px !important;

        font-size:28px !important;
    }

    .ai-msg {
        max-width:92%;

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

    .ai-footer {
        padding:8px;
    }

    .ai-footer input {
        font-size:15px;
    }

    .ai-footer input::placeholder {
        font-size:11.5px;
    }

    .ai-header-title {
        font-size:15px;
    }

    .ai-header-status {
        font-size:12px;
    }
}


/* 15. MOBILE - LANDSCAPE */

@media (max-height:500px) and (orientation:landscape) {

    #ai-chat-window {
        top:8px !important;
        bottom:8px !important;
        right:10px !important;

        width:min(430px,62vw) !important;
        max-width:calc(100vw - 20px) !important;

        height:auto !important;
        max-height:none !important;

        border-radius:12px !important;

        background-position:center center !important;
        background-size:cover !important;
    }

    #ai-chat-fab {
        right:12px !important;
        bottom:14px !important;

        width:48px !important;
        height:48px !important;

        font-size:23px !important;
    }

    .ai-header {
        min-height:42px !important;
        padding:5px 7px !important;
    }

    .ai-header-logo {
        width:32px !important;
        height:32px !important;
        flex:0 0 32px !important;

        font-size:17px !important;
    }

    .ai-header-status {
        margin-top:2px !important;
    }

    .ai-body {
        padding:8px 10px !important;
    }

    .ai-footer {
        padding:5px !important;
    }

    .ai-footer input {
        padding:8px 10px !important;
    }
}


/* 16. TABLET */

@media (min-width:481px) and (max-width:900px) and (min-height:501px) {

    #ai-chat-window {
        right:14px !important;
        bottom:120px !important;

        width:min(410px,calc(100vw - 28px)) !important;
        max-width:none !important;

        height:min(600px,72vh) !important;
        max-height:calc(100dvh - 145px) !important;

        border-radius:14px !important;

        background-position:center center !important;
        background-size:cover !important;
    }

    #ai-chat-fab {
        right:16px !important;
        bottom:30px !important;

        width:54px !important;
        height:54px !important;

        font-size:25px !important;
    }
}


/* 17. REDUCED MOTION */

@media (prefers-reduced-motion:reduce) {

    #ai-chat-fab,
    .ai-header-close,
    .ai-header-reset,
    .ai-footer input,
    .ai-footer button {
        transition:none !important;
    }
}
