/* CTH WhatsApp · botón flotante */
.cth-wa-float{--cth-wa-float-color:#25D366;--cth-wa-float-bottom:20px;--cth-wa-float-edge:20px;--cth-wa-float-ink:#102236;--cth-wa-float-dark:#075E54;position:fixed;bottom:calc(var(--cth-wa-float-bottom) + env(safe-area-inset-bottom,0px));z-index:99990;display:flex;align-items:center;gap:12px;font-family:inherit;line-height:1.35}
.cth-wa-float[hidden]{display:none!important}
.cth-wa-float--right{right:var(--cth-wa-float-edge);flex-direction:row-reverse}
.cth-wa-float--left{left:var(--cth-wa-float-edge);flex-direction:row}
.cth-wa-float *{box-sizing:border-box}
.cth-wa-float__button{width:60px;height:60px;border-radius:50%;border:0;padding:0;display:inline-flex;align-items:center;justify-content:center;background:var(--cth-wa-float-color);color:#fff;cursor:pointer;box-shadow:0 10px 28px rgba(16,34,54,.28);transition:transform .18s ease,box-shadow .18s ease;text-decoration:none;flex:0 0 auto}
.cth-wa-float__button:hover{transform:translateY(-2px) scale(1.04);box-shadow:0 14px 34px rgba(16,34,54,.32);color:#fff}
.cth-wa-float__button:focus-visible,.cth-wa-float__cta:focus-visible,.cth-wa-float__alt:focus-visible,.cth-wa-float__close:focus-visible{outline:3px solid var(--cth-wa-float-ink);outline-offset:3px}
.cth-wa-float__icon{width:32px;height:32px;display:block}
.cth-wa-float__label{background:#fff;color:var(--cth-wa-float-ink);padding:9px 14px;border-radius:999px;font-size:14px;font-weight:700;box-shadow:0 8px 24px rgba(16,34,54,.16);white-space:nowrap;opacity:0;transform:translateY(6px);transition:opacity .25s ease,transform .25s ease;pointer-events:none}
.cth-wa-float.is-invite .cth-wa-float__label{opacity:1;transform:none}
.cth-wa-float.is-open .cth-wa-float__label{display:none}
.cth-wa-float__panel{position:absolute;bottom:76px;width:min(340px,calc(100vw - 2 * var(--cth-wa-float-edge)));background:#fff;color:var(--cth-wa-float-ink);border-radius:18px;box-shadow:0 22px 60px rgba(16,34,54,.28);overflow:hidden;transform-origin:bottom right;animation:cth-wa-float-in .2s ease}
.cth-wa-float__panel[hidden]{display:none}
.cth-wa-float--right .cth-wa-float__panel{right:0}
.cth-wa-float--left .cth-wa-float__panel{left:0;transform-origin:bottom left}
.cth-wa-float__head{display:flex;align-items:center;gap:10px;padding:14px 14px 14px 16px;background:var(--cth-wa-float-dark);color:#fff}
.cth-wa-float__head>div{flex:1 1 auto;min-width:0}
.cth-wa-float__head strong{display:block;font-size:16px;line-height:1.2}
.cth-wa-float__head small{display:block;font-size:12px;opacity:.9;margin-top:2px}
.cth-wa-float__avatar{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.2);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.cth-wa-float__avatar .cth-wa-float__icon{width:22px;height:22px}
.cth-wa-float__close{background:transparent;border:0;color:#fff;font-size:26px;line-height:1;width:34px;height:34px;border-radius:50%;cursor:pointer;padding:0}
.cth-wa-float__close:hover{background:rgba(255,255,255,.18)}
.cth-wa-float__bubble{margin:16px 16px 4px;padding:12px 14px;background:#f1f4f5;border-radius:14px;border-top-left-radius:4px;font-size:15px}
.cth-wa-float__cta{display:flex;align-items:center;justify-content:center;gap:8px;margin:14px 16px 8px;padding:13px 16px;border-radius:12px;background:var(--cth-wa-float-dark);color:#fff!important;font-weight:800;font-size:16px;text-decoration:none!important}
.cth-wa-float__cta:hover{filter:brightness(1.12)}
.cth-wa-float__cta .cth-wa-float__icon{width:22px;height:22px}
.cth-wa-float__alt{display:block;text-align:center;margin:0 16px 16px;padding:10px;border-radius:12px;color:var(--cth-wa-float-ink)!important;font-weight:700;font-size:14px;text-decoration:underline!important;text-underline-offset:3px}
.cth-wa-float__alt:hover{background:#f1f4f5}
@keyframes cth-wa-float-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@media (max-width:767px){.cth-wa-float--desktop{display:none!important}.cth-wa-float__label{display:none}.cth-wa-float__button{width:56px;height:56px}}
@media (min-width:768px){.cth-wa-float--mobile{display:none!important}}
@media (prefers-reduced-motion:reduce){.cth-wa-float__button,.cth-wa-float__label,.cth-wa-float__panel{transition:none;animation:none}}
@media print{.cth-wa-float{display:none!important}}
