/**
 * CEC AI Level 1 — compact floating widget.
 * Copyright © 2026 Georgios Tsioulias MD, PhD. All rights reserved.
 */
.cec-ai-l1{position:relative;z-index:9999;font-family:Arial,sans-serif}
.cec-ai-l1__launcher{
 position:fixed;right:22px;bottom:22px;width:54px;height:54px;border:0;border-radius:50%;
 background:#2271b1;color:#fff;box-shadow:0 3px 14px rgba(0,0,0,.18);cursor:pointer;font-size:17px
}
.cec-ai-l1__dot{position:absolute;right:8px;top:8px;width:8px;height:8px;border-radius:50%;background:#5bd36b}
.cec-ai-l1__panel{
 position:fixed;right:22px;bottom:22px;width:340px;max-width:calc(100vw - 24px);
 background:#f8fcff;border:1px solid #91c9ee;border-radius:15px;box-shadow:0 8px 28px rgba(0,0,0,.20);
 overflow:hidden
}
.cec-ai-l1__head{display:flex;align-items:center;justify-content:space-between;padding:11px 13px;background:#d9f0ff;border-bottom:1px solid #91c9ee}
.cec-ai-l1__head strong{font-size:17px;color:#064b78}
.cec-ai-l1__head small{display:block;margin-top:2px;font-size:11px;color:#46616f}
.cec-ai-l1__head button{border:0;background:transparent;font-size:24px;line-height:1;cursor:pointer;color:#064b78}
.cec-ai-l1__body{padding:10px 11px}
.cec-ai-l1__messages{max-height:180px;overflow:auto}
.cec-ai-l1__message{max-width:92%;margin:6px 0;padding:8px 10px;border-radius:10px;font-size:13px;line-height:1.4}
.cec-ai-l1__message--ai{background:#eef2f5;color:#1d2327}
.cec-ai-l1__message--user{background:#2271b1;color:#fff;margin-left:auto}
.cec-ai-l1__quick{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 4px}
.cec-ai-l1__quick button{border:1px solid #2271b1;background:#fff;color:#064b78;border-radius:9px;padding:6px 8px;font-size:12px;font-weight:700;cursor:pointer}
.cec-ai-l1__quick button:last-child{background:#2271b1;color:#fff}
.cec-ai-l1__form{display:flex;gap:6px;padding:8px 10px;border-top:1px solid #d9e3ea;background:#fff}
.cec-ai-l1__form input{flex:1;min-width:0;border:1px solid #aab7c1;border-radius:8px;padding:8px 9px;font-size:13px}
.cec-ai-l1__form button{border:0;border-radius:8px;background:#2271b1;color:#fff;padding:8px 10px;font-size:12px;font-weight:700;cursor:pointer}
.cec-ai-l1__note{padding:0 11px 9px;background:#fff;color:#687782;font-size:10px}
@media(max-width:480px){
 .cec-ai-l1__launcher{right:12px;bottom:12px;width:50px;height:50px}
 .cec-ai-l1__panel{right:8px;bottom:8px;width:calc(100vw - 16px)}
 .cec-ai-l1__messages{max-height:150px}
}


/* v1.1.0 — inline compact panel, rendered exactly at shortcode position */
.cec-ai-l1{
    position:relative!important;
    z-index:auto!important;
    width:100%!important;
    max-width:380px!important;
    margin:12px auto!important;
    font-family:Arial,sans-serif!important;
}
.cec-ai-l1__launcher{
    display:none!important;
}
.cec-ai-l1__panel{
    position:relative!important;
    right:auto!important;
    bottom:auto!important;
    width:100%!important;
    max-width:380px!important;
    margin:0 auto!important;
    background:#f8fcff!important;
    border:1px solid #91c9ee!important;
    border-radius:14px!important;
    box-shadow:0 3px 14px rgba(0,0,0,.10)!important;
    overflow:hidden!important;
}
.cec-ai-l1__head{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    padding:12px 14px!important;
    background:#d9f0ff!important;
    border-bottom:1px solid #91c9ee!important;
}
.cec-ai-l1__brand{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
}
.cec-ai-l1__badge{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:38px!important;
    height:38px!important;
    border-radius:9px!important;
    background:#2271b1!important;
    color:#fff!important;
    font-size:15px!important;
    font-weight:900!important;
}
.cec-ai-l1__head strong{
    font-size:18px!important;
}
.cec-ai-l1__head small{
    font-size:12px!important;
}
.cec-ai-l1__body{
    padding:12px 13px!important;
}
.cec-ai-l1__message{
    font-size:14px!important;
    padding:9px 11px!important;
}
.cec-ai-l1__messages{
    max-height:210px!important;
}
.cec-ai-l1__quick button{
    padding:7px 9px!important;
    font-size:13px!important;
}
.cec-ai-l1__form{
    padding:10px 12px!important;
}
.cec-ai-l1__form input{
    padding:9px 10px!important;
    font-size:14px!important;
}
.cec-ai-l1__form button{
    padding:9px 11px!important;
    font-size:13px!important;
}
.cec-ai-l1__note{
    padding:0 12px 10px!important;
    font-size:11px!important;
}
@media(max-width:480px){
    .cec-ai-l1{
        max-width:100%!important;
        margin:8px auto!important;
    }
    .cec-ai-l1__panel{
        width:100%!important;
        max-width:100%!important;
    }
    .cec-ai-l1__messages{
        max-height:170px!important;
    }
}


/* v1.1.1 — sticky follow-on-scroll behavior */
.cec-ai-l1{
    position:sticky!important;
    top:18px!important;
    align-self:flex-start!important;
    z-index:50!important;
}
@media(max-width:480px){
    .cec-ai-l1{
        top:8px!important;
    }
}


/* v1.2.0 — round collapsed launcher + open/close panel */
.cec-ai-l1{
    position:sticky!important;
    top:18px!important;
    z-index:50!important;
    max-width:380px!important;
    margin:12px auto!important;
}

.cec-ai-l1__launcher{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:58px!important;
    height:58px!important;
    margin-left:auto!important;
    border:2px solid #1976d2!important;
    border-radius:50%!important;
    background:#2271b1!important;
    color:#fff!important;
    box-shadow:0 4px 14px rgba(0,0,0,.16)!important;
    cursor:pointer!important;
    padding:0!important;
}
.cec-ai-l1__launcher span{
    font-size:18px!important;
    font-weight:900!important;
    letter-spacing:.4px!important;
}
.cec-ai-l1__launcher:hover{
    background:#064b78!important;
    border-color:#064b78!important;
}

.cec-ai-l1__panel{
    position:relative!important;
    width:100%!important;
    max-width:380px!important;
    margin:0 auto!important;
}

.cec-ai-l1__close{
    border:0!important;
    background:transparent!important;
    color:#064b78!important;
    font-size:28px!important;
    font-weight:700!important;
    line-height:1!important;
    cursor:pointer!important;
    padding:2px 4px!important;
}

.cec-ai-l1__panel[hidden],
.cec-ai-l1__launcher[hidden]{
    display:none!important;
}

@media(max-width:480px){
    .cec-ai-l1{
        top:8px!important;
        max-width:100%!important;
    }
    .cec-ai-l1__launcher{
        width:54px!important;
        height:54px!important;
    }
    .cec-ai-l1__panel{
        max-width:100%!important;
    }
}


/* v1.2.1 — mobile visibility fix */
.cec-ai-l1{
    overflow:visible!important;
    min-height:58px!important;
}
.cec-ai-l1__launcher{
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
}
.cec-ai-l1__panel{
    visibility:visible!important;
    opacity:1!important;
}

/* Elementor/mobile containers often clip sticky children */
@media(max-width:767px){
    .cec-ai-l1{
        position:relative!important;
        top:auto!important;
        z-index:99999!important;
        width:100%!important;
        max-width:100%!important;
        min-height:56px!important;
        overflow:visible!important;
    }

    .cec-ai-l1__launcher{
        display:flex!important;
        position:relative!important;
        right:auto!important;
        bottom:auto!important;
        width:54px!important;
        height:54px!important;
        margin:8px 8px 8px auto!important;
        z-index:99999!important;
        visibility:visible!important;
        opacity:1!important;
    }

    .cec-ai-l1__panel{
        position:relative!important;
        width:100%!important;
        max-width:100%!important;
        margin:8px 0 0!important;
        z-index:99999!important;
        overflow:visible!important;
        box-sizing:border-box!important;
    }

    .cec-ai-l1__panel[hidden]{
        display:none!important;
    }

    .cec-ai-l1__launcher[hidden]{
        display:none!important;
    }
}


/* v1.2.2 — launcher centered and higher */
.cec-ai-l1{
    top:6px!important;
}
.cec-ai-l1__launcher{
    margin:4px auto!important;
}
@media(max-width:767px){
    .cec-ai-l1{
        top:auto!important;
        margin-top:0!important;
    }
    .cec-ai-l1__launcher{
        margin:2px auto 6px!important;
    }
}


/* v1.2.3 — collapsed AI higher/centered; open panel stays in normal shortcode position */
.cec-ai-l1__launcher{
    transform:translateY(-34px)!important;
    margin:0 auto!important;
}
.cec-ai-l1__panel{
    transform:none!important;
    margin:0 auto!important;
}

/* Clinic A/B booking choice */
.cec-ai-l1__booking-choice{
    margin:8px 0 4px;
    padding:8px;
    border:1px solid #c9dce8;
    border-radius:10px;
    background:#fff;
}
.cec-ai-l1__booking-title{
    font-size:13px;
    font-weight:900;
    margin-bottom:7px;
    color:#1d2327;
}
.cec-ai-l1__booking-clinics{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
}
.cec-ai-l1__clinic-card{
    border-radius:9px;
    padding:8px;
    font-size:12px;
}
.cec-ai-l1__clinic-card--a{
    background:#d9f0ff;
    border:1px solid #1976d2;
}
.cec-ai-l1__clinic-card--b{
    background:#d6f5d6;
    border:1px solid #159447;
}
.cec-ai-l1__clinic-card strong,
.cec-ai-l1__clinic-card span,
.cec-ai-l1__clinic-card small{
    display:block;
}
.cec-ai-l1__clinic-card strong{
    font-size:13px;
    margin-bottom:4px;
}
.cec-ai-l1__clinic-card span{
    line-height:1.3;
    margin-bottom:4px;
}
.cec-ai-l1__clinic-card small{
    font-size:11px;
    line-height:1.35;
}
.cec-ai-l1__clinic-card button{
    width:100%;
    margin-top:7px;
    border:0;
    border-radius:7px;
    padding:7px 5px;
    background:#2271b1;
    color:#fff;
    font-size:11px;
    font-weight:900;
    cursor:pointer;
}
@media(max-width:480px){
    .cec-ai-l1__launcher{
        transform:translateY(-22px)!important;
    }
    .cec-ai-l1__booking-clinics{
        grid-template-columns:1fr;
    }
}


/* v1.3.1 — exact shortcode positioning */
.cec-ai-l1{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    z-index:50!important;
    width:max-content!important;
    max-width:none!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    align-self:auto!important;
}

.cec-ai-l1__launcher{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    transform:none!important;
    margin:0!important;
    width:58px!important;
    height:58px!important;
}

/* Open panel is anchored to the AI button, not to the page */
.cec-ai-l1__panel{
    position:absolute!important;
    top:66px!important;
    left:50%!important;
    right:auto!important;
    bottom:auto!important;
    transform:translateX(-50%)!important;
    width:380px!important;
    max-width:min(380px, calc(100vw - 20px))!important;
    margin:0!important;
    z-index:99999!important;
}

@media(max-width:767px){
    .cec-ai-l1{
        position:relative!important;
        width:max-content!important;
        max-width:none!important;
        margin:0!important;
    }

    .cec-ai-l1__launcher{
        position:relative!important;
        transform:none!important;
        margin:0!important;
        width:54px!important;
        height:54px!important;
    }

    .cec-ai-l1__panel{
        position:absolute!important;
        top:62px!important;
        left:50%!important;
        transform:translateX(-50%)!important;
        width:min(360px, calc(100vw - 16px))!important;
        max-width:calc(100vw - 16px)!important;
        margin:0!important;
    }
}


/* v1.3.2 — robust mobile button interactions */
.cec-ai-l1__message{
    white-space:pre-line!important;
}
.cec-ai-l1__booking-choice[hidden]{
    display:none!important;
}
.cec-ai-l1__booking-choice:not([hidden]){
    display:block!important;
}
.cec-ai-l1__quick button,
.cec-ai-l1__clinic-card button,
.cec-ai-l1__form button,
.cec-ai-l1__launcher,
.cec-ai-l1__close{
    touch-action:manipulation!important;
    pointer-events:auto!important;
}


/* v1.3.3 — server-rendered clinic info and booking links */
.cec-ai-l1__static-info{
    margin:8px 0 4px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
}
.cec-ai-l1__static-info[hidden],
.cec-ai-l1__booking-choice[hidden]{
    display:none!important;
}
.cec-ai-l1__static-clinic{
    border-radius:9px;
    padding:8px;
    font-size:12px;
}
.cec-ai-l1__static-clinic--a{
    background:#d9f0ff;
    border:1px solid #1976d2;
}
.cec-ai-l1__static-clinic--b{
    background:#d6f5d6;
    border:1px solid #159447;
}
.cec-ai-l1__static-clinic strong,
.cec-ai-l1__static-clinic span,
.cec-ai-l1__static-clinic small{
    display:block;
    margin-bottom:3px;
}
.cec-ai-l1__booking-link{
    display:block;
    width:100%;
    box-sizing:border-box;
    margin-top:7px;
    padding:7px 5px;
    border-radius:7px;
    background:#2271b1;
    color:#fff!important;
    text-decoration:none!important;
    text-align:center;
    font-size:11px;
    font-weight:900;
}
.cec-ai-l1__booking-link:hover{
    background:#064b78;
}
.cec-ai-l1__booking-missing{
    display:block;
    margin-top:7px;
    color:#8a1f1f;
    font-size:10px;
    line-height:1.3;
}
@media(max-width:480px){
    .cec-ai-l1__static-info{
        grid-template-columns:1fr;
    }
}


/* v1.3.4 — reload controls + symmetrical booking cards */
.cec-ai-l1__collapsed{
    position:relative!important;
    width:58px!important;
    height:58px!important;
}
.cec-ai-l1__reload{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:32px!important;
    height:32px!important;
    padding:0!important;
    border:1px solid #1976d2!important;
    border-radius:8px!important;
    background:#2271b1!important;
    color:#fff!important;
    font-size:22px!important;
    font-weight:900!important;
    line-height:1!important;
    cursor:pointer!important;
}
.cec-ai-l1__reload:hover{
    background:#064b78!important;
}
.cec-ai-l1__reload--collapsed{
    position:absolute!important;
    right:-13px!important;
    top:-13px!important;
    width:27px!important;
    height:27px!important;
    border-radius:50%!important;
    font-size:18px!important;
    z-index:2!important;
}
.cec-ai-l1__head-actions{
    display:flex!important;
    align-items:center!important;
    gap:5px!important;
}
.cec-ai-l1__head-actions .cec-ai-l1__reload{
    width:30px!important;
    height:30px!important;
    background:transparent!important;
    border:0!important;
    color:#064b78!important;
    font-size:25px!important;
}
.cec-ai-l1__head-actions .cec-ai-l1__close{
    width:30px!important;
    height:30px!important;
}

/* Booking cards must be equal and symmetric */
.cec-ai-l1__booking-clinics{
    align-items:stretch!important;
}
.cec-ai-l1__clinic-card{
    display:flex!important;
    flex-direction:column!important;
    height:100%!important;
    box-sizing:border-box!important;
    min-height:150px!important;
}
.cec-ai-l1__clinic-card > strong{
    min-height:20px!important;
}
.cec-ai-l1__clinic-card > span{
    line-height:1.35!important;
}
.cec-ai-l1__booking-link{
    margin-top:auto!important;
    min-height:38px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:7px 8px!important;
    box-sizing:border-box!important;
}
.cec-ai-l1__booking-missing{
    margin-top:auto!important;
    min-height:38px!important;
    display:flex!important;
    align-items:center!important;
}
@media(max-width:480px){
    .cec-ai-l1__collapsed{
        width:54px!important;
        height:54px!important;
    }
    .cec-ai-l1__clinic-card{
        min-height:auto!important;
    }
}


/* v1.3.5 — remove collapsed reload and raise opened panel */
.cec-ai-l1__reload--collapsed{
    display:none!important;
}
.cec-ai-l1__panel{
    top:54px!important;
}
@media(max-width:767px){
    .cec-ai-l1__panel{
        top:52px!important;
    }
}


/* v1.3.6 — unified typography inside opened AI boxes */
.cec-ai-l1__static-info,
.cec-ai-l1__static-clinic,
.cec-ai-l1__static-clinic strong,
.cec-ai-l1__static-clinic span,
.cec-ai-l1__static-clinic small,
.cec-ai-l1__booking-choice,
.cec-ai-l1__booking-title,
.cec-ai-l1__clinic-card,
.cec-ai-l1__clinic-card strong,
.cec-ai-l1__clinic-card span,
.cec-ai-l1__clinic-card small,
.cec-ai-l1__booking-link,
.cec-ai-l1__booking-missing{
    font-size:14px!important;
    line-height:1.4!important;
}

.cec-ai-l1__static-clinic strong,
.cec-ai-l1__clinic-card strong,
.cec-ai-l1__booking-title,
.cec-ai-l1__booking-link{
    font-weight:700!important;
}

@media(max-width:480px){
    .cec-ai-l1__static-info,
    .cec-ai-l1__static-clinic,
    .cec-ai-l1__static-clinic strong,
    .cec-ai-l1__static-clinic span,
    .cec-ai-l1__static-clinic small,
    .cec-ai-l1__booking-choice,
    .cec-ai-l1__booking-title,
    .cec-ai-l1__clinic-card,
    .cec-ai-l1__clinic-card strong,
    .cec-ai-l1__clinic-card span,
    .cec-ai-l1__clinic-card small,
    .cec-ai-l1__booking-link,
    .cec-ai-l1__booking-missing{
        font-size:14px!important;
    }
}


/* v1.4.0 — Digital Assistant CEC AI branding */
.cec-ai-l1__collapsed{
    width:92px!important;
    height:92px!important;
}
.cec-ai-l1__launcher{
    width:92px!important;
    height:92px!important;
    border-radius:50%!important;
}
.cec-ai-l1__launcher span{
    font-size:12px!important;
    line-height:1.15!important;
    font-weight:900!important;
    text-align:center!important;
    letter-spacing:0!important;
}
.cec-ai-l1__badge{
    width:auto!important;
    min-width:54px!important;
    height:38px!important;
    padding:0 8px!important;
    font-size:12px!important;
    white-space:nowrap!important;
}
.cec-ai-l1__head strong{
    font-size:17px!important;
    line-height:1.2!important;
}
.cec-ai-l1__head small{
    display:none!important;
}
@media(max-width:480px){
    .cec-ai-l1__collapsed{
        width:84px!important;
        height:84px!important;
    }
    .cec-ai-l1__launcher{
        width:84px!important;
        height:84px!important;
    }
    .cec-ai-l1__launcher span{
        font-size:11px!important;
    }
}


/* v1.4.1 — anti-bot honeypot; intentionally invisible to human users */
.cec-ai-l1__hp{
    position:absolute!important;
    left:-10000px!important;
    top:auto!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
}


/* v1.4.2 — privacy notice */
.cec-ai-l1__privacy{
    margin-top:5px!important;
    padding-top:5px!important;
    border-top:1px solid #e2e7ea!important;
    font-size:10px!important;
    line-height:1.35!important;
}
