/* INTERACTIVA PREMIUM CORE V2.2 — modal, booking, conversion and stable motion */
:root{--ipx22-accent:var(--ip5-accent,#F7A823);--ipx22-ink:#181916;--ipx22-line:#e4e1d9}
/* Comenzar: dedicated centered, elegant modal on desktop. The AI remains a side drawer. */
#ipx-start-drawer.ipx22-start-modal{position:fixed!important;left:50%!important;right:auto!important;top:50%!important;bottom:auto!important;width:min(760px,calc(100vw - 34px))!important;height:min(850px,calc(100dvh - 42px))!important;max-height:calc(100dvh - 42px)!important;border-radius:24px!important;overflow:hidden!important;transform:translate(-50%,-46%) scale(.965)!important;box-shadow:0 35px 110px rgba(9,10,8,.36)!important;transition:transform .35s cubic-bezier(.22,1,.36,1),visibility .35s,opacity .35s!important;opacity:0!important;z-index:1103!important}
#ipx-start-drawer.ipx22-start-modal.open{transform:translate(-50%,-50%) scale(1)!important;opacity:1!important;visibility:visible!important}
#ipx-start-drawer .ipx-drawer-top{padding:26px clamp(22px,5vw,42px)!important;background:#1b1d19!important}
#ipx-start-drawer .ipx-drawer-top h2{font-size:clamp(26px,4.5vw,48px)!important;letter-spacing:-.065em!important}
#ipx-start-drawer .ipx-drawer-body{padding:26px clamp(20px,4.6vw,42px) 36px!important;overflow-y:auto;scrollbar-width:thin}
#ipx-start-drawer .ipx21-start-form .ipx21-start-intro h3{font-size:clamp(24px,3vw,31px)}
#ipx-start-drawer .ipx21-start-form .ipx-send{background:var(--ipx22-accent)!important;border-radius:50px!important;color:#141414!important}
#ipx-start-drawer .ipx21-start-form .ipx-send:disabled{opacity:.55;cursor:wait}
#ipx-start-drawer .ipx22-lead-status{margin:12px 0 0;padding:12px 16px;font-size:14px;line-height:1.6;background:#fff5dc;color:#383124;border-radius:12px;min-height:0}
#ipx-start-drawer .ipx22-lead-status:empty{display:none}#ipx-start-drawer .ipx22-lead-status.success{background:#e9f6e9;color:#21562b}
#ipx-start-drawer .ipx21-start-intro[hidden]{display:none!important}
/* Chat: persistent actions, booking and lead capture stay inside its own drawer. */
#ipx-ai-drawer{width:min(100%,520px)!important}
#ipx-ai-drawer .ipx-drawer-actions{padding:13px 18px max(16px,env(safe-area-inset-bottom));gap:7px;box-shadow:0 -8px 24px rgba(0,0,0,.04)}
#ipx-ai-drawer .ipx-drawer-actions :is(a,button){box-sizing:border-box;min-height:42px;border-radius:12px;cursor:pointer;font:inherit;font-weight:750;font-size:11px;letter-spacing:.012em;transition:transform .18s,background .18s;display:flex;justify-content:center;align-items:center;text-align:center;text-decoration:none;padding:10px 12px;width:100%;line-height:1.25}
#ipx-ai-drawer .ipx-drawer-actions :is(a,button):hover{transform:translateY(-1px)}
#ipx-ai-drawer .ipx-drawer-actions .ipx22-meeting-cta{background:var(--ipx22-ink);color:white;border:1px solid var(--ipx22-ink)}
#ipx-ai-drawer .ipx-drawer-actions .bt-comenzar{background:var(--ipx22-accent);color:var(--ipx22-ink);border:1px solid transparent}
#ipx-ai-drawer .ipx-drawer-actions .bt-wb{background:#25D366;color:#07351b;border:1px solid #25D366}
#ipx-ai-drawer .ipx22-meeting-panel{padding:17px 18px;min-height:0;overflow:auto;flex:1 1 auto;background:#f7f7f4;scrollbar-width:thin}
#ipx-ai-drawer .ipx22-meeting-panel[hidden]{display:none!important}
#ipx-ai-drawer.ipx22-meeting-opened .ipx21-chat-body,#ipx-ai-drawer.ipx22-meeting-opened .ipx21-chat-form{display:none!important}
#ipx-ai-drawer .ipx22-meeting-heading{display:flex;justify-content:space-between;gap:13px;align-items:flex-start}
#ipx-ai-drawer .ipx22-meeting-heading small{font-size:10px;letter-spacing:.13em;font-weight:800;color:#947322}
#ipx-ai-drawer .ipx22-meeting-heading h3{font-size:26px;line-height:1.07;letter-spacing:-.05em;margin:7px 0 7px;color:#1b1c18}
#ipx-ai-drawer .ipx22-meeting-heading p,#ipx-ai-drawer .ipx22-booking p{font-size:12px;line-height:1.6;color:#5a5b52}
#ipx-ai-drawer .ipx22-close-meeting{width:38px;min-width:38px;height:38px;border:1px solid #d4d0c7;background:#fff;border-radius:50%;font-size:24px;cursor:pointer}
#ipx-ai-drawer .ipx22-booking{border:1px solid var(--ipx22-line);padding:10px 12px;background:white;border-radius:15px;margin:15px 0}
#ipx-ai-drawer .ipx22-booking iframe{border:1px solid #e5e5e5;border-radius:9px;width:100%;height:360px;display:block;background:#f9f9f9}
#ipx-ai-drawer .ipx22-external-booking{display:block;padding:10px 0;font-size:12px;color:#47463d;font-weight:650}
#ipx-ai-drawer .ipx22-appointment-warning{background:#fff5e2;border:1px solid #f0dfb7;border-radius:12px;padding:13px;font-size:12px;line-height:1.55}
#ipx-ai-drawer .ipx22-meeting-fallback{border:1px solid var(--ipx22-line);border-radius:14px;background:#fff;margin:15px 0;overflow:hidden}
#ipx-ai-drawer .ipx22-meeting-fallback summary{list-style:none;padding:14px 16px;font-weight:750;cursor:pointer;font-size:12px}
#ipx-ai-drawer .ipx22-meeting-fallback summary::-webkit-details-marker{display:none}
#ipx-ai-drawer .ipx22-meeting-form{display:grid;gap:9px;padding:0 15px 18px}
#ipx-ai-drawer .ipx22-meeting-form label{display:grid;gap:4px;font-size:11px;font-weight:650;color:#333}
#ipx-ai-drawer .ipx22-meeting-form :is(input:not([type=checkbox]),textarea){width:100%;min-width:0;box-sizing:border-box;border-radius:9px;background:#fff;border:1px solid #d4d2c9;padding:10px 12px;font-size:15px;color:#1b1b1a}
#ipx-ai-drawer .ipx22-meeting-form .ipx22-consent{display:flex;align-items:flex-start;flex-direction:row;line-height:1.5;font-size:11px}
#ipx-ai-drawer .ipx22-meeting-form .ipx22-consent input{margin:2px 8px 0 0}
#ipx-ai-drawer .ipx22-meeting-form button[type=submit]{background:var(--ipx22-accent);border:0;border-radius:30px;padding:14px 18px;font-size:12px;font-weight:750;cursor:pointer}
#ipx-ai-drawer .ipx22-meeting-form button:disabled{opacity:.55}
#ipx-ai-drawer .ipx22-meeting-status{margin:0;font-size:12px;line-height:1.5}
#ipx-ai-drawer .ipx22-meeting-form input.ipx-hp{position:absolute!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none;left:-9999px!important}
/* Avoid permanently hidden content while JS is disabled or Elementor rewrites sections. */
.ipx-anim-target:not(.ipx22-motion-bound){opacity:1!important;transform:none!important}
.ipx-anim-target.ipx22-motion-bound{will-change:opacity,transform}
.ipx-anim-target.ipx22-motion-bound.visible{opacity:1;transform:none;will-change:auto}
@media(max-width:640px){#ipx-start-drawer.ipx22-start-modal{left:0!important;right:0!important;top:0!important;bottom:0!important;width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;transform:translateY(20px)!important}#ipx-start-drawer.ipx22-start-modal.open{transform:translateY(0)!important}#ipx-start-drawer .ipx-drawer-top{padding:22px!important}#ipx-start-drawer .ipx-drawer-body{padding:18px!important}#ipx-ai-drawer .ipx-drawer-actions{display:grid;grid-template-columns:1fr 1fr;padding:10px 10px calc(10px + env(safe-area-inset-bottom))}#ipx-ai-drawer .ipx-drawer-actions .ipx22-meeting-cta{grid-column:1/-1}#ipx-ai-drawer .ipx-drawer-actions :is(a,button){font-size:10px;min-height:40px;padding:10px 7px}}
@media(prefers-reduced-motion:reduce){#ipx-start-drawer.ipx22-start-modal{transition:none!important}.ipx-anim-target.ipx22-motion-bound{opacity:1!important;transform:none!important}}
