/* NEMF: asistente de cotización */
.nemf-chat__launcher { position: fixed; right: 18px; bottom: 84px; z-index: 1001; display: inline-flex; align-items: center; gap: 8px; background: var(--nemf-navy, #00216f); color: #fff; border: 0; border-radius: 999px; padding: 12px 16px; font: inherit; font-weight: 700; cursor: pointer; box-shadow: 0 8px 24px rgba(0, 0, 0, .25); }
.nemf-chat__launcher:hover { background: var(--nemf-blue, #0070b8); }
.nemf-chat__launcher-icon { font-size: 1.2em; line-height: 1; }
@media (max-width: 640px) { .nemf-chat__launcher { bottom: 80px; padding: 12px 14px; } .nemf-chat__launcher-text { font-size: .9rem; } }

.nemf-chat { position: fixed; right: 18px; bottom: 18px; z-index: 1002; width: min(400px, calc(100vw - 24px)); height: min(640px, calc(100vh - 36px)); display: flex; flex-direction: column; background: #fff; border-radius: 16px; box-shadow: 0 20px 60px rgba(0, 0, 0, .3); overflow: hidden; font-size: .97rem; }
.nemf-chat[hidden] { display: none; }
body.nemf-chat-open .nemf-chat__launcher, body.nemf-chat-open .nemf-float { display: none; }
@media (max-width: 640px) { .nemf-chat { right: 0; bottom: 0; width: 100vw; height: 100dvh; border-radius: 0; } }

.nemf-chat__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; background: var(--nemf-navy, #00216f); color: #fff; }
.nemf-chat__title { display: grid; grid-template-columns: auto 1fr; gap: 2px 10px; align-items: center; }
.nemf-chat__title strong { font-size: 1.05rem; }
.nemf-chat__sub { grid-column: 2; font-size: .8rem; color: rgba(255, 255, 255, .75); }
.nemf-chat__dot { width: 10px; height: 10px; border-radius: 50%; background: #25d366; box-shadow: 0 0 0 3px rgba(37, 211, 102, .3); grid-row: span 2; }
.nemf-chat__close { background: transparent; border: 0; color: #fff; font-size: 1.6rem; line-height: 1; cursor: pointer; padding: 4px 8px; border-radius: 8px; }
.nemf-chat__close:hover { background: rgba(255, 255, 255, .15); }

.nemf-chat__log { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; background: #f3f6fb; }
.nemf-chat__msg { max-width: 88%; padding: 10px 14px; border-radius: 14px; line-height: 1.45; white-space: pre-line; }
.nemf-chat__msg--bot { background: #fff; color: #0f172a; border-bottom-left-radius: 4px; align-self: flex-start; box-shadow: 0 1px 2px rgba(0, 0, 0, .06); }
.nemf-chat__msg--user { background: var(--nemf-blue, #0070b8); color: #fff; border-bottom-right-radius: 4px; align-self: flex-end; }

.nemf-chat__input { padding: 12px 16px; border-top: 1px solid #e3e9f2; background: #fff; max-height: 50%; overflow-y: auto; }
.nemf-chat__options { display: flex; flex-wrap: wrap; gap: 8px; }
.nemf-chat__opt { border: 1.5px solid var(--nemf-blue, #0070b8); background: #fff; color: var(--nemf-navy, #00216f); border-radius: 999px; padding: 8px 14px; font: inherit; font-size: .92rem; font-weight: 600; cursor: pointer; text-decoration: none; transition: all .15s ease; }
.nemf-chat__opt:hover { background: var(--nemf-blue, #0070b8); color: #fff; }
.nemf-chat__opt--wa { border-color: #25d366; background: #25d366; color: #0b3d1f; }
.nemf-chat__opt--wa:hover { background: #1fb959; border-color: #1fb959; color: #0b3d1f; }
.nemf-chat__opt--file { position: relative; overflow: hidden; }
.nemf-chat__fileinput { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.nemf-chat__files { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.nemf-chat__filelist { flex-basis: 100%; font-size: .85rem; color: #475569; }
.nemf-chat__form { display: flex; flex-wrap: wrap; gap: 8px; }
.nemf-chat__form--contact { flex-direction: column; }
.nemf-chat__field { flex: 1; min-width: 0; font: inherit; padding: 10px 12px; border: 1px solid #dbe3ef; border-radius: 10px; }
.nemf-chat__field:focus { outline: 2px solid var(--nemf-blue, #0070b8); outline-offset: 1px; }
textarea.nemf-chat__field { min-height: 70px; resize: vertical; }
.nemf-chat__send { background: var(--nemf-orange, #f26a1b); color: #fff; border: 0; border-radius: 10px; padding: 10px 16px; font: inherit; font-weight: 700; cursor: pointer; }
.nemf-chat__send:hover { background: #d95a12; }
.nemf-chat__send:disabled { opacity: .6; cursor: wait; }
.nemf-chat__link { background: none; border: 0; color: #475569; font: inherit; font-size: .85rem; text-decoration: underline; cursor: pointer; padding: 4px 0; }
.nemf-chat__link:hover { color: var(--nemf-navy, #00216f); }
.nemf-chat__foot { display: flex; justify-content: space-between; gap: 12px; padding: 8px 16px 10px; background: #fff; border-top: 1px solid #eef2f7; }
