#specials-widget {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 3px #375851 solid;
    position: fixed;
    bottom: 3%;
    right: 2%;
    background: #5C2E45;
    color: white;
    padding: 12px 18px;
    border-radius: 50%;
    cursor: pointer;
    font-weight: bold;
    animation: bounceSmall 4s ease-in-out infinite;
    transform-origin: center bottom;
    height: 100px; width: 100px;
    line-height: normal;
    z-index: 10;
    text-align: center;
}
#specials-widget:hover { animation-play-state: paused; }
@keyframes bounceSmall { 0%,95%,100% { transform: translateY(0);} 10% {transform: translateY(-8px);} 20% {transform: translateY(0);} }
.specials-bubble {
    position: absolute;
    bottom: 60px;
    right: 0;
    background: white;
    color: #333;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    padding: 18px 24px;
    width: 260px;
    display: none;
    text-align: center;
    z-index: 999;
    font-size: 1rem;
}
#specials-widget:hover .specials-bubble,
#specials-widget.active .specials-bubble {
    display: block;
    animation: popIn 0.3s ease-out;
}
@keyframes popIn { from {transform:scale(0.8);opacity:0;} to {transform:scale(1);opacity:1;} }
.specials-bubble button {
    background: #347674;
    border: none;
    color: white;
    font-weight: bold;
    padding: 8px 12px;
    border-radius: 20px;
    margin-top: 8px;
    cursor: pointer;
    transition: background 0.2s;
}
.specials-bubble button:hover { background: #3b807d; }
@media (max-width:980px){
    #specials-widget { font-size:.8rem;height:80px;width:80px; }
}