/* === Asistente Virtual Mandalay – Responsive & Accesible === */
:root{
  --mdy-primary:#ff5c00;        /* naranjo Mandalay */
  --mdy-bg:#ffffff;
  --mdy-muted:#6b7280;
  --mdy-border:#e5e7eb;
  --mdy-success:#16a34a;
  --mdy-danger:#dc2626;
  --mdy-shadow:0 8px 28px rgba(0,0,0,.14);
  --mdy-radius:14px;
  --mdy-radius-sm:10px;
  --mdy-font:system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

.mdy-chat-launcher{
  position:fixed; right:18px; bottom:18px; z-index:9999;
  width:56px; height:56px; border-radius:50%; border:0;
  background:var(--mdy-primary); color:#fff; cursor:pointer;
  box-shadow:var(--mdy-shadow);
}
.mdy-chat-launcher:focus{ outline:3px solid rgba(255,92,0,.35) }

/* Panel */
.mdy-chat{
  position:fixed; right:18px; bottom:86px; z-index:9998;
  width:360px; max-height:70vh; background:var(--mdy-bg);
  border:1px solid var(--mdy-border); border-radius:var(--mdy-radius);
  box-shadow:var(--mdy-shadow); display:none; flex-direction:column;
  overflow:hidden; font-family:var(--mdy-font);
}
.mdy-chat.open{ display:flex }

/* Header */
.mdy-chat__head{
  padding:12px 14px; background:#fff; border-bottom:1px solid var(--mdy-border);
  display:flex; align-items:center; gap:8px;
}
.mdy-chat__title{ font-weight:700; font-size:15px }
.mdy-chip{
  margin-left:auto; font-size:12px; color:#fff; background:var(--mdy-primary);
  border-radius:999px; padding:4px 8px;
}

/* Body */
.mdy-chat__body{
  position:relative; padding:12px; overflow:auto; flex:1;
  background:#fafafa;
}
.mdy-msg{ max-width:88%; padding:10px 12px; border-radius:12px; margin:6px 0; line-height:1.35 }
.mdy-msg--bot{ background:#fff; border:1px solid var(--mdy-border) }
.mdy-msg--user{ background:#ffe9df; border:1px solid #ffd2bd; margin-left:auto }
.mdy-hint{ color:var(--mdy-muted); font-size:12px; margin-top:2px }

/* Quick actions */
.mdy-actions{ display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:8px 0 }
.mdy-action{
  border:1px solid var(--mdy-border); background:#fff; padding:10px 12px;
  border-radius:10px; text-align:left; cursor:pointer; font-size:14px;
}
.mdy-action:hover{ border-color:#ffd8c6 }

/* Forms */
.mdy-form{ display:flex; flex-direction:column; gap:8px; margin-top:6px }
.mdy-input, .mdy-select{
  width:100%; border:1px solid var(--mdy-border); border-radius:10px;
  padding:10px 12px; font-size:14px; background:#fff;
}
.mdy-btn{ border:0; border-radius:10px; padding:10px 12px; cursor:pointer; font-weight:600 }
.mdy-btn--primary{ background:var(--mdy-primary); color:#fff }
.mdy-btn--ghost{ background:#fff; border:1px solid var(--mdy-border) }
.mdy-row{ display:flex; gap:8px }
.mdy-row .mdy-btn{ flex:1 }

/* Footer */
.mdy-chat__foot{
  padding:10px; border-top:1px solid var(--mdy-border); background:#fff;
  display:flex; gap:8px;
}

/* States */
.mdy-alert{ padding:10px 12px; border-radius:10px; font-size:14px }
.mdy-alert--error{ background:#fee2e2; border:1px solid #fecaca; color:#991b1b }
.mdy-alert--ok{ background:#dcfce7; border:1px solid #bbf7d0; color:#14532d }
.mdy-loading{ font-size:13px; color:var(--mdy-muted) }

/* Listado resultados */
.mdy-list{ display:flex; flex-direction:column; gap:8px }
.mdy-card{
  border:1px solid var(--mdy-border); background:#fff; border-radius:10px; padding:10px 12px;
}
.mdy-card h4{ margin:0 0 4px 0; font-size:14px }
.mdy-card .price{ font-weight:700 }
.mdy-small{ font-size:12px; color:var(--mdy-muted) }

/* Mobile */
@media (max-width: 480px){
  .mdy-chat{ right:10px; left:10px; bottom:82px; width:auto; max-height:70vh }
  .mdy-actions{ grid-template-columns:1fr }
}

/* Scrollbar (webkit) */
.mdy-chat__body::-webkit-scrollbar{ width:10px }
.mdy-chat__body::-webkit-scrollbar-thumb{ background:#e6e6e6; border-radius:10px }
