/* estilo-chat.css — página pública (index.html) */
/* ── TEMA OSCURO (por defecto) ── */
  :root{
    --bg:#16110c; --surface:#1e1711; --surface2:#271e16; --border:#3a2d21;
    --accent:#c29a64; --accent2:#9e7848; --gold:#e0a07e; --gold2:#ecb898;
    --danger:#ff5d78; --warn:#e0b84a; --text:#f2e9dc; --muted:#a8957d;
    --bubble-bot:#271e16; --bubble-usr:#8a6a43; --usr-text:#fffaf3;
    --radius:14px; --shadow:0 24px 60px rgba(0,0,0,.6);
  }
  /* ── TEMA CLARO ── */
  :root[data-theme="light"]{
    --bg:#f5eee4; --surface:#ffffff; --surface2:#faf5ee; --border:#eadfcf;
    --accent:#8a6a43; --accent2:#a6824f; --gold:#b0623f; --gold2:#c97a56;
    --danger:#c0392b; --warn:#b7791f; --text:#3d2f22; --muted:#7a6852;
    --bubble-bot:#faf5ee; --bubble-usr:#8a6a43; --usr-text:#fffaf3;
    --shadow:0 24px 60px rgba(61,47,34,.18);
  }
  *{box-sizing:border-box;margin:0;padding:0}
  body{font-family:'Sora',sans-serif;background:
      radial-gradient(1100px 520px at 50% -8%, color-mix(in srgb,var(--accent) 14%,transparent), transparent 60%),
      var(--bg);min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--text);padding:1.5rem;transition:background .3s,color .3s}

  /* ── Botón de tema (arriba der.) ── */
  #theme-toggle{position:fixed;top:20px;right:24px;z-index:1100;background:var(--surface);border:1px solid var(--border);color:var(--text);padding:8px 14px;border-radius:20px;cursor:pointer;font-family:'Sora',sans-serif;font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:6px;box-shadow:0 4px 14px rgba(0,0,0,.12);transition:.2s}
  #theme-toggle:hover{border-color:var(--accent);color:var(--accent)}

  /* ── Botón Login (arriba izq.) ── */
  #btn-login-top{position:fixed;top:20px;left:24px;z-index:1100;text-decoration:none;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;padding:9px 18px;border-radius:20px;font-family:'Sora',sans-serif;font-size:.8rem;font-weight:700;display:flex;align-items:center;gap:7px;box-shadow:0 4px 14px rgba(138,106,67,.35);transition:transform .15s,box-shadow .2s}
  #btn-login-top:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(138,106,67,.5)}

  /* ── Hero card con banner ── */
  .hero{width:100%;max-width:560px;background:var(--surface);border:1px solid var(--border);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
  .hero-banner{position:relative;aspect-ratio:2/1;background:url('banner.jpg') center / cover no-repeat}
  .hero-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(61,47,34,0) 70%,rgba(61,47,34,.18) 100%)}
  .hero-body{position:relative;padding:0 1.6rem 1.7rem;text-align:center}
  .hero-logo{width:94px;height:94px;border-radius:50%;background:#fff url('logo.jpg') center/cover;margin:-52px auto 0;position:relative;z-index:2;border:4px solid var(--surface);box-shadow:0 10px 24px rgba(61,47,34,.28)}
  .hero h1{margin-top:.9rem;font-size:1.65rem;font-weight:700;letter-spacing:-.02em;color:var(--accent);line-height:1.15}
  .hero h1 small{display:block;font-size:.72rem;font-weight:600;letter-spacing:.28em;color:var(--gold);text-transform:uppercase;margin-bottom:.15rem}
  .hero .rule{width:62px;height:3px;margin:.8rem auto 0;border-radius:3px;background:linear-gradient(90deg,var(--gold),var(--gold2))}
  .hero p{color:var(--muted);margin-top:.85rem;font-size:.9rem}
  .hero .cta{margin-top:1.2rem;display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;padding:.78rem 1.4rem;border-radius:999px;font-family:'Sora',sans-serif;font-size:.9rem;font-weight:600;cursor:pointer;box-shadow:0 10px 24px rgba(138,106,67,.3);transition:transform .18s,box-shadow .18s}
  .hero .cta:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(138,106,67,.42)}
  .hero .meta{margin-top:1rem;display:flex;gap:1.4rem;justify-content:center;flex-wrap:wrap;color:var(--muted);font-size:.78rem}
  .hero .meta span{display:inline-flex;align-items:center;gap:.35rem}

  /* ── FAB ── */
  #fab{position:fixed;bottom:28px;right:28px;width:62px;height:62px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 28px rgba(138,106,67,.45);transition:transform .2s,box-shadow .2s;z-index:1000}
  #fab::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--gold);opacity:.6}
  #fab:hover{transform:scale(1.08);box-shadow:0 14px 36px rgba(138,106,67,.6)}
  #fab svg{width:27px;height:27px;fill:#fff}
  #fab .badge{position:absolute;top:-4px;right:-4px;background:var(--gold);color:#ffffff;font-size:.65rem;font-weight:700;width:19px;height:19px;border-radius:50%;display:flex;align-items:center;justify-content:center;display:none;border:2px solid var(--surface)}

  /* ── Chat Window ── */
  #chat-window{position:fixed;bottom:104px;right:28px;width:372px;max-height:600px;background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;z-index:999;transform:scale(.85) translateY(20px);opacity:0;pointer-events:none;transition:transform .25s cubic-bezier(.34,1.56,.64,1),opacity .2s}
  #chat-window.open{transform:scale(1) translateY(0);opacity:1;pointer-events:all}

  /* header */
  .chat-header{background:linear-gradient(135deg,var(--accent),#6e5232);padding:14px 18px;display:flex;align-items:center;gap:12px;border-bottom:3px solid var(--gold)}
  .chat-avatar{width:40px;height:40px;border-radius:50%;background:#fff url('logo.jpg') center/cover;flex-shrink:0;border:2px solid var(--gold)}
  .chat-header-info h3{font-size:.9rem;font-weight:600;color:#fff}
  .chat-header-info span{font-size:.72rem;color:var(--gold2);font-weight:500}
  .online-dot{display:inline-block;width:7px;height:7px;background:#3bbd7f;border-radius:50%;margin-right:4px;animation:pulse 1.8s infinite}
  @keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
  .btn-close{margin-left:auto;background:none;border:none;color:rgba(255,255,255,.85);cursor:pointer;font-size:1.3rem;line-height:1;padding:4px;border-radius:6px;transition:.15s}
  .btn-close:hover{color:#fff;background:rgba(255,255,255,.2)}

  /* messages */
  .chat-body{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
  .chat-body::-webkit-scrollbar{width:4px}
  .chat-body::-webkit-scrollbar-track{background:transparent}
  .chat-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}

  .msg{max-width:85%;padding:10px 14px;border-radius:var(--radius);font-size:.82rem;line-height:1.55;animation:fadeUp .25s ease}
  @keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
  .msg.bot{background:var(--bubble-bot);border:1px solid var(--border);color:var(--text);align-self:flex-start;border-bottom-left-radius:4px}
  .msg.user{background:var(--bubble-usr);color:var(--usr-text);align-self:flex-end;border-bottom-right-radius:4px}
  .msg.bot strong{color:var(--accent);font-family:'DM Mono',monospace;font-size:.78rem}
  .msg-time{font-size:.65rem;color:var(--muted);margin-top:3px;text-align:right}
  .msg.user .msg-time{color:rgba(255,250,243,.7)}

  /* typing indicator */
  .typing{display:flex;gap:4px;padding:10px 14px;align-self:flex-start}
  .typing span{width:7px;height:7px;background:var(--muted);border-radius:50%;animation:bounce .9s infinite}
  .typing span:nth-child(2){animation-delay:.15s}
  .typing span:nth-child(3){animation-delay:.3s}
  @keyframes bounce{0%,80%,100%{transform:translateY(0)}40%{transform:translateY(-7px)}}

  /* options buttons */
  .options{display:flex;flex-direction:column;gap:6px;margin-top:4px}
  .opt-btn{background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:9px 14px;border-radius:10px;cursor:pointer;font-size:.8rem;font-family:'Sora',sans-serif;text-align:left;transition:.15s;display:flex;align-items:center;gap:8px}
  .opt-btn:hover{background:rgba(138,106,67,.1);border-color:var(--accent);color:var(--accent)}
  .opt-btn .ico{font-size:1rem}

  /* input area */
  .chat-footer{padding:10px 12px;border-top:1px solid var(--border);display:flex;gap:8px;align-items:flex-end;background:var(--surface)}
  .chat-input{flex:1;background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:9px 12px;border-radius:10px;font-size:.82rem;font-family:'Sora',sans-serif;resize:none;outline:none;transition:border-color .2s;max-height:90px}
  .chat-input:focus{border-color:var(--accent)}
  .chat-input::placeholder{color:var(--muted)}
  .btn-send{background:linear-gradient(135deg,var(--accent),var(--accent2));border:none;color:#fff;width:36px;height:36px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:.15s}
  .btn-send:hover{transform:scale(1.08);box-shadow:0 4px 14px rgba(138,106,67,.4)}
  .btn-send svg{width:16px;height:16px;fill:#fff}

  /* status pill */
  .status-pill{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;padding:3px 8px;border-radius:20px;font-weight:600;margin-top:4px}
  .pill-ok{background:rgba(138,106,67,.14);color:var(--accent);border:1px solid rgba(138,106,67,.3)}
  .pill-err{background:rgba(192,57,43,.14);color:var(--danger);border:1px solid rgba(192,57,43,.3)}
  .pill-warn{background:rgba(176,98,63,.16);color:var(--warn);border:1px solid rgba(176,98,63,.35)}

  /* code badge */
  .code-badge{font-family:'DM Mono',monospace;background:rgba(176,98,63,.14);border:1px solid rgba(176,98,63,.45);color:var(--gold);padding:4px 10px;border-radius:8px;font-size:.95rem;letter-spacing:.1em;display:inline-block;margin:4px 0}

  /* form inputs inside chat */
  .chat-form{display:flex;flex-direction:column;gap:8px;margin-top:6px}
  .chat-form input,.chat-form select{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:8px 12px;border-radius:8px;font-size:.8rem;font-family:'Sora',sans-serif;outline:none;transition:border-color .2s;width:100%}
  .chat-form input:focus,.chat-form select:focus{border-color:var(--accent)}
  .chat-form select option{background:var(--surface)}
  .chat-form .submit-btn{background:linear-gradient(135deg,var(--accent),var(--accent2));border:none;color:#fff;padding:9px;border-radius:8px;cursor:pointer;font-weight:600;font-family:'Sora',sans-serif;font-size:.82rem;transition:opacity .2s}
  .chat-form .submit-btn:hover{opacity:.9}

  @media(max-width:420px){
    #chat-window{width:calc(100vw - 24px);right:12px;bottom:92px}
  }

/* ── Centro de estética ── */
.trat-item{padding:8px 10px;margin-bottom:6px;background:rgba(166,130,79,.08);border-left:3px solid var(--accent);border-radius:0 8px 8px 0}
.trat-item b{color:var(--accent);font-size:.82rem}
.trat-item small{display:block;color:var(--muted);font-size:.72rem;margin-top:2px}
.chat-form label{font-size:.7rem;color:var(--muted);margin-bottom:-4px}
.chat-form .hint{font-size:.7rem;color:var(--muted)}

/* ── Marca Sienna ── */
.hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;font-size:2.2rem;letter-spacing:.1em;text-transform:uppercase}
.hero h1 small{font-family:'Sora',sans-serif;font-weight:500;letter-spacing:.3em;font-size:.66rem;text-transform:none}
.chat-header-info h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.15rem;letter-spacing:.08em}
.hero-logo{background-size:cover}
