/* DOODO FORMS — Chat Widget */
:root{
    --dw-radius:16px;
    --dw-shadow:0 8px 40px rgba(0,0,0,.18);
    --dw-transition:all .3s cubic-bezier(.4,0,.2,1);
}

/* ── Positioning ────────────────────────────────────────── */
.doodo-chat-widget{
    position:fixed;
    z-index:999999;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
}
.doodo-widget-bottom-right{ bottom:24px; right:24px; }
.doodo-widget-bottom-left { bottom:24px; left:24px; align-items:flex-start; }

/* ── Popup ──────────────────────────────────────────────── */
.doodo-widget-popup{
    width:340px;
    background:#fff;
    border-radius:var(--dw-radius);
    box-shadow:var(--dw-shadow);
    margin-bottom:12px;
    overflow:hidden;
    transform:scale(.9) translateY(20px);
    opacity:0;
    pointer-events:none;
    transform-origin:bottom right;
    transition:var(--dw-transition);
}
.doodo-widget-bottom-left .doodo-widget-popup{
    transform-origin:bottom left;
}
.doodo-widget-popup.open{
    transform:scale(1) translateY(0);
    opacity:1;
    pointer-events:all;
}

/* ── Header ─────────────────────────────────────────────── */
.doodo-widget-header{
    padding:20px;
    color:#fff;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}
.doodo-widget-header-text strong{
    display:block;
    font-size:20px;
    font-weight:800;
    line-height:1.2;
    margin-bottom:3px;
}
.doodo-widget-header-text span{
    font-size:14px;
    opacity:.9;
}
.doodo-widget-close{
    background:rgba(255,255,255,.2);
    border:none;
    color:#fff;
    width:28px;
    height:28px;
    border-radius:50%;
    cursor:pointer;
    font-size:13px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    transition:background .2s;
}
.doodo-widget-close:hover{ background:rgba(255,255,255,.35); }

/* ── Body ───────────────────────────────────────────────── */
.doodo-widget-body{
    padding:16px;
    max-height:420px;
    overflow-y:auto;
}
.doodo-widget-offline-msg{
    font-size:13px;
    color:#4b5563;
    line-height:1.5;
    margin:0 0 14px;
    padding:12px;
    background:#f9fafb;
    border-radius:10px;
    border-left:3px solid #e5e7eb;
}

/* Override form inside widget */
.doodo-widget-body .doodo-form-wrap{ padding:0; }
.doodo-widget-body .doodo-input{ font-size:13px; padding:9px 11px; }
.doodo-widget-body .doodo-field-label{ font-size:12px; }
.doodo-widget-body .doodo-submit-btn{
    font-size:14px;
    padding:11px;
    border-radius:10px;
}
.doodo-widget-body .doodo-form-fields{ gap:10px; }
.doodo-widget-body .doodo-textarea{ min-height:80px; }
.doodo-widget-body .doodo-form-messages{ font-size:13px; }

/* ── Trigger Button ─────────────────────────────────────── */
.doodo-widget-trigger{
    width:56px;
    height:56px;
    border-radius:50%;
    border:none;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 4px 20px rgba(0,0,0,.25);
    transition:var(--dw-transition);
    position:relative;
    overflow:hidden;
}
.doodo-widget-trigger:hover{
    transform:scale(1.08);
    box-shadow:0 6px 24px rgba(0,0,0,.3);
}
.doodo-widget-trigger svg{
    transition:var(--dw-transition);
    position:absolute;
}
.doodo-widget-trigger.open svg{ opacity:0; transform:rotate(90deg) scale(.7); }
.doodo-widget-close-icon{
    position:absolute;
    font-size:20px;
    color:#fff;
    transition:var(--dw-transition);
    opacity:0;
    transform:rotate(-90deg) scale(.7);
}
.doodo-widget-trigger.open .doodo-widget-close-icon{
    opacity:1;
    transform:rotate(0) scale(1);
    display:flex!important;
}

/* ── Notification badge ─────────────────────────────────── */
.doodo-widget-badge{
    position:absolute;
    top:-3px;
    right:-3px;
    width:18px;
    height:18px;
    background:#ef4444;
    color:#fff;
    border-radius:50%;
    font-size:10px;
    font-weight:800;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2px solid #fff;
    animation:doodo-pulse 2s infinite;
}
@keyframes doodo-pulse{
    0%,100%{ box-shadow:0 0 0 0 rgba(239,68,68,.4); }
    50%{ box-shadow:0 0 0 6px rgba(239,68,68,0); }
}

/* ── Mobile ─────────────────────────────────────────────── */
@media(max-width:400px){
    .doodo-widget-popup{ width:calc(100vw - 32px); }
    .doodo-widget-bottom-right,
    .doodo-widget-bottom-left{ right:16px; left:16px; bottom:16px; align-items:flex-end; }
}

/* Scrollbar styling */
.doodo-widget-body::-webkit-scrollbar{ width:4px; }
.doodo-widget-body::-webkit-scrollbar-track{ background:transparent; }
.doodo-widget-body::-webkit-scrollbar-thumb{ background:#d1d5db; border-radius:4px; }
