.rc-lead-root{
  /* ---- TOKENS (editables) — Design System Rodríguez Cons ---- */
  --rc-navy:#203152; --rc-navy-800:#1B2B47; --rc-navy-900:#16223A; --rc-navy-600:#2C4068; --rc-navy-050:#EEF1F6;
  --rc-burgundy:#5A0334; --rc-burgundy-900:#3D0123; --rc-burgundy-500:#7A0A4A; --rc-burgundy-050:#F7EEF2;
  --rc-gold:#B69D74; --rc-gold-700:#8B7549; --rc-gold-300:#D8C8A8; --rc-gold-050:#F7F2E9;
  --rc-paper:#FBF9F5; --rc-surface:#FFFFFF; --rc-surface-2:#F3EFE8;
  --rc-ink:#1A2233; --rc-ink-2:#4A5365; --rc-ink-3:#717A8A;
  --rc-on-dark:#F4F1EB; --rc-on-dark-2:#AEB8CA;
  --rc-border:#E7E1D6; --rc-border-2:#D9D2C4;
  --rc-success:#2F6B4F; --rc-success-050:#EAF2ED; --rc-error:#9B2D3A; --rc-error-050:#F8EAEB;
  --rc-whatsapp:#25A566;
  --rc-font-sans:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --rc-font-serif:"Spectral",Georgia,serif;
  --rc-r-sm:8px; --rc-r-md:12px; --rc-r-lg:18px; --rc-r-xl:24px; --rc-r-pill:999px;
  --rc-sh-sm:0 4px 14px -6px rgba(32,49,82,.16);
  --rc-sh-md:0 18px 40px -18px rgba(32,49,82,.28);
  --rc-sh-lg:0 34px 80px -26px rgba(22,34,58,.42);
  --rc-ease:cubic-bezier(.22,.61,.36,1);
  --rc-ease-out:cubic-bezier(.16,1,.3,1);

  /* ---- Ajustes del launcher / capas (editables) ---- */
  --rc-launcher-size:62px;
  --rc-panel-w:380px;
  --rc-edge:22px;            /* separación del launcher al borde en desktop */
  --rc-edge-mobile:16px;
  --rc-edge-y:22px;          /* separación inferior (independiente del lateral) */
  --rc-z:2147483000;         /* por encima de casi cualquier tema */

  position:fixed; inset:0; z-index:var(--rc-z);
  pointer-events:none;       /* solo los hijos concretos capturan eventos */
  font-family:var(--rc-font-sans);
  -webkit-font-smoothing:antialiased;
}
.rc-lead-root *{box-sizing:border-box}
/* Reset de especificidad CERO: da defaults sin pisar ninguna clase de componente */
:where(.rc-lead-root button){font-family:inherit;cursor:pointer;border:none;background:transparent;color:inherit;padding:0}
:where(.rc-lead-root a){color:inherit;text-decoration:none}
.rc-lead-root [hidden]{display:none !important}

/* ================= CONTACT LAUNCHER ================= */
.rc-lead-launcher-wrap{
  position:absolute; right:var(--rc-edge); bottom:calc(var(--rc-edge-y) + env(safe-area-inset-bottom,0px));
  pointer-events:auto; display:flex; align-items:center; gap:12px;
}
.rc-lead-nudge{
  order:-1; display:flex; align-items:center; gap:10px;
  background:var(--rc-surface); color:var(--rc-ink); font-size:.9rem; font-weight:600;
  padding:11px 15px 11px 16px; border-radius:var(--rc-r-pill); border:1px solid var(--rc-border);
  box-shadow:var(--rc-sh-md); white-space:normal; line-height:1.3; max-width:min(70vw,300px);
  transform-origin:right center;
  opacity:0; transform:translateX(10px) scale(.96); pointer-events:none;
  transition:opacity .34s var(--rc-ease-out), transform .34s var(--rc-ease-out);
}
.rc-lead-nudge.is-visible{opacity:1;transform:none;pointer-events:auto}
.rc-lead-nudge b{color:var(--rc-navy-900);font-weight:700}
.rc-lead-nudge__x{width:22px;height:22px;flex:none;border-radius:50%;display:grid;place-items:center;color:var(--rc-ink-3);transition:background .2s,color .2s}
.rc-lead-nudge__x:hover{background:var(--rc-surface-2);color:var(--rc-ink)}
.rc-lead-nudge__x svg{width:13px;height:13px}
.rc-lead-nudge::after{content:"";position:absolute;right:-5px;top:50%;width:10px;height:10px;background:var(--rc-surface);border-right:1px solid var(--rc-border);border-bottom:1px solid var(--rc-border);transform:translateY(-50%) rotate(-45deg)}

.rc-lead-launcher{
  position:relative; width:var(--rc-launcher-size); height:var(--rc-launcher-size);
  border-radius:50%; background:var(--rc-burgundy); color:var(--rc-on-dark);
  display:grid; place-items:center;
  /* sombra + aro beige exterior muy sutil (visible incluso sobre secciones burdeos) */
  box-shadow:var(--rc-sh-md), 0 0 0 1.5px rgba(251,249,245,.7);
  transition:transform .28s var(--rc-ease-out), background .28s var(--rc-ease), box-shadow .28s var(--rc-ease);
}
.rc-lead-launcher:hover{transform:translateY(-2px) scale(1.04);background:var(--rc-burgundy-900);box-shadow:var(--rc-sh-lg), 0 0 0 1.5px rgba(251,249,245,.85)}
.rc-lead-launcher:active{transform:translateY(0) scale(.98)}
.rc-lead-launcher:focus-visible{outline:3px solid var(--rc-gold);outline-offset:4px}
/* aro dorado sutil interior (toque editorial) */
.rc-lead-launcher::before{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 1.5px rgba(182,157,116,.45);pointer-events:none}
/* halo que respira */
.rc-lead-launcher::after{
  content:"";position:absolute;inset:0;border-radius:50%;z-index:-1;
  box-shadow:0 0 0 0 rgba(182,157,116,.55);
}
.rc-lead-launcher .rc-lead-ico{width:27px;height:27px;position:absolute;transition:opacity .26s var(--rc-ease), transform .26s var(--rc-ease-out)}
.rc-lead-launcher .rc-lead-ico--close{opacity:0;transform:rotate(-35deg) scale(.6)}
.rc-lead-root[data-menu-open] .rc-lead-launcher .rc-lead-ico--chat{opacity:0;transform:rotate(35deg) scale(.6)}
.rc-lead-root[data-menu-open] .rc-lead-launcher .rc-lead-ico--close{opacity:1;transform:none}
.rc-lead-root[data-menu-open] .rc-lead-launcher{background:var(--rc-burgundy-900)}

/* animación de atención: pulso de escala muy leve + halo */
@keyframes rc-lead-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
@keyframes rc-lead-halo{0%{box-shadow:0 0 0 0 rgba(182,157,116,.6)}70%{box-shadow:0 0 0 20px rgba(182,157,116,0)}100%{box-shadow:0 0 0 0 rgba(182,157,116,0)}}
.rc-lead-launcher.rc-lead-attn{animation:rc-lead-breathe 2.2s var(--rc-ease) 3}
.rc-lead-launcher.rc-lead-attn::after{animation:rc-lead-halo 2.2s var(--rc-ease) 3}

/* ================= CONTACT MENU ================= */
.rc-lead-menu{
  position:absolute; right:var(--rc-edge);
  bottom:calc(var(--rc-edge-y) + var(--rc-launcher-size) + 16px + env(safe-area-inset-bottom,0px));
  width:var(--rc-panel-w); max-width:calc(100vw - 32px);
  max-height:calc(100dvh - var(--rc-edge-y) - var(--rc-launcher-size) - 32px - env(safe-area-inset-bottom,0px));
  background:var(--rc-surface); border:1px solid var(--rc-border); border-radius:var(--rc-r-xl);
  box-shadow:var(--rc-sh-lg); overflow-y:auto; -webkit-overflow-scrolling:touch; pointer-events:auto;
  transform-origin:bottom right;
  opacity:0; transform:translateY(12px) scale(.97); visibility:hidden;
  transition:opacity .26s var(--rc-ease-out), transform .3s var(--rc-ease-out), visibility 0s linear .3s;
}
.rc-lead-root[data-menu-open] .rc-lead-menu{opacity:1;transform:none;visibility:visible;transition:opacity .28s var(--rc-ease-out),transform .32s var(--rc-ease-out)}
.rc-lead-menu__head{padding:22px 22px 16px;background:linear-gradient(180deg,var(--rc-navy) 0,var(--rc-navy-800) 100%);color:var(--rc-on-dark);position:relative}
.rc-lead-menu__head::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(182,157,116,.35)}
.rc-lead-eyebrow{font-size:.66rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--rc-gold-300);display:flex;align-items:center;gap:8px}
.rc-lead-eyebrow svg{width:15px;height:15px}
.rc-lead-menu__head h2{font-size:1.22rem;font-weight:700;letter-spacing:-.01em;margin:9px 0 5px;color:#fff}
.rc-lead-menu__head p{font-size:.875rem;color:rgba(244,241,235,.78);max-width:34ch}
.rc-lead-menu:focus{outline:none}
.rc-lead-menu__body{padding:14px}
.rc-lead-opt{
  display:flex; align-items:center; gap:14px; width:100%; text-align:left;
  padding:14px 15px; border-radius:var(--rc-r-md); background:var(--rc-surface);
  border:1px solid var(--rc-border); margin-bottom:10px;
  transition:border-color .2s var(--rc-ease), background .2s var(--rc-ease), transform .18s var(--rc-ease-out), box-shadow .2s var(--rc-ease);
}
.rc-lead-opt:last-child{margin-bottom:0}
.rc-lead-opt:hover{transform:translateY(-2px);border-color:var(--rc-border-2);box-shadow:var(--rc-sh-sm)}
.rc-lead-opt:focus-visible{outline:2.5px solid var(--rc-gold);outline-offset:2px}
.rc-lead-opt__ic{width:44px;height:44px;flex:none;border-radius:11px;display:grid;place-items:center;color:var(--rc-navy);background:var(--rc-navy-050);transition:background .2s,color .2s}
.rc-lead-opt__ic svg{width:22px;height:22px}
.rc-lead-opt__tx{flex:1;min-width:0}
.rc-lead-opt__tx b{display:block;font-size:.98rem;font-weight:700;color:var(--rc-navy-900);letter-spacing:-.01em}
.rc-lead-opt__tx span{display:block;font-size:.82rem;color:var(--rc-ink-2);margin-top:1px;overflow:hidden;text-overflow:ellipsis}
.rc-lead-opt__go{width:18px;height:18px;flex:none;color:var(--rc-ink-3);transition:transform .2s var(--rc-ease-out),color .2s}
.rc-lead-opt:hover .rc-lead-opt__go{transform:translateX(3px);color:var(--rc-navy)}

.rc-lead-opt--wa .rc-lead-opt__ic{background:rgba(37,165,102,.12);color:var(--rc-whatsapp)}

/* Opción destacada: Cuéntanos tu caso (mayor peso de conversión) */
.rc-lead-opt--featured{background:var(--rc-featured-bg,var(--rc-navy));border-color:var(--rc-featured-bg,var(--rc-navy));position:relative;padding:16px 15px;margin-top:16px}
.rc-lead-opt--featured:hover{background:var(--rc-featured-bg,var(--rc-navy));border-color:var(--rc-featured-bg,var(--rc-navy));filter:brightness(.93);box-shadow:var(--rc-sh-md)}
.rc-lead-opt--featured .rc-lead-opt__ic{background:rgba(255,255,255,.10);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}
.rc-lead-opt--featured .rc-lead-opt__tx b{color:#fff}
.rc-lead-opt--featured .rc-lead-opt__tx span{color:var(--rc-on-dark-2)}
.rc-lead-opt--featured .rc-lead-opt__go{color:var(--rc-gold-300)}
.rc-lead-opt--featured:hover .rc-lead-opt__go{color:var(--rc-gold)}
.rc-lead-tagpill{position:absolute;top:-9px;left:14px;font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--rc-gold);color:var(--rc-navy-900);padding:3px 9px;border-radius:var(--rc-r-pill)}
.rc-lead-microcopy{font-size:.75rem;color:var(--rc-ink-3);text-align:center;padding:var(--rc-microcopy-pad-y,28px) 8px;display:flex;align-items:center;justify-content:center;gap:7px}
.rc-lead-microcopy svg{width:14px;height:14px;color:var(--rc-gold-700)}

/* ================= FORM MODAL ================= */
.rc-lead-overlay{
  position:absolute; inset:0; background:rgba(22,34,58,.5);
  -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .3s var(--rc-ease), visibility 0s linear .3s;
}
.rc-lead-root[data-form-open] .rc-lead-overlay{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .3s var(--rc-ease)}

.rc-lead-modal{
  position:absolute; right:var(--rc-edge); bottom:var(--rc-edge-y);
  width:440px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 44px);
  background:var(--rc-surface); border-radius:var(--rc-r-xl); border:1px solid var(--rc-border);
  box-shadow:var(--rc-sh-lg); pointer-events:auto; display:flex; flex-direction:column; overflow:hidden;
  transform-origin:bottom right;
  opacity:0; transform:translateY(16px) scale(.98); visibility:hidden;
  transition:opacity .3s var(--rc-ease-out), transform .34s var(--rc-ease-out), visibility 0s linear .34s;
}
.rc-lead-root[data-form-open] .rc-lead-modal{opacity:1;transform:none;visibility:visible;transition:opacity .32s var(--rc-ease-out),transform .38s var(--rc-ease-out)}

/* FORM HEADER + PROGRESS */
.rc-lead-modal__head{padding:16px 18px 14px;border-bottom:1px solid var(--rc-border);background:var(--rc-surface);flex:none}
.rc-lead-modal__top{display:flex;align-items:center;gap:12px}
.rc-lead-back{width:34px;height:34px;flex:none;border-radius:9px;display:grid;place-items:center;color:var(--rc-ink-2);transition:background .2s,color .2s,opacity .2s}
.rc-lead-back:hover{background:var(--rc-surface-2);color:var(--rc-navy-900)}
.rc-lead-back:focus-visible{outline:2.5px solid var(--rc-gold);outline-offset:2px}
.rc-lead-back svg{width:19px;height:19px}
.rc-lead-back[hidden]{display:none}
.rc-lead-modal__titles{flex:1;min-width:0}
.rc-lead-step-count{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--rc-gold-700)}
.rc-lead-modal__titles p{font-size:.78rem;color:var(--rc-ink-3);margin-top:1px}
.rc-lead-close{width:34px;height:34px;flex:none;border-radius:9px;display:grid;place-items:center;color:var(--rc-ink-2);transition:background .2s,color .2s}
.rc-lead-close:hover{background:var(--rc-surface-2);color:var(--rc-navy-900)}
.rc-lead-close:focus-visible{outline:2.5px solid var(--rc-gold);outline-offset:2px}
.rc-lead-close svg{width:19px;height:19px}
.rc-lead-progress{height:4px;border-radius:var(--rc-r-pill);background:var(--rc-surface-2);margin-top:13px;overflow:hidden}
.rc-lead-progress__bar{height:100%;width:25%;border-radius:inherit;background:linear-gradient(90deg,var(--rc-gold-700),var(--rc-gold));transition:width .42s var(--rc-ease-out)}

/* FORM BODY / STEPS */
.rc-lead-modal__body{padding:20px 18px;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1}
.rc-lead-step{display:none;animation:rc-lead-stepin .34s var(--rc-ease-out) both}
.rc-lead-step.is-active{display:block}
@keyframes rc-lead-stepin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.rc-lead-step h3{font-size:1.18rem;font-weight:700;color:var(--rc-navy-900);letter-spacing:-.015em;line-height:1.25}
.rc-lead-step > p{font-size:.9rem;color:var(--rc-ink-2);margin-top:6px}

/* opciones tipo card (paso 1 y urgencia) */
.rc-lead-choices{display:grid;gap:9px;margin-top:18px}
.rc-lead-choices--2{grid-template-columns:1fr 1fr}
.rc-lead-choices--3{grid-template-columns:repeat(3,1fr)}
.rc-lead-choice{
  display:flex;align-items:center;gap:12px;width:100%;text-align:left;
  padding:14px 15px;border-radius:var(--rc-r-md);border:1.5px solid var(--rc-border-2);background:var(--rc-surface);
  transition:border-color .18s var(--rc-ease),background .18s var(--rc-ease),transform .16s var(--rc-ease-out),box-shadow .18s;
}
.rc-lead-choice:hover{border-color:var(--rc-navy-600);transform:translateY(-1px)}
.rc-lead-choice:focus-visible{outline:2.5px solid var(--rc-gold);outline-offset:2px}
.rc-lead-choice.is-selected{border-color:var(--rc-navy);background:var(--rc-navy-050);box-shadow:0 0 0 3px rgba(32,49,82,.08)}
.rc-lead-choice__ic{width:38px;height:38px;flex:none;border-radius:10px;display:grid;place-items:center;background:var(--rc-surface-2);color:var(--rc-navy);transition:background .18s,color .18s}
.rc-lead-choice__ic svg{width:20px;height:20px}
.rc-lead-choice.is-selected .rc-lead-choice__ic{background:var(--rc-navy);color:#fff}
.rc-lead-choice__label{font-size:.92rem;font-weight:600;color:var(--rc-navy-900)}
/* Área con descripción: etiqueta + texto de ayuda (máx. 2 líneas visibles; el lector de pantalla lee todo). */
.rc-lead-choice__text{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-width:0}
.rc-lead-choice__desc{font-size:.74rem;line-height:1.35;font-weight:400;color:var(--rc-ink-3);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
.rc-lead-choices--3 .rc-lead-choice{flex-direction:column;text-align:center;gap:8px;padding:15px 8px}
.rc-lead-choices--3 .rc-lead-choice__label{font-size:.82rem}
.rc-lead-check{margin-left:auto;width:20px;height:20px;flex:none;border-radius:50%;border:1.5px solid var(--rc-border-2);display:grid;place-items:center;color:#fff;transition:background .18s,border-color .18s}
.rc-lead-check svg{width:12px;height:12px;opacity:0;transform:scale(.5);transition:opacity .18s,transform .18s}
.rc-lead-choice.is-selected .rc-lead-check{background:var(--rc-navy);border-color:var(--rc-navy)}
.rc-lead-choice.is-selected .rc-lead-check svg{opacity:1;transform:none}
.rc-lead-choices--3 .rc-lead-check{display:none}

/* campos */
.rc-lead-field{margin-top:16px}
.rc-lead-field > label{display:block;font-size:.82rem;font-weight:700;color:var(--rc-ink);margin-bottom:7px}
.rc-lead-field > label .rc-lead-opt-tag{font-weight:500;color:var(--rc-ink-3)}
.rc-lead-input,.rc-lead-textarea,.rc-lead-select{
  width:100%;font-family:inherit;font-size:.95rem;color:var(--rc-ink);background:var(--rc-surface);
  border:1.5px solid var(--rc-border-2);border-radius:var(--rc-r-md);padding:13px 14px;
  transition:border-color .2s var(--rc-ease),box-shadow .2s var(--rc-ease);
}
.rc-lead-input::placeholder,.rc-lead-textarea::placeholder{color:var(--rc-ink-3)}
.rc-lead-input:focus,.rc-lead-textarea:focus,.rc-lead-select:focus{outline:none;border-color:var(--rc-navy);box-shadow:0 0 0 4px var(--rc-navy-050)}
.rc-lead-textarea{min-height:120px;resize:vertical;line-height:1.55}
.rc-lead-field.has-error .rc-lead-input,.rc-lead-field.has-error .rc-lead-textarea{border-color:var(--rc-error);box-shadow:0 0 0 4px var(--rc-error-050)}
.rc-lead-err{display:none;font-size:.78rem;color:var(--rc-error);margin-top:6px;align-items:center;gap:6px}
.rc-lead-err svg{width:14px;height:14px;flex:none}
.rc-lead-field.has-error .rc-lead-err{display:flex}
.rc-lead-counter{font-size:.74rem;color:var(--rc-ink-3);text-align:right;margin-top:6px}
.rc-lead-counter b{color:var(--rc-ink-2);font-weight:600}
.rc-lead-hint{font-size:.78rem;color:var(--rc-ink-3);margin-top:8px;display:flex;align-items:flex-start;gap:7px}
.rc-lead-hint svg{width:14px;height:14px;flex:none;margin-top:2px;color:var(--rc-gold-700)}

/* revelado condicional (fecha en urgencia) */
.rc-lead-reveal{overflow:hidden;max-height:0;opacity:0;transition:max-height .34s var(--rc-ease),opacity .28s var(--rc-ease),margin .3s}
.rc-lead-reveal.is-open{max-height:260px;opacity:1;margin-top:6px}

/* resumen */
.rc-lead-summary{margin-top:18px;border:1px solid var(--rc-border);border-radius:var(--rc-r-lg);overflow:hidden;background:var(--rc-surface)}
.rc-lead-summary__row{display:flex;gap:14px;padding:14px 16px;border-bottom:1px solid var(--rc-border);align-items:baseline}
.rc-lead-summary__row:last-child{border-bottom:none}
.rc-lead-summary__k{font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--rc-ink-3);min-width:88px;flex:none}
.rc-lead-summary__v{font-size:.92rem;color:var(--rc-navy-900);font-weight:600}
.rc-lead-summary__row--case .rc-lead-summary__v{font-weight:400;color:var(--rc-ink-2);font-size:.88rem}

/* PRIVACY */
.rc-lead-privacy{display:flex;gap:11px;align-items:flex-start;margin-top:18px;padding:14px;background:var(--rc-surface-2);border-radius:var(--rc-r-md);cursor:pointer}
.rc-lead-privacy input{position:absolute;opacity:0;width:1px;height:1px}
.rc-lead-privacy__box{width:20px;height:20px;flex:none;border-radius:6px;border:1.5px solid var(--rc-border-2);background:var(--rc-surface);display:grid;place-items:center;color:#fff;margin-top:1px;transition:background .18s,border-color .18s}
.rc-lead-privacy__box svg{width:12px;height:12px;opacity:0;transform:scale(.5);transition:opacity .18s,transform .18s}
.rc-lead-privacy input:checked ~ .rc-lead-privacy__box{background:var(--rc-navy);border-color:var(--rc-navy)}
.rc-lead-privacy input:checked ~ .rc-lead-privacy__box svg{opacity:1;transform:none}
.rc-lead-privacy input:focus-visible ~ .rc-lead-privacy__box{outline:2.5px solid var(--rc-gold);outline-offset:2px}
.rc-lead-privacy__tx{font-size:.8rem;color:var(--rc-ink-2);line-height:1.5}
.rc-lead-privacy__tx a{color:var(--rc-burgundy);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.rc-lead-privacy.has-error .rc-lead-privacy__box{border-color:var(--rc-error);box-shadow:0 0 0 3px var(--rc-error-050)}

/* FOOTER / CTA */
.rc-lead-modal__foot{padding:14px 18px;border-top:1px solid var(--rc-border);background:var(--rc-surface);flex:none;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}
.rc-lead-cta{
  width:100%;display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-weight:700;font-size:.95rem;padding:15px 22px;border-radius:var(--rc-r-pill);
  background:var(--rc-navy);color:var(--rc-on-dark);box-shadow:var(--rc-sh-sm);min-height:52px;
  transition:transform .2s var(--rc-ease-out),background .2s var(--rc-ease),box-shadow .2s,opacity .2s;
}
.rc-lead-cta:hover{background:var(--rc-navy-900);transform:translateY(-2px);box-shadow:var(--rc-sh-md)}
.rc-lead-cta:active{transform:translateY(0)}
.rc-lead-cta:focus-visible{outline:3px solid var(--rc-gold);outline-offset:3px}
.rc-lead-cta svg{width:18px;height:18px;flex:none}
.rc-lead-cta--send{background:var(--rc-burgundy)}
.rc-lead-cta--send:hover{background:var(--rc-burgundy-500)}
.rc-lead-cta[disabled]{opacity:.55;pointer-events:none}
.rc-lead-foot-reassure{font-size:.72rem;color:var(--rc-ink-3);text-align:center;margin-top:9px;display:flex;align-items:center;justify-content:center;gap:6px}
.rc-lead-foot-reassure svg{width:13px;height:13px;color:var(--rc-gold-700)}

/* spinner */
.rc-lead-spin{width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(244,241,235,.35);border-top-color:#fff;animation:rc-lead-rot .7s linear infinite}
@keyframes rc-lead-rot{to{transform:rotate(360deg)}}

/* LOADING / SUCCESS / ERROR (pantallas completas dentro del modal) */
.rc-lead-state{display:none;flex-direction:column;align-items:center;text-align:center;padding:44px 26px 34px;flex:1;justify-content:center}
.rc-lead-state.is-active{display:flex;animation:rc-lead-stepin .34s var(--rc-ease-out) both}
.rc-lead-state__ic{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;margin-bottom:20px}
.rc-lead-state__ic svg{width:32px;height:32px}
.rc-lead-state--loading .rc-lead-state__ic{background:var(--rc-navy-050);color:var(--rc-navy)}
.rc-lead-state--success .rc-lead-state__ic{background:var(--rc-success-050);color:var(--rc-success)}
.rc-lead-state--error .rc-lead-state__ic{background:var(--rc-error-050);color:var(--rc-error)}
.rc-lead-state h3{font-size:1.24rem;font-weight:700;color:var(--rc-navy-900);letter-spacing:-.015em}
.rc-lead-state p{font-size:.92rem;color:var(--rc-ink-2);max-width:34ch;margin-top:8px}
.rc-lead-state .rc-lead-cta{width:auto;min-width:200px;margin-top:24px}
.rc-lead-tick{stroke-dasharray:26;stroke-dashoffset:26;animation:rc-lead-draw .5s .15s var(--rc-ease-out) forwards}
@keyframes rc-lead-draw{to{stroke-dashoffset:0}}
.rc-lead-loadbar{width:150px;height:4px;border-radius:var(--rc-r-pill);background:var(--rc-surface-2);overflow:hidden;margin-top:22px}
.rc-lead-loadbar span{display:block;height:100%;width:40%;border-radius:inherit;background:linear-gradient(90deg,var(--rc-gold-700),var(--rc-gold));animation:rc-lead-load 1.1s var(--rc-ease) infinite}
@keyframes rc-lead-load{0%{transform:translateX(-120%)}100%{transform:translateX(320%)}}

/* screen-reader only */
.rc-lead-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ================= MOBILE — bottom sheet ================= */
@media (max-width:640px){
  .rc-lead-launcher-wrap{right:var(--rc-edge-mobile);bottom:calc(var(--rc-edge-mobile) + env(safe-area-inset-bottom,0px))}
  .rc-lead-menu{
    right:12px;left:12px;width:auto;max-width:none;
    bottom:calc(var(--rc-edge-mobile) + var(--rc-launcher-size) + 14px + env(safe-area-inset-bottom,0px));
    max-height:calc(100dvh - var(--rc-edge-mobile) - var(--rc-launcher-size) - 28px - env(safe-area-inset-bottom,0px));
  }
  /* el formulario ocupa casi toda la pantalla como hoja inferior */
  .rc-lead-modal{
    right:0;left:0;bottom:0;top:auto;width:100%;max-width:none;
    height:auto;max-height:96dvh;
    border-radius:var(--rc-r-xl) var(--rc-r-xl) 0 0;border-bottom:none;
    transform-origin:bottom center;transform:translateY(100%);
  }
  .rc-lead-root[data-form-open] .rc-lead-modal{transform:none}
  .rc-lead-modal::before{content:"";position:absolute;top:8px;left:50%;transform:translateX(-50%);width:38px;height:4px;border-radius:99px;background:var(--rc-border-2);z-index:2}
  .rc-lead-modal__head{padding-top:22px}
}
@media (max-width:380px){
  .rc-lead-choices--3{grid-template-columns:1fr;}
  .rc-lead-choices--3 .rc-lead-choice{flex-direction:row;text-align:left}
}

/* ================= REDUCED MOTION ================= */
@media (prefers-reduced-motion:reduce){
  .rc-lead-root *,.rc-lead-root *::before,.rc-lead-root *::after{
    animation:none !important;
    transition-duration:.001ms !important;
  }
  .rc-lead-launcher.rc-lead-attn{animation:none}
}

/* ================= DEV PANEL (eliminable) ================= */
.rc-lead-dev{
  position:fixed;left:16px;bottom:16px;z-index:calc(var(--rc-z, 2147483000) + 10);
  font-family:var(--rc-font-sans,sans-serif);background:#16223A;color:#F4F1EB;
  border-radius:12px;box-shadow:0 20px 50px -20px rgba(0,0,0,.6);
  border:1px solid rgba(182,157,116,.35);width:210px;overflow:hidden;font-size:.8rem;
}
.rc-lead-dev__bar{display:flex;align-items:center;gap:8px;padding:9px 12px;background:rgba(182,157,116,.14);cursor:pointer;user-select:none}
.rc-lead-dev__bar b{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:#D8C8A8;font-weight:700;flex:1}
.rc-lead-dev__bar svg{width:14px;height:14px;transition:transform .25s}
.rc-lead-dev.is-collapsed .rc-lead-dev__body{display:none}
.rc-lead-dev.is-collapsed .rc-lead-dev__bar svg{transform:rotate(180deg)}
.rc-lead-dev__body{padding:10px;display:grid;gap:6px}
.rc-lead-dev__body small{color:#AEB8CA;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;margin-top:4px}
.rc-lead-dev button{font-family:inherit;font-size:.78rem;font-weight:600;color:#F4F1EB;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:8px 10px;text-align:left;cursor:pointer;transition:background .15s}
.rc-lead-dev button:hover{background:rgba(182,157,116,.25)}
.rc-lead-dev__steps{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.rc-lead-dev__steps button{text-align:center;padding:8px 0}
@media(max-width:640px){.rc-lead-dev{width:170px}}
/* ================= PLUGIN: posición configurable ================= */
.rc-lead-root[data-position="bottom-left"] .rc-lead-launcher-wrap{right:auto;left:var(--rc-edge)}
.rc-lead-root[data-position="bottom-left"] .rc-lead-menu{right:auto;left:var(--rc-edge);transform-origin:bottom left}
.rc-lead-root[data-position="bottom-left"] .rc-lead-modal{right:auto;left:var(--rc-edge);transform-origin:bottom left}
.rc-lead-root[data-position="bottom-left"] .rc-lead-nudge{order:1;transform-origin:left center}
.rc-lead-root[data-position="bottom-left"] .rc-lead-nudge::after{right:auto;left:-5px;border-right:none;border-left:1px solid var(--rc-border);border-bottom:none;border-top:1px solid var(--rc-border)}
@media (max-width:640px){
  .rc-lead-root[data-position="bottom-left"] .rc-lead-launcher-wrap{left:var(--rc-edge-mobile)}
}
@media (max-width:640px){
  .rc-lead-nudge{max-width:min(62vw,220px); font-size:.82rem; padding:10px 13px}
}

/* ================= PLUGIN: honeypot (invisible para humanos) ================= */
.rc-lead-hp{position:absolute !important;left:-9999px !important;top:auto;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}

/* ============================================================================
   THEME ARMOR · Blindaje frente al tema del sitio
   El widget vive dentro del DOM del tema; estas reglas evitan que la
   tipografía, los márgenes, los bordes y los fondos del tema deformen el
   componente. Especificidad alta + !important solo en lo que los temas suelen
   pisar. NO cambia el diseño validado; lo protege.
   ============================================================================ */

/* box-model y tipografía base del subárbol */
.rc-lead-root, .rc-lead-root *, .rc-lead-root *::before, .rc-lead-root *::after{
  box-sizing:border-box !important;
  font-family:var(--rc-font-sans) !important;
  letter-spacing:normal !important;
  text-align:left;
  float:none !important;
  text-shadow:none !important;
  max-width:none;
}
.rc-lead-root{position:fixed !important;inset:0 !important;z-index:var(--rc-z) !important;line-height:1.5 !important}

/* neutraliza márgenes/tamaños de tipografía del tema en textos del widget */
.rc-lead-root h2, .rc-lead-root h3, .rc-lead-root h4, .rc-lead-root p{
  margin:0 !important; padding:0 !important; text-transform:none !important;
  font-weight:400; color:inherit;
}
/* Excepción: el microcopy SÍ debe conservar su separación (gana a la regla p de arriba). */
.rc-lead-root .rc-lead-microcopy{padding:var(--rc-microcopy-pad-y,28px) 8px !important;margin:0 !important;color:var(--rc-ink-3) !important;font-size:.75rem !important}
.rc-lead-root .rc-lead-menu__head h2{font-size:1.22rem !important;line-height:1.25 !important;font-weight:700 !important;color:#fff !important;margin:0 0 5px !important}
.rc-lead-root .rc-lead-menu__head p{font-size:.875rem !important;line-height:1.5 !important;color:rgba(244,241,235,.78) !important}
.rc-lead-root .rc-lead-step h3, .rc-lead-root .rc-lead-state h3{font-size:1.18rem !important;line-height:1.28 !important;font-weight:700 !important;color:var(--rc-navy-900) !important}
.rc-lead-root .rc-lead-step > p{font-size:.9rem !important;line-height:1.5 !important;color:var(--rc-ink-2) !important;margin-top:6px !important}
.rc-lead-root .rc-lead-state p{font-size:.92rem !important;line-height:1.5 !important;color:var(--rc-ink-2) !important;margin-top:8px !important}

/* controles: sin herencia de estilos de botón/input del tema */
.rc-lead-root button, .rc-lead-root input, .rc-lead-root textarea, .rc-lead-root select, .rc-lead-root a{
  -webkit-appearance:none !important; appearance:none !important;
  box-shadow:none; text-transform:none !important; line-height:normal;
  min-width:0 !important; min-height:0 !important;
}
.rc-lead-root button{background:transparent !important;border:0 !important;color:inherit;margin:0 !important}
.rc-lead-root a{text-decoration:none !important}

/* LAUNCHER (círculo burdeos con aro beige) */
.rc-lead-root .rc-lead-launcher{
  width:var(--rc-launcher-size) !important; height:var(--rc-launcher-size) !important;
  padding:0 !important; border:0 !important; border-radius:50% !important;
  background:var(--rc-burgundy) !important; color:var(--rc-on-dark) !important;
  box-shadow:var(--rc-sh-md), 0 0 0 1.5px rgba(251,249,245,.7) !important;
  display:grid !important; place-items:center !important;
}
.rc-lead-root .rc-lead-launcher:hover{background:var(--rc-burgundy-900) !important}
.rc-lead-root[data-menu-open] .rc-lead-launcher{background:var(--rc-burgundy-900) !important}
.rc-lead-root .rc-lead-launcher svg{width:27px !important;height:27px !important;max-width:none !important}

/* NUDGE */
.rc-lead-root .rc-lead-nudge{background:var(--rc-surface) !important;border:1px solid var(--rc-border) !important;border-radius:var(--rc-r-pill) !important;color:var(--rc-ink) !important;box-shadow:var(--rc-sh-md) !important}

/* MENÚ + opciones */
.rc-lead-root .rc-lead-menu{background:var(--rc-surface) !important;border:1px solid var(--rc-border) !important;border-radius:var(--rc-r-xl) !important}
.rc-lead-root .rc-lead-opt{background:var(--rc-surface) !important;border:1px solid var(--rc-border) !important;border-radius:var(--rc-r-md) !important;color:var(--rc-ink)}
.rc-lead-root .rc-lead-opt__ic{background:var(--rc-navy-050) !important;color:var(--rc-navy) !important;border-radius:11px !important}
.rc-lead-root .rc-lead-opt--wa .rc-lead-opt__ic{background:rgba(37,165,102,.12) !important;color:var(--rc-whatsapp) !important}
.rc-lead-root .rc-lead-opt__tx b{color:var(--rc-navy-900) !important;font-weight:700 !important}
.rc-lead-root .rc-lead-opt__tx span{color:var(--rc-ink-2) !important}
.rc-lead-root .rc-lead-opt--featured{background:var(--rc-featured-bg,var(--rc-navy)) !important;border-color:var(--rc-featured-bg,var(--rc-navy)) !important}
.rc-lead-root .rc-lead-opt--featured:hover{background:var(--rc-featured-bg,var(--rc-navy)) !important;filter:brightness(.92) !important}
.rc-lead-root .rc-lead-opt--featured .rc-lead-opt__ic{background:rgba(255,255,255,.10) !important;color:#fff !important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22) !important}
.rc-lead-root .rc-lead-opt--featured .rc-lead-opt__tx b{color:#fff !important}
.rc-lead-root .rc-lead-opt--featured .rc-lead-opt__tx span{color:var(--rc-on-dark-2) !important}
.rc-lead-root .rc-lead-tagpill{background:var(--rc-gold) !important;color:var(--rc-navy-900) !important;text-transform:uppercase !important;border-radius:var(--rc-r-pill) !important;font-weight:700 !important}

/* PROGRESO */
.rc-lead-root .rc-lead-step-count{text-transform:uppercase !important;color:var(--rc-gold-700) !important;font-weight:700 !important;font-size:.7rem !important}
.rc-lead-root .rc-lead-progress{background:var(--rc-surface-2) !important;border-radius:var(--rc-r-pill) !important}
.rc-lead-root .rc-lead-progress__bar{background:linear-gradient(90deg,var(--rc-gold-700),var(--rc-gold)) !important}

/* CHOICES (cards de selección) */
.rc-lead-root .rc-lead-choice{background:var(--rc-surface) !important;border:1.5px solid var(--rc-border-2) !important;border-radius:var(--rc-r-md) !important;color:var(--rc-navy-900) !important}
.rc-lead-root .rc-lead-choice:hover{border-color:var(--rc-navy-600) !important}
.rc-lead-root .rc-lead-choice.is-selected{background:var(--rc-navy-050) !important;border-color:var(--rc-navy) !important}
.rc-lead-root .rc-lead-choice__ic{background:var(--rc-surface-2) !important;color:var(--rc-navy) !important;border-radius:10px !important}
.rc-lead-root .rc-lead-choice.is-selected .rc-lead-choice__ic{background:var(--rc-navy) !important;color:#fff !important}
.rc-lead-root .rc-lead-choice__label{color:var(--rc-navy-900) !important;font-weight:600 !important}
.rc-lead-root .rc-lead-check{background:transparent !important;border:1.5px solid var(--rc-border-2) !important;border-radius:50% !important}
.rc-lead-root .rc-lead-choice.is-selected .rc-lead-check{background:var(--rc-navy) !important;border-color:var(--rc-navy) !important}

/* CAMPOS */
.rc-lead-root .rc-lead-input, .rc-lead-root .rc-lead-textarea, .rc-lead-root .rc-lead-select{
  background:var(--rc-surface) !important; color:var(--rc-ink) !important;
  border:1.5px solid var(--rc-border-2) !important; border-radius:var(--rc-r-md) !important;
  width:100% !important; padding:13px 14px !important; font-size:.95rem !important; line-height:1.5 !important;
}
.rc-lead-root .rc-lead-textarea{min-height:120px !important}
.rc-lead-root .rc-lead-field.has-error .rc-lead-input, .rc-lead-root .rc-lead-field.has-error .rc-lead-textarea{border-color:var(--rc-error) !important}

/* PRIVACIDAD */
.rc-lead-root .rc-lead-privacy{background:var(--rc-surface-2) !important;border-radius:var(--rc-r-md) !important}
.rc-lead-root .rc-lead-privacy__box{background:var(--rc-surface) !important;border:1.5px solid var(--rc-border-2) !important;border-radius:6px !important}
.rc-lead-root .rc-lead-privacy input:checked ~ .rc-lead-privacy__box{background:var(--rc-navy) !important;border-color:var(--rc-navy) !important}
.rc-lead-root .rc-lead-privacy__tx a{color:var(--rc-burgundy) !important;text-decoration:underline !important}

/* RESUMEN */
.rc-lead-root .rc-lead-summary{background:var(--rc-surface) !important;border:1px solid var(--rc-border) !important;border-radius:var(--rc-r-lg) !important}
.rc-lead-root .rc-lead-summary__v{color:var(--rc-navy-900) !important}

/* CTA principal + estados */
.rc-lead-root .rc-lead-cta{
  background:var(--rc-navy) !important; color:var(--rc-on-dark) !important;
  border:0 !important; border-radius:var(--rc-r-pill) !important;
  width:100% !important; min-height:52px !important; padding:15px 22px !important;
  font-weight:700 !important; font-size:.95rem !important; box-shadow:var(--rc-sh-sm) !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
}
.rc-lead-root .rc-lead-cta:hover{background:var(--rc-navy-900) !important}
.rc-lead-root .rc-lead-cta--send{background:var(--rc-burgundy) !important}
.rc-lead-root .rc-lead-cta--send:hover{background:var(--rc-burgundy-500) !important}
.rc-lead-root .rc-lead-state .rc-lead-cta{width:auto !important}
.rc-lead-root .rc-lead-cta svg{width:18px !important;height:18px !important}

/* MODAL + cabecera + cerrar/atrás */
.rc-lead-root .rc-lead-modal{background:var(--rc-surface) !important;border:1px solid var(--rc-border) !important}
.rc-lead-root .rc-lead-modal__head, .rc-lead-root .rc-lead-modal__foot{background:var(--rc-surface) !important}
.rc-lead-root .rc-lead-close, .rc-lead-root .rc-lead-back, .rc-lead-root .rc-lead-nudge__x{background:transparent !important;border:0 !important;color:var(--rc-ink-2) !important;border-radius:9px !important}
.rc-lead-root .rc-lead-close:hover, .rc-lead-root .rc-lead-back:hover{background:var(--rc-surface-2) !important}

/* estados: iconos */
.rc-lead-root .rc-lead-state--success .rc-lead-state__ic{background:var(--rc-success-050) !important;color:var(--rc-success) !important}
.rc-lead-root .rc-lead-state--error .rc-lead-state__ic{background:var(--rc-error-050) !important;color:var(--rc-error) !important}
.rc-lead-root .rc-lead-state--loading .rc-lead-state__ic{background:var(--rc-navy-050) !important;color:var(--rc-navy) !important}

/* SVG genérico del widget */
.rc-lead-root svg{vertical-align:middle;max-width:none}

/* ---- BLINDAJE DE LAYOUT (el tema fuerza display en <button>; lo restauramos) ---- */
.rc-lead-root .rc-lead-launcher-wrap{
  display:flex !important; align-items:center !important;
  /* capa GPU: evita el temblor del icono al hacer scroll en móvil */
  transform:translateZ(0); will-change:transform; -webkit-backface-visibility:hidden; backface-visibility:hidden;
}
.rc-lead-root .rc-lead-launcher{transform:translateZ(0);}

/* opciones del menú (incluida la destacada, que es <button>) */
.rc-lead-root .rc-lead-opt{
  display:flex !important; align-items:center !important; gap:14px !important;
  width:100% !important; padding:14px 15px !important; text-align:left !important;
}
.rc-lead-root .rc-lead-opt--featured{padding:16px 15px !important;margin-top:16px !important}
.rc-lead-root .rc-lead-opt__ic{width:44px !important;height:44px !important;flex:0 0 44px !important;display:grid !important;place-items:center !important}
.rc-lead-root .rc-lead-opt__tx{flex:1 1 auto !important;min-width:0 !important;text-align:left !important}
.rc-lead-root .rc-lead-opt__go{flex:0 0 18px !important;width:18px !important;height:18px !important}

/* contenedores de cards */
.rc-lead-root .rc-lead-choices{display:grid !important;gap:9px !important}
.rc-lead-root .rc-lead-choices--2{grid-template-columns:1fr 1fr !important}
.rc-lead-root .rc-lead-choices--3{grid-template-columns:repeat(3,1fr) !important}

/* cards de selección (todas son <button>) */
.rc-lead-root .rc-lead-choice{
  display:flex !important; align-items:center !important; gap:12px !important;
  width:100% !important; padding:14px 15px !important; text-align:left !important;
}
.rc-lead-root .rc-lead-choices--3 .rc-lead-choice{flex-direction:column !important;text-align:center !important;gap:8px !important;padding:15px 8px !important}
.rc-lead-root .rc-lead-choice__ic{width:38px !important;height:38px !important;flex:0 0 38px !important;display:grid !important;place-items:center !important}
.rc-lead-root .rc-lead-choice__label{flex:1 1 auto;text-align:left !important}
/* Temas como Hello Elementor fijan `white-space:nowrap` en todos los <button>: las tarjetas deben partir el
   texto en líneas (si no, la descripción se corta en una sola línea y sin «…»). */
.rc-lead-root .rc-lead-choice,
.rc-lead-root .rc-lead-choice__text,
.rc-lead-root .rc-lead-choice__label,
.rc-lead-root .rc-lead-choice__desc{white-space:normal !important;overflow-wrap:break-word !important;word-break:normal !important}
.rc-lead-root .rc-lead-choice__text{display:flex !important;flex-direction:column !important;gap:2px !important;flex:1 1 auto !important;min-width:0 !important;text-align:left !important}
.rc-lead-root .rc-lead-choice__desc{display:-webkit-box !important;-webkit-box-orient:vertical !important;-webkit-line-clamp:2 !important;overflow:hidden !important;font-size:.74rem !important;line-height:1.35 !important;font-weight:400 !important;color:var(--rc-ink-3) !important;margin:0 !important;padding:0 !important;text-transform:none !important;letter-spacing:normal !important}
.rc-lead-root .rc-lead-choices--3 .rc-lead-choice__label{text-align:center !important}
.rc-lead-root .rc-lead-check{margin-left:auto !important;flex:0 0 20px !important;width:20px !important;height:20px !important;display:grid !important;place-items:center !important}
.rc-lead-root .rc-lead-choices--3 .rc-lead-check{display:none !important}

/* botones de icono: tamaño y centrado */
.rc-lead-root .rc-lead-close, .rc-lead-root .rc-lead-back{width:34px !important;height:34px !important;padding:0 !important;display:grid !important;place-items:center !important}
.rc-lead-root .rc-lead-nudge__x{width:22px !important;height:22px !important;padding:0 !important;display:grid !important;place-items:center !important}
.rc-lead-root .rc-lead-cta{padding:15px 22px !important}

/* cabecera del modal en fila */
.rc-lead-root .rc-lead-modal__top{display:flex !important;align-items:center !important;gap:12px !important}
.rc-lead-root .rc-lead-modal__titles{flex:1 1 auto !important;min-width:0 !important}
