:root { font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #17342b; background: #f5f7f5; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.widget-shell { width: min(100%, 430px); }
.widget { background: rgba(255,255,255,.97); border: 1px solid #dce6e1; border-radius: 28px; padding: 32px 28px 26px; text-align: center; box-shadow: 0 18px 55px rgba(20,55,44,.12); }
.brand { font-size: 11px; font-weight: 800; letter-spacing: .16em; color: #2d7862; margin-bottom: 10px; }
h1 { margin: 0; font-size: 48px; line-height: 1; letter-spacing: -.04em; }
.intro { margin: 10px 0 22px; color: #5d6f68; font-size: 15px; }
.orb { width: 112px; height: 112px; border-radius: 50%; margin: 0 auto 20px; display: grid; place-items: center; background: radial-gradient(circle at 35% 30%, #d8eee6, #7eb5a4 58%, #397865); box-shadow: inset 0 0 24px rgba(255,255,255,.55), 0 12px 35px rgba(45,120,98,.2); }
.orb i { width: 28px; height: 28px; border-radius: 50%; background: rgba(255,255,255,.85); box-shadow: 0 0 20px rgba(255,255,255,.75); }
.orb.active { animation: pulse 1.5s infinite ease-in-out; }
.status { min-height: 22px; font-size: 14px; color: #53655e; margin-bottom: 18px; }
button { border: 0; border-radius: 999px; padding: 13px 22px; background: #1e5d4d; color: white; font-weight: 700; font-size: 15px; cursor: pointer; }
button:disabled { opacity: .6; cursor: wait; }
.hint { margin: 18px 8px 0; color: #7a8983; font-size: 12px; line-height: 1.5; }
@keyframes pulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.06); } }

.actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 10px; }

.lead-link {
  display: inline-block;
  padding: 10px 16px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 600;
  border: 1px solid currentColor;
}


/* Captura de leads integrada en la misma interfaz, sin abrir otra ventana */
.lead-link {
  display: inline-block;
  padding: 10px 16px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 600;
  border: 1px solid currentColor;
  background: transparent;
  color: #1e5d4d;
  cursor: pointer;
  font-size: 14px;
}
.lead-modal[hidden] { display: none; }
.lead-modal {
  position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 18px;
}
.lead-backdrop { position: absolute; inset: 0; background: rgba(15,35,29,.42); backdrop-filter: blur(4px); }
.lead-chat {
  position: relative; z-index: 1; width: min(100%, 500px); max-height: min(92vh, 700px); overflow: auto;
  background: rgba(255,255,255,.98); border: 1px solid #dce6e1; border-radius: 24px;
  padding: 26px; box-shadow: 0 24px 70px rgba(20,55,44,.25); text-align: left;
}
.lead-chat-head { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; margin-bottom:18px; }
.lead-chat-head .brand { margin-bottom:6px; }
.lead-chat h2 { margin:0; font-size:30px; line-height:1.05; letter-spacing:-.03em; }
.lead-chat-head p { margin:8px 0 0; color:#65766f; font-size:14px; line-height:1.45; }
.lead-close { border:0; background:#eef3f0; color:#24483d; width:36px; height:36px; border-radius:50%; padding:0; font-size:25px; line-height:1; cursor:pointer; }
#leadForm { display:grid; gap:8px; }
#leadForm label { font-size:13px; font-weight:700; color:#17342b; margin-top:5px; }
#leadForm input { width:100%; border:1px solid #cbd8d2; border-radius:12px; padding:12px 13px; font:inherit; color:#17342b; outline:none; background:#fff; }
#leadForm input:focus { border-color:#2d7862; box-shadow:0 0 0 3px rgba(45,120,98,.12); }
.lead-note { margin:4px 0 6px; color:#788983; font-size:12px; line-height:1.4; }
.lead-error { margin:0; color:#9a3f35; font-size:13px; }
.lead-submit { width:100%; margin-top:6px; border:0; border-radius:999px; padding:13px 20px; background:#1e5d4d; color:#fff; font-weight:700; font-size:15px; cursor:pointer; }
.lead-submit:disabled { opacity:.6; cursor:wait; }
.lead-success { display:grid; gap:10px; color:#23483d; font-size:15px; line-height:1.45; }
.lead-success strong { font-size:24px; }
@media (max-width: 520px) { .lead-chat { padding:22px; border-radius:20px; } .lead-chat h2 { font-size:27px; } }

body.modal-open { overflow: hidden; }
