/* Shogun Botones: botones de acción con vida (brillo, elevación, anillo en WhatsApp). Sin dependencias. */
.sb-btn{--sb-c:#a8457f;--sb-d:#7c2c5c;position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:9px;height:48px;padding:0 22px;border-radius:999px;font-family:inherit;font-weight:700;font-size:15px;line-height:1;text-decoration:none;cursor:pointer;transition:transform .18s cubic-bezier(.3,1.6,.6,1),box-shadow .2s,background .2s;-webkit-tap-highlight-color:transparent}
.sb-btn svg{flex:none;transition:transform .25s}
.sb-btn::after{content:"";position:absolute;top:0;bottom:0;left:0;width:45%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transform:translateX(-130%) skewX(-18deg);animation:sb-brillo 5s ease-in-out 1.5s infinite;pointer-events:none}
.sb-btn:hover{transform:translateY(-2px)}
.sb-btn:hover svg{transform:scale(1.15) rotate(-6deg)}
.sb-btn:active{transform:translateY(0) scale(.97)}
.sb-l{height:56px;padding:0 30px;font-size:17px}
.sb-primario{background:linear-gradient(180deg,#c25796,var(--sb-c));color:#fff;box-shadow:0 12px 28px -12px rgba(194,87,150,.9)}
.sb-primario:hover{color:#fff;box-shadow:0 18px 36px -12px rgba(194,87,150,1)}
.sb-whatsapp.sb-primario{background:linear-gradient(180deg,#2fd06b,#1fa855);box-shadow:0 12px 28px -12px rgba(31,168,85,.9)}
.sb-singles.sb-primario{background:linear-gradient(180deg,#2a1824,#120910);box-shadow:0 12px 28px -12px rgba(18,9,16,.9)}
.sb-contorno{background:transparent;color:var(--sb-d);border:2px solid currentColor}
.sb-contorno::after{display:none}
.sb-claro{background:#fff;color:#170d15;box-shadow:0 10px 24px -12px rgba(0,0,0,.5)}
.sb-claro::after{background:linear-gradient(90deg,transparent,rgba(168,69,127,.18),transparent)}

/* Flotante: CTA + WhatsApp con anillo que late */
.sb-float{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:70;display:flex;align-items:center;gap:10px}
.sb-float .sb-btn{height:44px;padding:0 16px;font-size:14px}
.sb-wa{position:relative;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;box-shadow:0 14px 30px -10px rgba(37,211,102,.9);transition:transform .2s cubic-bezier(.3,1.6,.6,1)}
.sb-wa svg{width:30px;height:30px}
.sb-wa::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25d366;animation:sb-anillo 2.4s ease-out infinite}
.sb-wa:hover{transform:scale(1.08) rotate(-6deg);color:#fff}
@media (max-width:767px){
 .sb-float{right:14px;bottom:calc(var(--sb-movil,84px) + env(safe-area-inset-bottom))}
 .sb-float .sb-btn{width:44px;height:44px;padding:0;border-radius:50%}
 .sb-float .sb-btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .sb-wa{width:52px;height:52px}
}
@keyframes sb-brillo{0%,72%{transform:translateX(-130%) skewX(-18deg)}100%{transform:translateX(230%) skewX(-18deg)}}
@keyframes sb-anillo{0%{transform:scale(1);opacity:.8}100%{transform:scale(1.6);opacity:0}}
@media (prefers-reduced-motion:reduce){.sb-btn,.sb-wa,.sb-btn svg{transition:none}.sb-btn::after,.sb-wa::before{animation:none;display:none}}
