/* Shared demo components (modal, chat, floating buttons, lang). Themed per site via --rg-* vars. */
.es,.en{}
html:not(.en) .en{display:none!important}
html.en .es{display:none!important}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;overflow-x:hidden}
img{max-width:100%;display:block}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.rg-fab{position:fixed;right:16px;bottom:16px;z-index:900;display:flex;flex-direction:column;gap:10px;align-items:flex-end}
.rg-fab button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;height:52px;padding:0 18px 0 14px;border-radius:999px;font:600 14px/1 var(--rg-font,system-ui);box-shadow:0 10px 30px rgba(0,0,0,.28);transition:transform .15s}
.rg-fab button:hover{transform:translateY(-2px)}
.rg-fab button:focus-visible{outline:3px solid var(--rg-accent);outline-offset:3px}
.rg-fab svg{width:24px;height:24px;flex:none}
.rg-fab .rg-wa{background:#1FAF5A;color:#fff}
.rg-fab .rg-chat-btn{background:var(--rg-accent);color:var(--rg-on-accent,#fff)}
@media(max-width:600px){.rg-fab{right:12px;bottom:12px;gap:8px}.rg-fab button{width:50px;height:50px;padding:0;justify-content:center}.rg-fab button>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.rg-fab svg{width:25px;height:25px}}
.rg-ov{position:fixed;inset:0;z-index:2147483100;background:rgba(5,8,14,.62);display:none;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(3px)}
.rg-ov.on{display:flex}
.rg-modal{position:relative;width:100%;max-width:480px;max-height:calc(100vh - 36px);overflow:auto;background:var(--rg-panel,#fff);color:var(--rg-fg,#111);border-radius:var(--rg-radius,16px);padding:26px 22px 22px;box-shadow:0 30px 80px rgba(0,0,0,.4);font-family:var(--rg-font,system-ui)}
.rg-modal h3{margin:0 34px 10px 0;font:700 21px/1.25 var(--rg-display,var(--rg-font,system-ui))}
.rg-modal p{margin:0 0 12px;line-height:1.55;font-size:15px}
.rg-modal .rg-x{all:unset;cursor:pointer;position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:22px;line-height:1;color:inherit;opacity:.7}
.rg-modal .rg-x:hover{opacity:1;background:rgba(127,127,127,.15)}
.rg-modal .rg-note{font-size:13px;opacity:.78;border-left:3px solid var(--rg-accent);padding:6px 10px;background:rgba(127,127,127,.08);border-radius:4px}
.rg-modal dl{margin:10px 0 14px;display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:14px}
.rg-modal dt{font-weight:700;opacity:.8}.rg-modal dd{margin:0;overflow-wrap:anywhere}
.rg-bubble{background:#E7F8EC;color:#10301C;border-radius:14px 14px 14px 4px;padding:12px 14px;font-size:14.5px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 12px}
.rg-modal .rg-ok{all:unset;cursor:pointer;display:inline-block;margin-top:6px;padding:12px 20px;border-radius:999px;background:var(--rg-accent);color:var(--rg-on-accent,#fff);font-weight:700;font-size:14px}
.rg-chat{position:fixed;right:16px;bottom:16px;z-index:2147483050;width:min(380px,calc(100vw - 24px));height:min(560px,calc(100dvh - 90px));background:var(--rg-panel,#fff);color:var(--rg-fg,#111);border-radius:var(--rg-radius,16px);box-shadow:0 24px 70px rgba(0,0,0,.38);display:none;flex-direction:column;overflow:hidden;font-family:var(--rg-font,system-ui)}
.rg-chat.on{display:flex}
@media(max-width:480px){.rg-chat{right:12px;bottom:12px;width:calc(100vw - 24px);height:calc(100dvh - 70px)}}
.rg-chat header{display:flex;align-items:center;gap:10px;padding:14px 14px 12px 16px;background:var(--rg-chat-head,var(--rg-accent));color:var(--rg-chat-head-fg,var(--rg-on-accent,#fff))}
.rg-chat header b{display:block;font-size:15px}.rg-chat header small{display:block;font-size:12px;opacity:.85;margin-top:2px}
.rg-chat header .rg-x{all:unset;cursor:pointer;margin-left:auto;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;font-size:22px}
.rg-chat header .rg-x:hover{background:rgba(255,255,255,.18)}
.rg-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;font-size:14.5px;line-height:1.5}
.rg-m{max-width:88%;padding:10px 13px;border-radius:14px;white-space:pre-wrap;overflow-wrap:anywhere}
.rg-m.b{align-self:flex-start;background:rgba(127,127,127,.12);border-bottom-left-radius:4px}
.rg-m.u{align-self:flex-end;background:var(--rg-accent);color:var(--rg-on-accent,#fff);border-bottom-right-radius:4px}
.rg-m.t{opacity:.6;font-style:italic}
.rg-chips{display:flex;gap:6px;flex-wrap:wrap;padding:0 14px 8px}
.rg-chips button{all:unset;cursor:pointer;font-size:12.5px;padding:7px 11px;border-radius:999px;border:1px solid rgba(127,127,127,.35)}
.rg-chips button:hover{border-color:var(--rg-accent)}
.rg-hand{all:unset;cursor:pointer;margin:0 14px 8px;font-size:12.5px;font-weight:700;color:#138A45;display:inline-flex;gap:6px;align-items:center}
.rg-chat form{display:flex;gap:8px;padding:10px 12px 12px;border-top:1px solid rgba(127,127,127,.2)}
.rg-chat input{flex:1;min-width:0;font:inherit;font-size:16px;padding:11px 12px;border-radius:10px;border:1px solid rgba(127,127,127,.4);background:transparent;color:inherit}
.rg-chat form button{all:unset;cursor:pointer;padding:0 16px;border-radius:10px;background:var(--rg-accent);color:var(--rg-on-accent,#fff);font-weight:700;font-size:14px}
.rg-disc{font-size:11.5px;opacity:.65;padding:0 14px 6px}

/* go-live 2026-09-30: quote CTA replaces WhatsApp when no verified number */
.rg-fab .rg-cta{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:999px;background:var(--rg-cta,#0B3B6F);color:#fff;font:600 14px/1 system-ui,sans-serif;text-decoration:none;box-shadow:0 6px 20px rgba(0,0,0,.22)}.rg-fab .rg-cta svg{width:18px;height:18px}
