/* ============================================================
   DadoMediaWeb — Chatbot Widget CSS
   Marco AI Assistant — Tailwind-safe, fully isolated
   ============================================================ */

/* ===== HARD RESET — neutralizza Tailwind e qualsiasi CSS globale ===== */
#dmw-chatbot,
#dmw-chatbot *,
#dmw-chatbot *::before,
#dmw-chatbot *::after {
    all: revert;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font-family: inherit;
    vertical-align: baseline;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ===== CSS VARIABLES ===== */
#dmw-chatbot {
    --dmw-primary:      #1A56DB;
    --dmw-primary-dark: #1444B8;
    --dmw-success:      #22C55E;
    --dmw-warning:      #F59E0B;
    --dmw-error:        #EF4444;
    --dmw-bg:           #FFFFFF;
    --dmw-surface:      #F8FAFC;
    --dmw-border:       #E2E8F0;
    --dmw-text:         #0F172A;
    --dmw-text-2:       #475569;
    --dmw-text-3:       #94A3B8;
    --dmw-shadow-sm:    0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);
    --dmw-shadow-lg:    0 20px 48px rgba(0,0,0,.14), 0 8px 20px rgba(0,0,0,.08);
    --dmw-font:         'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --dmw-z:            9999;
    font-family: var(--dmw-font);
    line-height: 1;
}

/* ===== OVERLAY ===== */
.dmw-chat-overlay {
    display: none !important;
    position: fixed !important;
    top: 0 !important; right: 0 !important; bottom: 0 !important; left: 0 !important;
    background: rgba(15,23,42,.4) !important;
    backdrop-filter: blur(2px) !important;
    z-index: 9998 !important;
    opacity: 0 !important;
    transition: opacity .25s ease !important;
}
.dmw-chat-overlay.show {
    display: block !important;
    opacity: 1 !important;
}
@media (min-width: 640px) {
    .dmw-chat-overlay { display: none !important; }
}

/* ===== BUBBLE ===== */
.dmw-chat-bubble {
    position: fixed !important;
    bottom: 24px !important;
    right: 24px !important;
    width: 56px !important;
    height: 56px !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, #1A56DB 0%, #1444B8 100%) !important;
    box-shadow: 0 4px 20px rgba(26,86,219,.45), 0 2px 8px rgba(0,0,0,.15) !important;
    cursor: pointer !important;
    z-index: 9999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    outline: none !important;
    transition: transform .2s cubic-bezier(.34,1.56,.64,1), box-shadow .2s ease !important;
    user-select: none !important;
    -webkit-tap-highlight-color: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    text-decoration: none !important;
}
.dmw-chat-bubble:hover {
    transform: scale(1.08) !important;
    box-shadow: 0 6px 28px rgba(26,86,219,.55), 0 3px 10px rgba(0,0,0,.18) !important;
}
.dmw-chat-bubble:active { transform: scale(.96) !important; }

.dmw-icon-chat,
.dmw-icon-close {
    position: absolute !important;
    width: 24px !important;
    height: 24px !important;
    stroke: #fff !important;
    stroke-width: 2 !important;
    fill: none !important;
    transition: opacity .2s ease, transform .2s cubic-bezier(.34,1.56,.64,1) !important;
    display: block !important;
}
.dmw-icon-chat  { opacity: 1 !important; transform: scale(1) rotate(0deg) !important; }
.dmw-icon-close { opacity: 0 !important; transform: scale(.6) rotate(30deg) !important; }
.dmw-chat-bubble.is-open .dmw-icon-chat  { opacity: 0 !important; transform: scale(.6) rotate(-30deg) !important; }
.dmw-chat-bubble.is-open .dmw-icon-close { opacity: 1 !important; transform: scale(1) rotate(0deg) !important; }

/* ===== BADGE ===== */
.dmw-chat-badge {
    position: absolute !important;
    top: -4px !important;
    right: -4px !important;
    min-width: 20px !important;
    height: 20px !important;
    border-radius: 10px !important;
    background: #EF4444 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    font-family: var(--dmw-font) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 5px !important;
    border: 2px solid #fff !important;
    line-height: 1 !important;
    z-index: 1 !important;
    animation: dmw-badge-pop .3s cubic-bezier(.34,1.56,.64,1) !important;
}
@keyframes dmw-badge-pop { from { transform: scale(0); } to { transform: scale(1); } }

/* ===== PROMPT TOOLTIP ===== */
.dmw-chat-prompt {
    position: absolute !important;
    bottom: calc(100% + 12px) !important;
    right: 0 !important;
    background: #0F172A !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    font-family: var(--dmw-font) !important;
    line-height: 1.4 !important;
    padding: 10px 14px !important;
    border-radius: 12px !important;
    white-space: nowrap !important;
    box-shadow: 0 4px 16px rgba(0,0,0,.18) !important;
    animation: dmw-prompt-in .3s cubic-bezier(.34,1.56,.64,1) !important;
    z-index: 1 !important;
}
.dmw-chat-prompt::after {
    content: '' !important;
    position: absolute !important;
    bottom: -6px !important;
    right: 20px !important;
    width: 12px !important;
    height: 12px !important;
    background: #0F172A !important;
    clip-path: polygon(0 0, 100% 0, 50% 100%) !important;
    display: block !important;
}
.dmw-prompt-close {
    margin-left: 8px !important;
    cursor: pointer !important;
    opacity: .7 !important;
    font-size: 16px !important;
    transition: opacity .15s !important;
    color: #fff !important;
}
.dmw-prompt-close:hover { opacity: 1 !important; }
@keyframes dmw-prompt-in { from { opacity: 0; transform: translateY(8px) scale(.95); } to { opacity: 1; transform: translateY(0) scale(1); } }

/* ===== PULSE ===== */
.dmw-pulse::before,
.dmw-pulse-aggressive::before {
    content: '' !important;
    position: absolute !important;
    top: -4px !important; right: -4px !important; bottom: -4px !important; left: -4px !important;
    border-radius: 50% !important;
    border: 2px solid rgba(26,86,219,.5) !important;
}
.dmw-pulse::before { animation: dmw-pulse-ring 2.5s ease-out infinite !important; }
.dmw-pulse-aggressive::before { border-color: rgba(26,86,219,.7) !important; animation: dmw-pulse-ring 1.2s ease-out infinite !important; }
.dmw-pulse-aggressive { animation: dmw-bubble-shake .5s ease-in-out 3 !important; }
@keyframes dmw-pulse-ring { 0% { transform: scale(1); opacity: .8; } 100% { transform: scale(1.6); opacity: 0; } }
@keyframes dmw-bubble-shake { 0%,100% { transform: rotate(0); } 20% { transform: rotate(-8deg); } 60% { transform: rotate(8deg); } }

/* ===== CHAT WINDOW ===== */
.dmw-chat-window {
    position: fixed !important;
    bottom: 92px !important;
    right: 24px !important;
    width: 370px !important;
    height: 560px !important;
    max-height: calc(100vh - 116px) !important;
    background: #fff !important;
    border-radius: 20px !important;
    box-shadow: 0 20px 48px rgba(0,0,0,.14), 0 8px 20px rgba(0,0,0,.08) !important;
    z-index: 9999 !important;
    display: none;
    flex-direction: column !important;
    overflow: hidden !important;
    border: 1px solid #E2E8F0 !important;
}
.dmw-chat-window[style*="display: flex"],
.dmw-chat-window[style*="display:flex"] {
    display: flex !important;
}
@media (max-width: 639px) {
    .dmw-chat-window {
        right: 0 !important; bottom: 0 !important; left: 0 !important;
        width: 100% !important; height: 100% !important; max-height: 100% !important;
        border-radius: 0 !important; border: none !important;
    }
}
.dmw-opening { animation: dmw-win-in .28s cubic-bezier(.34,1.2,.64,1) forwards !important; }
.dmw-closing  { animation: dmw-win-out .22s ease-in forwards !important; }
@keyframes dmw-win-in  { from { opacity: 0; transform: translateY(16px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes dmw-win-out { from { opacity: 1; transform: translateY(0) scale(1); } to { opacity: 0; transform: translateY(10px) scale(.97); } }

/* ===== HEADER ===== */
.dmw-chat-header {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 13px 14px !important;
    background: linear-gradient(135deg, #1A56DB 0%, #1444B8 100%) !important;
    flex-shrink: 0 !important;
    border-radius: 0 !important;
    border: none !important;
}

.dmw-chat-avatar {
    position: relative !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.18) !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    font-family: var(--dmw-font) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 2px solid rgba(255,255,255,.35) !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
}

.dmw-avatar-status {
    position: absolute !important;
    bottom: 1px !important;
    right: 1px !important;
    width: 10px !important;
    height: 10px !important;
    border-radius: 50% !important;
    border: 2px solid #1444B8 !important;
    background: #22C55E !important;
    transition: background .3s !important;
    display: block !important;
}

.dmw-chat-header-info {
    flex: 1 !important;
    min-width: 0 !important;
}

.dmw-chat-name {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #fff !important;
    line-height: 1.2 !important;
    letter-spacing: -.2px !important;
    font-family: var(--dmw-font) !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.dmw-ai-badge {
    background: rgba(255,255,255,.22) !important;
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    padding: 2px 6px !important;
    border-radius: 20px !important;
    letter-spacing: .5px !important;
    text-transform: uppercase !important;
    line-height: 1.4 !important;
    font-family: var(--dmw-font) !important;
    display: inline-block !important;
}

.dmw-chat-status {
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
    margin-top: 3px !important;
    font-size: 12px !important;
    color: rgba(255,255,255,.82) !important;
    font-weight: 500 !important;
    font-family: var(--dmw-font) !important;
    line-height: 1 !important;
}

.dmw-status-dot {
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #22C55E !important;
    flex-shrink: 0 !important;
    display: inline-block !important;
    animation: dmw-status-pulse 2s ease infinite !important;
}
.dmw-status-dot.offline {
    background: #F59E0B !important;
    animation: none !important;
}
@keyframes dmw-status-pulse { 0%,100% { box-shadow: 0 0 0 0 rgba(34,197,94,.4); } 50% { box-shadow: 0 0 0 4px rgba(34,197,94,0); } }

.dmw-header-actions {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    flex-shrink: 0 !important;
}

.dmw-chat-sound-toggle,
.dmw-chat-close {
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.15) !important;
    border: none !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
    transition: background .15s, transform .15s !important;
    outline: none !important;
    color: #fff !important;
    line-height: 1 !important;
    text-decoration: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}
.dmw-chat-sound-toggle:hover,
.dmw-chat-close:hover {
    background: rgba(255,255,255,.28) !important;
    transform: scale(1.08) !important;
}
.dmw-chat-sound-toggle:active,
.dmw-chat-close:active { transform: scale(.93) !important; }

.dmw-chat-sound-toggle svg,
.dmw-chat-close svg {
    width: 15px !important;
    height: 15px !important;
    stroke: #fff !important;
    fill: none !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    display: block !important;
    flex-shrink: 0 !important;
}

/* ===== CHAT CONTENT (messaggi + input sempre visibile) ===== */
.dmw-chat-content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    min-height: 0 !important;
    overflow: hidden !important;
}
.dmw-chat-content.dmw-chat-content--hidden {
    display: none !important;
}

/* ===== SCARCITY ===== */
.dmw-chat-scarcity {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    padding: 7px 14px !important;
    background: #EFF6FF !important;
    border-bottom: 1px solid #DBEAFE !important;
    font-size: 12px !important;
    color: #1E40AF !important;
    font-weight: 500 !important;
    font-family: var(--dmw-font) !important;
    flex-shrink: 0 !important;
    line-height: 1.4 !important;
}
.dmw-scarcity-dot {
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #22C55E !important;
    flex-shrink: 0 !important;
    display: inline-block !important;
    animation: dmw-status-pulse 2s ease infinite !important;
}
.dmw-scarcity-dot.offline { background: #F59E0B !important; animation: none !important; }

/* ===== MESSAGES AREA ===== */
.dmw-chat-messages {
    flex: 1 !important;
    overflow-y: auto !important;
    padding: 14px 12px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    background: #F8FAFC !important;
    scroll-behavior: smooth !important;
    -webkit-overflow-scrolling: touch !important;
}
.dmw-chat-messages::-webkit-scrollbar { width: 4px !important; }
.dmw-chat-messages::-webkit-scrollbar-track { background: transparent !important; }
.dmw-chat-messages::-webkit-scrollbar-thumb { background: #E2E8F0 !important; border-radius: 2px !important; }

/* ===== MESSAGE ROWS ===== */
.dmw-msg {
    display: flex !important;
    flex-direction: column !important;
    max-width: 82% !important;
    animation: dmw-msg-in .2s ease-out forwards !important;
}
@keyframes dmw-msg-in { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }

.dmw-msg-bot    { align-self: flex-start !important; }
.dmw-msg-user   { align-self: flex-end !important; }
.dmw-msg-system { align-self: center !important; max-width: 90% !important; margin: 4px 0 !important; }

/* ===== BUBBLES ===== */
.dmw-msg-bubble {
    padding: 10px 13px !important;
    border-radius: 14px !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
    word-break: break-word !important;
    font-family: var(--dmw-font) !important;
}

.dmw-msg-bot .dmw-msg-bubble {
    background: #fff !important;
    color: #0F172A !important;
    border-bottom-left-radius: 4px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06) !important;
    border: 1px solid #E2E8F0 !important;
}
.dmw-msg-bot .dmw-msg-bubble strong {
    font-weight: 600 !important;
    color: #0F172A !important;
}
.dmw-msg-user .dmw-msg-bubble {
    background: linear-gradient(135deg, #1A56DB 0%, #1444B8 100%) !important;
    color: #fff !important;
    border-bottom-right-radius: 4px !important;
    box-shadow: 0 2px 8px rgba(26,86,219,.25) !important;
    border: none !important;
}
.dmw-msg-system .dmw-msg-bubble {
    background: rgba(100,116,139,.1) !important;
    color: #475569 !important;
    font-size: 11.5px !important;
    font-weight: 500 !important;
    padding: 5px 12px !important;
    border-radius: 20px !important;
    text-align: center !important;
    border: none !important;
    box-shadow: none !important;
}
.dmw-msg-bubble a {
    color: inherit !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
    opacity: .85 !important;
}
.dmw-msg-bubble a:hover { opacity: 1 !important; }
.dmw-msg-bubble br { display: block !important; content: '' !important; margin: 0 !important; }

/* ===== TIMESTAMP ===== */
.dmw-msg-time {
    font-size: 10.5px !important;
    color: #94A3B8 !important;
    margin-top: 3px !important;
    padding: 0 3px !important;
    font-family: var(--dmw-font) !important;
    line-height: 1.4 !important;
    display: block !important;
}
.dmw-msg-user .dmw-msg-time { text-align: right !important; }
.dmw-msg-bot .dmw-msg-time  { text-align: left !important; }

/* ===== SUGGESTIONS ===== */
.dmw-suggestions {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    margin-top: 8px !important;
}

.dmw-suggestion-btn {
    background: #fff !important;
    color: #1A56DB !important;
    border: 1.5px solid #1A56DB !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    font-family: var(--dmw-font) !important;
    cursor: pointer !important;
    text-align: left !important;
    display: block !important;
    width: 100% !important;
    line-height: 1.4 !important;
    transition: background .15s, color .15s, transform .12s, box-shadow .15s !important;
    outline: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    text-decoration: none !important;
    box-shadow: none !important;
}
.dmw-suggestion-btn:hover {
    background: #1A56DB !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 2px 10px rgba(26,86,219,.25) !important;
}
.dmw-suggestion-btn:active { transform: translateY(0) !important; }

/* ===== NAV LINK ===== */
.dmw-nav-link-container { padding: 4px 0 2px !important; display: block !important; }
.dmw-nav-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    background: linear-gradient(135deg, #1A56DB 0%, #1444B8 100%) !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    font-family: var(--dmw-font) !important;
    padding: 8px 16px !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    transition: opacity .15s, transform .12s !important;
    box-shadow: 0 2px 8px rgba(26,86,219,.3) !important;
    border: none !important;
}
.dmw-nav-link:hover { opacity: .9 !important; transform: translateX(2px) !important; }

/* ===== TYPING ===== */
.dmw-typing {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    align-self: flex-start !important;
    animation: dmw-msg-in .2s ease-out forwards !important;
}
.dmw-typing-dots {
    background: #fff !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 14px !important;
    border-bottom-left-radius: 4px !important;
    padding: 10px 13px !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.08) !important;
}
.dmw-typing-dots span {
    width: 6px !important;
    height: 6px !important;
    border-radius: 50% !important;
    background: #94A3B8 !important;
    animation: dmw-dot-bounce 1.2s ease-in-out infinite !important;
    display: block !important;
    flex-shrink: 0 !important;
}
.dmw-typing-dots span:nth-child(2) { animation-delay: .15s !important; }
.dmw-typing-dots span:nth-child(3) { animation-delay: .30s !important; }
@keyframes dmw-dot-bounce { 0%,60%,100% { transform: translateY(0); opacity: .5; } 30% { transform: translateY(-5px); opacity: 1; } }
.dmw-typing-label {
    font-size: 11.5px !important;
    color: #94A3B8 !important;
    font-style: italic !important;
    font-weight: 500 !important;
    font-family: var(--dmw-font) !important;
    display: block !important;
}

/* ===== INPUT AREA (sempre visibile in fondo) ===== */
.dmw-chat-input-area {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 12px !important;
    border-top: 1px solid #E2E8F0 !important;
    background: #fff !important;
    flex-shrink: 0 !important;
    min-height: 48px !important;
    visibility: visible !important;
    opacity: 1 !important;
    border-radius: 0 !important;
}

.dmw-chat-input-area input[type="text"] {
    flex: 1 !important;
    border: 1.5px solid #E2E8F0 !important;
    border-radius: 22px !important;
    padding: 9px 15px !important;
    font-size: 13.5px !important;
    font-family: var(--dmw-font) !important;
    color: #0F172A !important;
    background: #F8FAFC !important;
    outline: none !important;
    transition: border-color .18s, box-shadow .18s, background .18s !important;
    min-width: 0 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    box-shadow: none !important;
    display: block !important;
    line-height: 1.4 !important;
    height: auto !important;
}
.dmw-chat-input-area input[type="text"]::placeholder { color: #94A3B8 !important; }
.dmw-chat-input-area input[type="text"]:focus {
    border-color: #1A56DB !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(26,86,219,.1) !important;
    outline: none !important;
}

.dmw-chat-send {
    width: 38px !important;
    height: 38px !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, #1A56DB 0%, #1444B8 100%) !important;
    border: none !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: 0 2px 10px rgba(26,86,219,.35) !important;
    transition: transform .15s cubic-bezier(.34,1.56,.64,1), box-shadow .15s, opacity .15s !important;
    outline: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}
.dmw-chat-send:hover { transform: scale(1.1) !important; box-shadow: 0 4px 16px rgba(26,86,219,.45) !important; }
.dmw-chat-send:active { transform: scale(.93) !important; }
.dmw-chat-send:disabled { opacity: .4 !important; cursor: not-allowed !important; transform: none !important; box-shadow: none !important; }
.dmw-chat-send svg {
    width: 15px !important;
    height: 15px !important;
    stroke: #fff !important;
    fill: none !important;
    stroke-width: 2 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    display: block !important;
    transform: translateX(1px) !important;
    flex-shrink: 0 !important;
}

/* ===== FOOTER ===== */
.dmw-chat-footer {
    text-align: center !important;
    font-size: 11px !important;
    color: #94A3B8 !important;
    padding: 6px 14px 8px !important;
    border-top: 1px solid #E2E8F0 !important;
    background: #fff !important;
    flex-shrink: 0 !important;
    letter-spacing: .1px !important;
    font-family: var(--dmw-font) !important;
    line-height: 1.4 !important;
}
.dmw-chat-footer a {
    color: #1A56DB !important;
    text-decoration: none !important;
    font-weight: 600 !important;
}
.dmw-chat-footer a:hover { text-decoration: underline !important; }

/* ===== PRE-CHAT FORM ===== */
.dmw-chat-prechat {
    padding: 20px 16px !important;
    background: var(--dmw-surface) !important;
    border-top: 1px solid var(--dmw-border) !important;
}
.dmw-prechat-intro {
    font-size: 13px !important;
    color: var(--dmw-text-2) !important;
    margin: 0 0 16px !important;
    line-height: 1.5 !important;
}
.dmw-prechat-form label {
    display: block !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--dmw-text) !important;
    margin: 10px 0 4px !important;
}
.dmw-prechat-form label:first-of-type { margin-top: 0 !important; }
.dmw-prechat-form input {
    width: 100% !important;
    padding: 10px 12px !important;
    border: 1px solid var(--dmw-border) !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-family: var(--dmw-font) !important;
}
.dmw-prechat-form input:focus {
    outline: none !important;
    border-color: var(--dmw-primary) !important;
    box-shadow: 0 0 0 2px rgba(26,86,219,.2) !important;
}
.dmw-prechat-btn {
    width: 100% !important;
    margin-top: 16px !important;
    padding: 12px 16px !important;
    background: linear-gradient(135deg, #1A56DB 0%, #1444B8 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
}
.dmw-prechat-btn:hover { opacity: .95 !important; }

/* ===== MOBILE: pre-chat e finestra più leggibili ===== */
@media (max-width: 639px) {
    .dmw-chat-prechat {
        padding: 20px 16px 24px !important;
        padding-bottom: max(24px, env(safe-area-inset-bottom)) !important;
        flex: 1 !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
    .dmw-prechat-intro {
        font-size: 14px !important;
        margin-bottom: 18px !important;
    }
    .dmw-prechat-form input {
        padding: 12px 14px !important;
        font-size: 16px !important; /* evita zoom su iOS quando si focalizza */
        min-height: 48px !important;
    }
    .dmw-prechat-btn {
        padding: 14px 18px !important;
        font-size: 16px !important;
        min-height: 48px !important;
        margin-top: 20px !important;
    }
    .dmw-chat-footer {
        padding: 10px 14px !important;
        padding-bottom: max(10px, env(safe-area-inset-bottom)) !important;
        font-size: 11px !important;
    }
    .dmw-chat-input-area {
        padding: 10px 12px !important;
        padding-bottom: max(10px, env(safe-area-inset-bottom)) !important;
    }
    .dmw-chat-input-area input[type="text"] {
        font-size: 16px !important; /* evita zoom su iOS */
        min-height: 44px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    #dmw-chatbot * { animation: none !important; transition: none !important; }
}
