@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700&family=Lato:wght@300;400;700&display=swap');

/* ══════════════════════════════════════════════════════════════
   HIGH-SPECIFICITY RESET — overrides Breakdance and theme CSS
══════════════════════════════════════════════════════════════ */
div#daice-root,
div#daice-root *,
div#daice-root *::before,
div#daice-root *::after {
    box-sizing: border-box !important;
    font-family: 'Lato', 'Helvetica Neue', Arial, sans-serif;
}

div#daice-root {
    width: 100%;
    max-width: 580px;
    margin: 20px auto 40px !important;
    padding: 0 24px !important;
    color: #1c1c1e;
    line-height: normal;
}

/* ── Screen toggle ── */
div#daice-root .daice-screen { display: none !important; }
div#daice-root .daice-screen.daice-active { display: flex !important; flex-direction: column !important; }

/* ══════════════════════════════════════
   HEADER (shared)
══════════════════════════════════════ */
div#daice-root .daice-header {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    background: #1a3a5c !important;
    padding: 14px 20px !important;
    border-radius: 10px 10px 0 0 !important;
    margin: 0 !important;
}
div#daice-root .daice-logo {
    width: 38px !important;
    height: 38px !important;
    border-radius: 5px !important;
    object-fit: contain !important;
    flex-shrink: 0 !important;
    display: block !important;
}
div#daice-root .daice-header-label {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    color: #ffffff !important;
    flex: 1 !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    background: none !important;
    border: none !important;
}
div#daice-root .daice-header-center {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}
div#daice-root .daice-attorney-badge {
    font-size: 11px !important;
    color: #90cca0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-family: 'Lato', sans-serif !important;
}
div#daice-root .daice-green-dot {
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #34d399 !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
}
div#daice-root .daice-header-phone {
    font-family: 'Poppins', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #f79106 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}

/* ══════════════════════════════════════
   FORM SCREEN
══════════════════════════════════════ */
div#daice-root #daice-form-screen {
    background: #ffffff !important;
    border-radius: 10px !important;
    border: 1px solid #ddd7cc !important;
    box-shadow: 0 6px 30px rgba(26,58,92,0.13) !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}

div#daice-root .daice-form-body {
    padding: 28px 28px 22px !important;
    margin: 0 !important;
}

div#daice-root .daice-headline {
    font-family: 'Poppins', sans-serif !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #1a3a5c !important;
    line-height: 1.3 !important;
    text-align: center !important;
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
}

div#daice-root .daice-subtitle {
    font-size: 13px !important;
    color: #6b7280 !important;
    line-height: 1.6 !important;
    text-align: center !important;
    margin: 0 0 22px 0 !important;
    padding: 0 !important;
}
div#daice-root .daice-subtitle strong {
    color: #1a3a5c !important;
    font-weight: 700 !important;
}

/* Error box */
div#daice-root .daice-form-error {
    background: #fff0f0 !important;
    border: 1px solid #fca5a5 !important;
    border-radius: 6px !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
    color: #b91c1c !important;
    margin: 0 0 16px 0 !important;
    line-height: 1.4 !important;
}

/* ── Field groups ── */
div#daice-root .daice-field-group {
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
    display: block !important;
    text-align: left !important;
}
div#daice-root .daice-field-group label {
    display: block !important;
    font-family: 'Lato', sans-serif !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #1a3a5c !important;
    margin: 0 0 5px 0 !important;
    padding: 0 !important;
    text-align: left !important;
    line-height: 1.2 !important;
    width: 100% !important;
    float: none !important;
    background: none !important;
}
div#daice-root .daice-field-group input[type="text"],
div#daice-root .daice-field-group input[type="email"],
div#daice-root .daice-field-group input[type="tel"] {
    display: block !important;
    width: 100% !important;
    height: 44px !important;
    padding: 0 14px !important;
    margin: 0 !important;
    border: 1.5px solid #d0cbc3 !important;
    border-radius: 7px !important;
    background: #fafaf8 !important;
    font-family: 'Lato', sans-serif !important;
    font-size: 15px !important;
    color: #1c1c1e !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    transition: border-color 0.15s, box-shadow 0.15s !important;
    text-align: left !important;
    line-height: 44px !important;
}
div#daice-root .daice-field-group input:focus {
    border-color: #1a3a5c !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(26,58,92,0.1) !important;
    outline: none !important;
}
div#daice-root .daice-field-group input::placeholder {
    color: #b5b0a8 !important;
    font-style: normal !important;
}

/* ── Consent checkbox ── */
div#daice-root .daice-consent-label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    cursor: pointer !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    text-align: left !important;
    line-height: normal !important;
}
div#daice-root .daice-consent-label input[type="checkbox"] {
    width: 17px !important;
    height: 17px !important;
    min-width: 17px !important;
    margin: 2px 0 0 0 !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
    accent-color: #1a3a5c !important;
    cursor: pointer !important;
    display: inline-block !important;
    -webkit-appearance: checkbox !important;
    appearance: checkbox !important;
}
div#daice-root .daice-consent-label span {
    font-size: 12px !important;
    color: #6b7280 !important;
    line-height: 1.55 !important;
    font-family: 'Lato', sans-serif !important;
    font-weight: 400 !important;
    display: block !important;
}

/* ── CTA Button ── */
div#daice-root .daice-btn-primary {
    display: block !important;
    width: 100% !important;
    height: 50px !important;
    padding: 0 20px !important;
    margin: 0 !important;
    background: #f79106 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0.2px !important;
    cursor: pointer !important;
    box-shadow: 0 3px 14px rgba(247,145,6,0.38) !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    text-align: center !important;
    line-height: 50px !important;
    transition: background 0.15s !important;
}
div#daice-root .daice-btn-primary:hover { background: #e07500 !important; }
div#daice-root .daice-btn-primary:disabled {
    background: #ddd8d0 !important;
    color: #999 !important;
    box-shadow: none !important;
    cursor: not-allowed !important;
}

/* ── Disclaimer bar ── */
div#daice-root .daice-disclaimer-bar {
    background: #f5f2ee !important;
    border-top: 1px solid #e0dbd3 !important;
    padding: 11px 20px !important;
    font-size: 11px !important;
    color: #8a8480 !important;
    line-height: 1.5 !important;
    text-align: center !important;
    margin: 0 !important;
}

/* ══════════════════════════════════════
   CHAT SCREEN
══════════════════════════════════════ */
div#daice-root #daice-chat-screen {
    background: #ffffff !important;
    border-radius: 10px !important;
    border: 1px solid #ddd7cc !important;
    box-shadow: 0 6px 30px rgba(26,58,92,0.13) !important;
    overflow: hidden !important;
    height: 500px !important;
    margin: 0 !important;
    padding: 0 !important;
}

div#daice-root .daice-chat-disclaimer {
    background: #fff9f0 !important;
    border-bottom: 1px solid #ffe4b3 !important;
    padding: 7px 16px !important;
    font-size: 11px !important;
    color: #7a5c1e !important;
    text-align: center !important;
    line-height: 1.4 !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
}

div#daice-root .daice-messages {
    flex: 1 !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 16px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    background: #f9f8f6 !important;
    scroll-behavior: smooth !important;
    margin: 0 !important;
}
div#daice-root .daice-messages::-webkit-scrollbar { width: 4px !important; }
div#daice-root .daice-messages::-webkit-scrollbar-thumb { background: #d0cbc3 !important; border-radius: 4px !important; }

/* Message rows */
div#daice-root .daice-msg-row {
    display: flex !important;
    align-items: flex-end !important;
    gap: 8px !important;
    animation: daice-pop 0.2s ease both !important;
    margin: 0 !important;
    padding: 0 !important;
}
div#daice-root .daice-msg-row.user { flex-direction: row-reverse !important; }

@keyframes daice-pop {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}

div#daice-root .daice-avatar {
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    background: #1a3a5c !important;
    color: #f79106 !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
}

div#daice-root .daice-bubble {
    max-width: 78% !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    border-radius: 16px !important;
    margin: 0 !important;
}
div#daice-root .daice-msg-row.assistant .daice-bubble {
    background: #f0ede8 !important;
    border-bottom-left-radius: 4px !important;
    color: #1c1c1e !important;
}
div#daice-root .daice-msg-row.user .daice-bubble {
    background: #1a3a5c !important;
    color: #ffffff !important;
    border-bottom-right-radius: 4px !important;
}
div#daice-root .daice-bubble p { margin: 0 0 5px 0 !important; padding: 0 !important; }
div#daice-root .daice-bubble p:last-child { margin-bottom: 0 !important; }
div#daice-root .daice-bubble strong { font-weight: 700 !important; }

/* Typing dots */
div#daice-root .daice-typing-dots {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 3px 0 !important;
}
div#daice-root .daice-typing-dots span {
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #bbb !important;
    display: inline-block !important;
    animation: daice-bounce 1.1s ease-in-out infinite !important;
}
div#daice-root .daice-typing-dots span:nth-child(2) { animation-delay: 0.18s !important; }
div#daice-root .daice-typing-dots span:nth-child(3) { animation-delay: 0.36s !important; }
@keyframes daice-bounce {
    0%,80%,100% { transform: translateY(0); }
    40%         { transform: translateY(-6px); }
}

/* Input area */
div#daice-root .daice-input-area {
    display: flex !important;
    align-items: flex-end !important;
    gap: 8px !important;
    padding: 10px 12px !important;
    border-top: 1px solid #e5e0d8 !important;
    background: #ffffff !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
}
div#daice-root #daice-user-input {
    flex: 1 !important;
    min-height: 40px !important;
    max-height: 96px !important;
    padding: 10px 14px !important;
    margin: 0 !important;
    border: 1.5px solid #d0cbc3 !important;
    border-radius: 20px !important;
    font-family: 'Lato', sans-serif !important;
    font-size: 14px !important;
    color: #1c1c1e !important;
    background: #fafaf8 !important;
    outline: none !important;
    resize: none !important;
    overflow-y: auto !important;
    line-height: 1.4 !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    display: block !important;
}
div#daice-root #daice-user-input:focus {
    border-color: #1a3a5c !important;
    background: #ffffff !important;
    outline: none !important;
}
div#daice-root #daice-user-input::placeholder { color: #bbb !important; font-style: normal !important; }
div#daice-root #daice-user-input:disabled { opacity: 0.45 !important; }

div#daice-root .daice-send-btn {
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    border: none !important;
    background: #f79106 !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: 0 2px 8px rgba(247,145,6,0.35) !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}
div#daice-root .daice-send-btn:hover { background: #e07500 !important; }
div#daice-root .daice-send-btn:disabled { background: #ddd !important; box-shadow: none !important; cursor: not-allowed !important; }
div#daice-root .daice-send-btn svg { width: 16px !important; height: 16px !important; margin-left: 2px !important; display: block !important; }

/* ══════════════════════════════════════
   MOBILE ≤ 600px
══════════════════════════════════════ */
@media (max-width: 600px) {
    div#daice-root {
        padding: 0 10px !important;
    }
    div#daice-root .daice-form-body {
        padding: 20px 18px 18px !important;
    }
    div#daice-root .daice-headline { font-size: 17px !important; }
    div#daice-root .daice-header-phone { display: none !important; }
    div#daice-root #daice-chat-screen { height: 440px !important; }
    div#daice-root .daice-bubble { max-width: 86% !important; font-size: 13.5px !important; }
}
