/* ── Launcher ───────────────────────────────────────────────── */
#ec-launcher{position:fixed;bottom:84px;right:24px;z-index:999999;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;opacity:0;transform:translateY(20px);transition:opacity .4s ease,transform .4s ease;pointer-events:none}
#ec-launcher.ec-launcher-visible{opacity:1;transform:translateY(0);pointer-events:all}

/* ── Bubble ─────────────────────────────────────────────────── */
#ec-bubble{position:relative;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#0073aa,#005f8a);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 16px rgba(0,115,170,.4);transition:transform .2s,box-shadow .2s;outline:none;border:none;margin-left:auto}
#ec-bubble:hover{transform:scale(1.08);box-shadow:0 6px 20px rgba(0,115,170,.5)}
#ec-bubble:active{transform:scale(.96)}
#ec-bubble.ec-bubble-active{background:linear-gradient(135deg,#005f8a,#004a6e)}
#ec-bubble::before{content:'';position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(0,115,170,.35);animation:ec-pulse 2.4s ease-out 1.5s 3}
@keyframes ec-pulse{0%{transform:scale(1);opacity:1}100%{transform:scale(1.5);opacity:0}}
#ec-unread-dot{position:absolute;top:3px;right:3px;width:12px;height:12px;background:#ff4d4d;border-radius:50%;border:2px solid #fff}

/* ── Peek ───────────────────────────────────────────────────── */
#ec-peek{position:absolute;bottom:68px;right:0;background:#fff;border-radius:12px 12px 4px 12px;box-shadow:0 4px 20px rgba(0,0,0,.14);padding:12px 38px 12px 16px;font-size:14px;color:#222;width:280px;max-width:calc(100vw - 80px);line-height:1.5;cursor:pointer;opacity:0;transform:translateY(8px) scale(.96);pointer-events:none;transition:opacity .3s,transform .3s}
#ec-peek::after{content:'';position:absolute;bottom:-7px;right:16px;border:7px solid transparent;border-top-color:#fff;border-bottom:none}
#ec-peek.ec-peek-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:all}
#ec-peek:hover{box-shadow:0 6px 24px rgba(0,0,0,.18)}
#ec-peek-close{position:absolute;top:6px;right:8px;background:none;border:none;color:#aaa;font-size:16px;line-height:1;cursor:pointer;padding:0}
#ec-peek-close:hover{color:#555}

/* ── Window ─────────────────────────────────────────────────── */
#ec-window{position:absolute;bottom:68px;right:0;width:340px;max-height:580px;border-radius:16px;background:#fff;box-shadow:0 8px 40px rgba(0,0,0,.16);display:none;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(12px) scale(.97);transform-origin:bottom right;transition:opacity .26s ease,transform .26s ease}
#ec-window.ec-window-open{opacity:1;transform:translateY(0) scale(1)}
#ec-window.ec-window-closing{opacity:0;transform:translateY(10px) scale(.97)}

/* ── Header ─────────────────────────────────────────────────── */
#ec-hdr{background:linear-gradient(135deg,#0073aa,#005f8a);color:#fff;padding:13px 14px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
#ec-hdr-left{display:flex;align-items:center;gap:10px}
#ec-hdr-av{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0}
#ec-hdr-name{font-weight:600;font-size:14px}
#ec-hdr-status{font-size:11px;opacity:.85;display:flex;align-items:center;gap:4px;margin-top:2px}
.ec-status-dot{width:7px;height:7px;border-radius:50%;background:#6effa0;display:inline-block;animation:ec-spulse 2s ease-in-out infinite}
@keyframes ec-spulse{0%,100%{opacity:1}50%{opacity:.5}}
#ec-close{background:rgba(255,255,255,.15);border:none;color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s}
#ec-close:hover{background:rgba(255,255,255,.25)}

/* ── Messages ───────────────────────────────────────────────── */
#ec-msgs{flex:1;overflow-y:auto;padding:14px 12px;display:flex;flex-direction:column;gap:8px;background:#f4f6f8;scroll-behavior:smooth}
#ec-msgs::-webkit-scrollbar{width:4px}
#ec-msgs::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}
.ec-mwrap{display:flex}.ec-mbot{justify-content:flex-start}.ec-muser{justify-content:flex-end}
.ec-msg-in{animation:ec-min .3s ease forwards}
@keyframes ec-min{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.ec-bbl{padding:9px 13px;border-radius:14px;font-size:13.5px;max-width:84%;line-height:1.52;word-break:break-word}
.ec-bbl-bot{background:#fff;color:#222;border-radius:4px 14px 14px 14px;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.ec-bbl-user{background:linear-gradient(135deg,#0073aa,#005f8a);color:#fff;border-radius:14px 14px 4px 14px}
.ec-bbl-card{background:#fff;padding:0;max-width:96%;border-radius:4px 14px 14px 14px;box-shadow:0 1px 4px rgba(0,0,0,.08);overflow:hidden}
.ec-dots{display:flex;gap:5px;align-items:center;padding:11px 14px}
.ec-dots span{width:7px;height:7px;border-radius:50%;background:#bbb;animation:ec-dot .9s ease-in-out infinite}
.ec-dots span:nth-child(2){animation-delay:.18s}.ec-dots span:nth-child(3){animation-delay:.36s}
@keyframes ec-dot{0%,60%,100%{opacity:.25;transform:scale(.9)}30%{opacity:1;transform:scale(1)}}

/* ── Picks ──────────────────────────────────────────────────── */
#ec-picks{padding:8px 12px 10px;background:#fff;border-top:1px solid #eef0f2;flex-shrink:0;max-height:220px;overflow-y:auto}
.ec-pick-label{font-size:11px;color:#888;margin-bottom:6px;font-weight:500}
.ec-pick{display:block;width:100%;text-align:left;padding:8px 12px;margin-bottom:5px;border:1.5px solid #e0e4e8;border-radius:8px;background:#fff;color:#333;font-size:13px;cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.ec-pick:last-child{margin-bottom:0}
.ec-pick:hover{border-color:#0073aa;background:#f0f7fb;color:#0073aa}
.ec-pick-cat{display:flex;align-items:center;gap:8px;font-size:13px}
.ec-pick-icon{font-size:16px;width:22px;text-align:center;flex-shrink:0}
.ec-pick-course{font-size:12.5px;padding:7px 12px}
.ec-pick-skip{display:inline-block;width:auto;padding:6px 18px;background:transparent;border:1.5px dashed #ccc;color:#999;font-size:12px;border-radius:20px;cursor:pointer;transition:border-color .15s,color .15s}
.ec-pick-skip:hover{border-color:#888;color:#555;background:transparent}

/* ── Input row ──────────────────────────────────────────────── */
#ec-inp-row{display:flex;padding:10px;gap:7px;background:#fff;border-top:1px solid #eef0f2;flex-shrink:0}
#ec-inp{flex:1;border:1.5px solid #e0e4e8;border-radius:10px;padding:8px 12px;font-size:13px;outline:none;transition:border-color .2s;background:#f9fafb;color:#333}
#ec-inp:focus{border-color:#0073aa;background:#fff}
#ec-send-btn{width:36px;height:36px;flex-shrink:0;border-radius:10px;background:linear-gradient(135deg,#0073aa,#005f8a);border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s,opacity .15s}
#ec-send-btn:hover{opacity:.9}
#ec-send-btn:active{transform:scale(.94)}
#ec-footer{font-size:10.5px;color:#aaa;text-align:center;padding:5px 8px 7px;background:#fff;flex-shrink:0}

/* ── Confirmation card ──────────────────────────────────────── */
.ec-confirm-card{padding:14px}
.ec-confirm-title{font-size:13px;font-weight:600;color:#0073aa;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.ec-confirm-fields{border:1px solid #e5e8ec;border-radius:10px;overflow:visible;margin-bottom:10px}
.ec-confirm-row{display:flex;align-items:flex-start;padding:9px 12px;border-bottom:1px solid #f0f2f5;gap:8px;background:#fff;transition:background .15s;flex-wrap:wrap}
.ec-confirm-row:last-child{border-bottom:none}
.ec-confirm-row:hover{background:#fafbfc}
.ec-crow-label{font-size:11px;color:#888;width:64px;flex-shrink:0;font-weight:500;padding-top:2px}
.ec-crow-val{font-size:13px;color:#222;font-weight:500;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-top:1px}
.ec-crow-edit{font-size:11px;color:#0073aa;background:#E6F1FB;border:none;border-radius:20px;padding:3px 10px;cursor:pointer;flex-shrink:0;transition:background .15s;white-space:nowrap}
.ec-crow-edit:hover{background:#B5D4F4}
.ec-confirm-btns{display:flex;flex-direction:column;gap:6px}
.ec-cbtn-ok{padding:10px 14px;border-radius:8px;background:#EAF3DE;border:1.5px solid #639922;color:#27500A;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s;text-align:center;width:100%}
.ec-cbtn-ok:hover{background:#C0DD97}
.ec-cbtn-edit{padding:10px 14px;border-radius:8px;background:#f5f5f5;border:1.5px solid #ddd;color:#555;font-size:13px;cursor:pointer;transition:background .15s;text-align:center;width:100%}
.ec-cbtn-edit:hover{background:#eee}
.ec-edit-hint{font-size:12px;color:#0073aa;text-align:center;margin-top:6px;padding:6px;background:#f0f7fb;border-radius:6px}

/* ── Inline edit form ───────────────────────────────────────── */
.ec-edit-form{
    width:100%;
    padding:10px 12px;
    background:#f0f7fb;
    border-top:1px solid #d0e8f5;
    box-sizing:border-box;
}
.ec-edit-label{font-size:11px;color:#0073aa;font-weight:500;margin-bottom:6px;display:block}
.ec-edit-input{
    width:100%;
    border:1.5px solid #0073aa;
    border-radius:6px;
    padding:8px 10px;
    font-size:13px;
    background:#fff;
    color:#222;
    outline:none;
    box-sizing:border-box;
    display:block;
    margin-bottom:8px;
}
.ec-edit-input:focus{border-color:#005f8a;box-shadow:0 0 0 3px rgba(0,115,170,.1)}
.ec-edit-actions{
    display:flex;
    flex-direction:row;
    gap:8px;
    align-items:center;
}
.ec-edit-save{
    flex:1;
    padding:8px 0;
    background:#0073aa;
    color:#fff;
    border:none;
    border-radius:6px;
    font-size:12px;
    font-weight:600;
    cursor:pointer;
    transition:background .15s;
    text-align:center;
    white-space:nowrap;
}
.ec-edit-save:hover{background:#005f8a}
.ec-edit-save:active{background:#004a6e}
.ec-edit-cancel{
    flex:1;
    padding:8px 0;
    background:#fff;
    border:1.5px solid #ddd;
    border-radius:6px;
    font-size:12px;
    color:#666;
    cursor:pointer;
    text-align:center;
    white-space:nowrap;
    transition:background .15s,border-color .15s;
}
.ec-edit-cancel:hover{background:#f5f5f5;border-color:#bbb}
.ec-edit-error{font-size:11px;color:#c00;margin-top:6px;padding:4px 8px;background:#fff0f0;border-radius:4px;display:block}

/* ── Progress bar ───────────────────────────────────────────── */
#ec-progress{padding:8px 12px 6px;background:#fff;border-bottom:1px solid #eef0f2;flex-shrink:0;flex-direction:column}
#ec-progress-bar{height:4px;border-radius:4px;background:#e8eaed;overflow:hidden;margin-bottom:5px}
#ec-progress-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#fe5224,#9040EF);transition:width .4s ease;width:0%}
#ec-progress-text{font-size:10.5px;color:#888;text-align:right}

/* ── Language toggle ─────────────────────────────────────────── */
#ec-hdr-right{display:flex;align-items:center;gap:6px;flex-shrink:0}
#ec-lang-btn{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);color:#fff;font-size:11.5px;font-weight:600;border-radius:14px;padding:3px 10px;cursor:pointer;transition:background .15s;white-space:nowrap;letter-spacing:.3px}
#ec-lang-btn:hover{background:rgba(255,255,255,.28)}

/* ── Course detail card ─────────────────────────────────────── */
.ec-course-detail-card{padding:12px 14px;font-size:13px}
.ec-cd-title{font-weight:700;color:#0073aa;margin-bottom:8px;font-size:13.5px;line-height:1.3}
.ec-cd-rows{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}
.ec-cd-row{display:flex;align-items:flex-start;gap:8px;line-height:1.4}
.ec-cd-icon{font-size:14px;width:20px;text-align:center;flex-shrink:0;margin-top:1px}
.ec-cd-label{font-size:11px;color:#888;width:72px;flex-shrink:0;font-weight:500;padding-top:2px}
.ec-cd-val{font-size:12.5px;color:#222;flex:1;font-weight:500}
.ec-cd-fee-pill{display:inline-block;padding:3px 10px;background:linear-gradient(135deg,#fe5224,#9040EF);color:#fff;border-radius:12px;font-size:12px;font-weight:700}
.ec-cd-fee .ec-cd-val{font-weight:700;color:#fe5224}
.ec-cd-cta{margin-top:8px;padding:9px 14px;width:100%;border-radius:8px;background:linear-gradient(135deg,#fe5224,#9040EF);border:none;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s;box-sizing:border-box}
.ec-cd-cta:hover{opacity:.88}

/* ── Post-submit action buttons ─────────────────────────────── */
.ec-post-submit{display:flex;flex-direction:column;gap:8px;padding:10px 12px}
.ec-ps-whatsapp{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 14px;border-radius:10px;background:#25D366;border:none;color:#fff;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;transition:opacity .15s}
.ec-ps-whatsapp:hover{opacity:.88}
.ec-ps-visit{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 14px;border-radius:10px;background:linear-gradient(135deg,#fe5224,#9040EF);border:none;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s}
.ec-ps-visit:hover{opacity:.88}

/* ── Visit booking form ─────────────────────────────────────── */
.ec-visit-form{padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.ec-visit-form label{font-size:11.5px;color:#555;font-weight:500;display:block;margin-bottom:2px}
.ec-visit-form input[type="date"],.ec-visit-form select{width:100%;border:1.5px solid #e0e4e8;border-radius:8px;padding:8px 10px;font-size:13px;color:#333;background:#fff;outline:none;box-sizing:border-box;transition:border-color .2s}
.ec-visit-form input[type="date"]:focus,.ec-visit-form select:focus{border-color:#9040EF}
.ec-visit-confirm-btn{padding:11px 14px;width:100%;border-radius:10px;background:linear-gradient(135deg,#fe5224,#9040EF);border:none;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s;box-sizing:border-box}
.ec-visit-confirm-btn:hover{opacity:.88}

/* ── RTL support ─────────────────────────────────────────────── */
#ec-window[dir="rtl"] .ec-bbl-bot{border-radius:14px 4px 14px 14px}
#ec-window[dir="rtl"] .ec-bbl-user{border-radius:14px 14px 14px 4px}
#ec-window[dir="rtl"] .ec-mbot{justify-content:flex-end}
#ec-window[dir="rtl"] .ec-muser{justify-content:flex-start}
#ec-window[dir="rtl"] .ec-bbl-user{background:linear-gradient(135deg,#9040EF,#fe5224)}
#ec-window[dir="rtl"] #ec-progress-fill{background:linear-gradient(270deg,#fe5224,#9040EF)}
#ec-window[dir="rtl"] #ec-progress-text{text-align:left}
#ec-window[dir="rtl"] .ec-confirm-row{flex-direction:row-reverse;text-align:right}
#ec-window[dir="rtl"] .ec-crow-label{text-align:right}
#ec-window[dir="rtl"] .ec-pick{text-align:right}

/* ── Mobile ─────────────────────────────────────────────────── */
@media(max-width:480px){
    #ec-launcher{right:14px;bottom:78px}
    #ec-bubble{width:52px;height:52px}
    #ec-window{width:calc(100vw - 28px);right:0;bottom:74px;border-radius:14px;max-height:78vh}
    #ec-peek{width:calc(100vw - 80px);max-width:calc(100vw - 80px);font-size:13px}
    #ec-msgs{padding:10px}
    .ec-bbl{font-size:13px}
    #ec-picks{max-height:200px}
    .ec-post-submit{padding:8px}
    .ec-cd-label{width:58px}
}
