/* Contacto global; tokens Pro v2. Sin resets ni librerías de iconos. */
.svp-contact{--svp-edge:24px;position:fixed;right:calc(var(--svp-edge) + env(safe-area-inset-right,0px));bottom:calc(var(--svp-edge) + env(safe-area-inset-bottom,0px));z-index:99;color:#f2f4f7;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.4;text-align:left;isolation:isolate;}
.svp-contact,.svp-contact *{box-sizing:border-box;}
.svp-contact__trigger{position:relative;display:grid;place-items:center;width:52px;height:52px;list-style:none;border:1px solid #ff63b6;border-radius:12px;background:#db0075;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,0.35),0 0 0 4px rgba(219,0,117,0.15);cursor:pointer;transition:background .09s ease,box-shadow .09s ease,transform .12s ease;touch-action:manipulation;}
.svp-contact__trigger::-webkit-details-marker{display:none;}
.svp-contact__trigger:hover{background:#c7006a;border-color:#ff89c8;box-shadow:0 10px 28px rgba(0,0,0,0.45),0 0 0 5px rgba(219,0,117,0.22);transform:translateY(-2px);}
.svp-contact__trigger svg{display:block;width:24px;height:24px;}
.svp-contact__bubble,.svp-contact__close{grid-area:1/1;transition:opacity .18s ease,transform .22s ease;}
.svp-contact__close{opacity:0;transform:rotate(-55deg) scale(.6);}
.svp-contact[open] .svp-contact__bubble{opacity:0;transform:rotate(25deg) scale(.65);}
.svp-contact[open] .svp-contact__close{opacity:1;transform:rotate(0) scale(1);}
.svp-contact__panel{position:absolute;right:0;bottom:140px;width:312px;max-width:calc(100vw - 2 * var(--svp-edge) - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));max-height:calc(100vh - 188px - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 188px - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;padding:16px;border:1px solid #596173;border-radius:20px;background:#151922;box-shadow:0 16px 48px #0007;transform-origin:bottom right;}
@supports(backdrop-filter:blur(12px)){.svp-contact__panel{background:linear-gradient(150deg,#5c088b0d,#69e6dc08),#151922f5;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);}}
.svp-contact[open]::before{content:"";position:absolute;bottom:55px;right:0;height:86px;width:312px;max-width:calc(100vw - 2 * var(--svp-edge));}
.svp-contact .svp-contact__heading{margin:0 0 12px;padding:0 4px 12px;border-bottom:1px solid #394150;font-size:14px;font-weight:650;color:#f2f4f7;line-height:1.5;}
.svp-contact .svp-contact__list{margin:0;padding:0;list-style:none;display:grid;gap:4px;}
.svp-contact .svp-contact__list li{margin:0;padding:0;list-style:none;}
body .svp-contact a.svp-contact__link{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px;border:1px solid transparent;border-radius:12px;color:#f2f4f7;background:transparent;text-decoration:none;box-shadow:none;transition:background .09s ease,border-color .09s ease;}
body .svp-contact a.svp-contact__link:hover{color:#fff;background:#1e2532;border-color:#596173;text-decoration:none;}
.svp-contact__icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:1px solid #394150;border-radius:10px;color:#69e6dc;background:#151922;}
.svp-contact__link--chat .svp-contact__icon{color:#69e6dc;}
.svp-contact__link--calendar .svp-contact__icon{color:#ff63b6;}
.svp-contact__link--account .svp-contact__icon{color:#c9a5ee;}
.svp-contact__copy{display:grid;gap:2px;min-width:0;}
.svp-contact__label{font-size:14px;font-weight:650;line-height:1.4;}
.svp-contact__hint{color:#b6becb;font-size:12px;line-height:1.45;overflow-wrap:anywhere;}
.svp-contact__arrow{margin-left:auto;color:#98a2b3;font-size:18px;}
.svp-contact__trigger:focus-visible,body .svp-contact a.svp-contact__link:focus-visible{outline:3px solid #c9a5ee;outline-offset:3px;}
.svp-contact[data-enhanced][data-state="open"] .svp-contact__panel{animation:svp-contact-in .12s cubic-bezier(.2,.8,.2,1) both;}
.svp-contact[data-enhanced][data-state="open"] li{animation:svp-contact-row .12s ease both;}
.svp-contact[data-state="closing"] .svp-contact__panel{animation:svp-contact-out .10s ease both;pointer-events:none;}
@keyframes svp-contact-in{from{opacity:0;transform:translateY(12px) scale(.97);}to{opacity:1;transform:translateY(0) scale(1);}}
@keyframes svp-contact-row{from{opacity:0;transform:translateY(5px);}to{opacity:1;transform:translateY(0);}}
@keyframes svp-contact-out{to{opacity:0;transform:translateY(8px) scale(.98);}}
/* Dos controles cuadrados e iguales en columna; volver arriba semitransparente con desenfoque */
body a.generate-back-to-top{right:calc(24px + env(safe-area-inset-right,0px));bottom:calc(84px + env(safe-area-inset-bottom,0px));box-sizing:border-box;display:grid;place-items:center;z-index:100;width:52px;height:52px;line-height:52px;border-radius:12px;background:rgba(21,25,34,0.65)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#f2f4f7;border:1px solid rgba(100,112,135,0.45);box-shadow:0 8px 24px rgba(0,0,0,0.35);transition:background .12s ease,border-color .12s ease,transform .12s ease;}
body a.generate-back-to-top .gp-icon{display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;}
body a.generate-back-to-top .gp-icon svg{top:0;}
body a.generate-back-to-top:hover{background:rgba(30,37,50,0.85)!important;border-color:#69e6dc;color:#69e6dc;transform:translateY(-2px);}
body a.generate-back-to-top:focus-visible{outline:3px solid #c9a5ee;outline-offset:3px;}
@media(max-width:600px){.svp-contact{--svp-edge:16px;}body a.generate-back-to-top{right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(76px + env(safe-area-inset-bottom,0px));}}
@media(prefers-reduced-motion:reduce){.svp-contact *,.svp-contact *::before{animation:none!important;transition:none!important;}.svp-contact__trigger:hover{transform:none;}}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.svp-contact__panel{background:#151922;backdrop-filter:none;-webkit-backdrop-filter:none;}.svp-contact__trigger{box-shadow:none;}}
@media(forced-colors:active){.svp-contact__trigger,.svp-contact__panel,.svp-contact__icon,body .svp-contact a.svp-contact__link{border-color:ButtonText;forced-color-adjust:auto;}}
