/* Asistente de ayuda — moderno y suave: esquinas redondeadas, burbujas, sin degradados ni vidrio. Mantiene la paleta y las fuentes del sitio (azul tinta, ámbar, Fraunces/Instrument Sans). */
.pyc-chat-btn{ position:fixed; right:clamp(16px,2.4vw,30px); bottom:clamp(16px,2.4vw,30px); z-index:350; width:60px; height:60px; display:grid; place-items:center; padding:0; border:0; border-radius:50%; background:var(--v-ambar-v,#e0a33c); color:var(--v-ink,#0a1b30); cursor:pointer; box-shadow:0 10px 28px -8px rgba(10,27,48,.55); transition:transform .22s cubic-bezier(.2,.8,.2,1), box-shadow .22s; }
.pyc-chat-btn:hover{ transform:translateY(-3px) scale(1.04); box-shadow:0 16px 34px -10px rgba(10,27,48,.6); }
.pyc-chat-btn svg{ width:27px; height:27px; }
.pyc-chat-btn .pyc-chat-punto{ position:absolute; top:3px; right:3px; width:13px; height:13px; border-radius:50%; background:#2fbf71; border:2.5px solid #fff; }
.pyc-chat-btn.abierto{ display:none; }
.pyc-chat{ position:fixed; right:clamp(16px,2.4vw,30px); bottom:clamp(16px,2.4vw,30px); z-index:360; width:min(384px,calc(100vw - 32px)); height:min(620px,calc(100dvh - 32px)); display:flex; flex-direction:column; overflow:hidden; background:#fff; color:var(--v-ink,#0a1b30); border-radius:22px; box-shadow:0 30px 70px -20px rgba(10,27,48,.55), 0 0 0 1px rgba(10,27,48,.06); font-family:var(--v-texto,system-ui,sans-serif); animation:pycEntra .26s cubic-bezier(.2,.8,.2,1); }
.pyc-chat[hidden]{ display:none; }
@keyframes pycEntra{ from{ opacity:0; transform:translateY(14px) scale(.98); } to{ opacity:1; transform:none; } }
.pyc-chat-cab{ display:flex; align-items:center; gap:12px; padding:16px 16px 16px 18px; background:var(--v-ink,#0a1b30); color:#eef2f7; }
.pyc-av{ position:relative; flex:0 0 42px; width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:var(--v-ambar-v,#e0a33c); color:var(--v-ink,#0a1b30); }
.pyc-av svg{ width:21px; height:21px; }
.pyc-av i{ position:absolute; right:-1px; bottom:-1px; width:11px; height:11px; border-radius:50%; background:#2fbf71; border:2px solid var(--v-ink,#0a1b30); }
.pyc-tt{ flex:1; min-width:0; }
.pyc-chat-cab b{ display:block; font-family:var(--v-texto,system-ui,sans-serif); font-weight:600; font-size:1rem; }
.pyc-chat-cab .pyc-s{ display:block; margin-top:1px; font-size:.76rem; color:#b4c1d3; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pyc-acc{ display:flex; align-items:center; gap:6px; }
.pyc-idi{ display:flex; padding:3px; border-radius:999px; background:rgba(238,242,247,.12); }
.pyc-idi button{ min-width:32px; height:26px; border:0; border-radius:999px; background:transparent; color:#cfd9e6; font:600 .7rem var(--v-texto,system-ui,sans-serif); cursor:pointer; }
.pyc-idi button[aria-pressed="true"]{ background:#fff; color:var(--v-ink,#0a1b30); }
.pyc-x{ width:32px; height:32px; display:grid; place-items:center; border:0; border-radius:50%; background:transparent; color:#eef2f7; cursor:pointer; transition:background .15s; }
.pyc-x:hover{ background:rgba(238,242,247,.14); }
.pyc-x svg{ width:17px; height:17px; }
.pyc-msgs{ flex:1; overflow-y:auto; padding:18px 16px 8px; display:flex; flex-direction:column; gap:8px; background:#f5f7fb; overscroll-behavior:contain; scroll-behavior:smooth; }
.pyc-m{ max-width:86%; padding:10px 14px; font-size:.92rem; line-height:1.5; overflow-wrap:anywhere; animation:pycMsg .22s ease-out; }
@keyframes pycMsg{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }
.pyc-b{ align-self:flex-start; background:#fff; color:var(--v-ink,#0a1b30); border-radius:18px 18px 18px 5px; box-shadow:0 1px 2px rgba(10,27,48,.08); }
.pyc-u{ align-self:flex-end; background:var(--v-azul,#1d3f63); color:#fff; border-radius:18px 18px 5px 18px; }
.pyc-m a{ color:var(--v-azul,#1d3f63); font-weight:600; text-decoration:underline; text-decoration-color:var(--v-ambar-v,#e0a33c); text-decoration-thickness:2px; text-underline-offset:3px; }
.pyc-u a{ color:#fff; }
.pyc-esp{ color:var(--v-tinta2,#55637a); letter-spacing:.2em; animation:pycPulso 1s infinite; }
@keyframes pycPulso{ 50%{ opacity:.35; } }
.pyc-mail{ display:inline-block; margin-top:8px; padding:8px 14px; border-radius:999px; background:var(--v-ink,#0a1b30); color:#fff!important; text-decoration:none!important; font-size:.84rem; }
.pyc-chips{ display:flex; flex-wrap:wrap; gap:7px; padding:8px 14px 12px; background:#f5f7fb; max-height:140px; overflow-y:auto; }
.pyc-chips:empty{ display:none; }
.pyc-ct{ flex:0 0 100%; font-size:.76rem; color:var(--v-tinta2,#55637a); padding-left:2px; }
.pyc-chip{ padding:8px 13px; border:1px solid rgba(29,63,99,.28); border-radius:999px; background:#fff; color:var(--v-azul,#1d3f63); font:500 .84rem/1.2 var(--v-texto,system-ui,sans-serif); cursor:pointer; text-align:left; transition:background .15s, color .15s, transform .15s; }
.pyc-chip:hover{ background:var(--v-azul,#1d3f63); color:#fff; transform:translateY(-1px); }
.pyc-form{ display:flex; align-items:center; gap:8px; margin:0; padding:10px 12px; background:#fff; border-top:1px solid rgba(10,27,48,.08); }
.pyc-in{ flex:1; min-width:0; height:44px; padding:0 16px; border:1px solid rgba(10,27,48,.14); border-radius:999px; background:#f5f7fb; font:400 16px var(--v-texto,system-ui,sans-serif); color:var(--v-ink,#0a1b30); }
.pyc-in:focus{ outline:none; border-color:var(--v-ambar-v,#e0a33c); background:#fff; box-shadow:0 0 0 3px rgba(224,163,60,.25); }
.pyc-env{ flex:0 0 44px; width:44px; height:44px; border:0; border-radius:50%; background:var(--v-ambar-v,#e0a33c); color:var(--v-ink,#0a1b30); display:grid; place-items:center; cursor:pointer; transition:transform .15s, background .15s; }
.pyc-env:hover{ transform:scale(1.06); background:#f0b552; }
.pyc-env svg{ width:19px; height:19px; }
.pyc-pie{ display:flex; justify-content:space-between; gap:10px; padding:0 18px 12px; background:#fff; font-size:.76rem; }
.pyc-pie a,.pyc-pie button{ color:var(--v-tinta2,#55637a); background:none; border:0; padding:4px 0; font:inherit; cursor:pointer; text-decoration:none; }
.pyc-pie a:hover,.pyc-pie button:hover{ color:var(--v-azul,#1d3f63); text-decoration:underline; }
@media (max-width:520px){
  .pyc-chat{ right:0; bottom:0; width:100vw; height:min(86dvh,680px); border-radius:22px 22px 0 0; }
  .pyc-chat-btn{ width:56px; height:56px; }
}
@media (prefers-reduced-motion:reduce){ .pyc-chat,.pyc-m{ animation:none; } .pyc-esp{ animation:none; } .pyc-chat-btn,.pyc-chip,.pyc-env{ transition:none; } .pyc-msgs{ scroll-behavior:auto; } }

/* el sitio tiene reglas globales para <button> (mayúsculas mono, esquinas rectas): dentro del asistente se anulan */
.pyc-chat button, .pyc-chat-btn{ text-transform:none!important; letter-spacing:normal!important; font-family:var(--v-texto,system-ui,sans-serif)!important; min-height:0!important; box-shadow:none; }
.pyc-chat-btn{ border-radius:50%!important; box-shadow:0 10px 28px -8px rgba(10,27,48,.55)!important; }
.pyc-chat .pyc-chip{ border-radius:999px!important; padding:8px 13px!important; font-weight:500!important; font-size:.84rem!important; }
.pyc-chat .pyc-idi{ border-radius:999px!important; }
.pyc-chat .pyc-idi button{ border-radius:999px!important; font-weight:600!important; font-size:.7rem!important; letter-spacing:.02em!important; }
.pyc-chat .pyc-x, .pyc-chat .pyc-env{ border-radius:50%!important; }
.pyc-chat .pyc-pie button{ font-size:.76rem!important; }
.pyc-chat .pyc-s{ font-family:var(--v-texto,system-ui,sans-serif)!important; text-transform:none!important; letter-spacing:normal!important; }
html body .pyc-chat, html body .pyc-chat *{ font-family:var(--v-texto,"Instrument Sans",system-ui,sans-serif)!important; text-transform:none!important; letter-spacing:normal!important; }
html body .pyc-chat .pyc-chat-cab b{ font-weight:600!important; }
