#pw-root{
z-index:999999;
}

#pw-toggle{
position:fixed;
right:24px;
bottom:24px;
width:70px;
height:70px;
border:0;
border-radius:50%;
background:#e53935;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
box-shadow:0 10px 30px rgba(0,0,0,0.25);
animation:pw-ring 1.6s infinite;
}

#pw-toggle svg{
width:30px;
height:30px;
fill:#fff;
}

@keyframes pw-ring{

0%{
box-shadow:
0 0 0 0 rgba(229,57,53,0.7),
0 0 0 0 rgba(229,57,53,0.4);
}

70%{
box-shadow:
0 0 0 20px rgba(229,57,53,0),
0 0 0 40px rgba(229,57,53,0);
}

100%{
box-shadow:
0 0 0 0 rgba(229,57,53,0),
0 0 0 0 rgba(229,57,53,0);
}

}

#pw-backdrop{
position:fixed;
left:0;
top:0;
right:0;
bottom:0;
background:rgba(0,0,0,0.5);
opacity:0;
visibility:hidden;
transition:0.2s;
z-index:999998;
}

#pw-modal{
position:fixed;
right:24px;
bottom:110px;
width:360px;
background:#fff;
border-radius:14px;
box-shadow:0 20px 60px rgba(0,0,0,0.2);
padding:22px;
opacity:0;
visibility:hidden;
transform:translateY(15px);
transition:0.2s;
z-index:999999;
box-sizing:border-box;
}

#pw-root.pw-open #pw-backdrop{
opacity:1;
visibility:visible;
}

#pw-root.pw-open #pw-modal{
opacity:1;
visibility:visible;
transform:translateY(0);
}

#pw-close{
position:absolute;
top:10px;
right:12px;
border:0;
background:none;
font-size:24px;
cursor:pointer;
color:#444;
}

.pw-title{
font-size:22px;
font-weight:700;
margin-bottom:6px;
}

.pw-text{
font-size:14px;
color:#555;
margin-bottom:16px;
}

#pw-phone{
width:100%;
height:48px;
border:1px solid #ccc;
border-radius:10px;
padding:0 14px;
font-size:16px;
box-sizing:border-box;
}

#pw-phone:focus{
border-color:#e53935;
outline:none;
}

#pw-error{
min-height:18px;
font-size:13px;
color:#e53935;
margin:8px 0;
}

#pw-send{
width:100%;
height:48px;
border:0;
border-radius:10px;
background:#e53935;
color:#fff;
font-weight:600;
font-size:16px;
cursor:pointer;
}

#pw-send:hover{
background:#d32f2f;
}

#pw-success{
display:none;
}

#pw-root.pw-success .pw-field,
#pw-root.pw-success #pw-send,
#pw-root.pw-success #pw-error,
#pw-root.pw-success .pw-text{
display:none;
}

#pw-root.pw-success #pw-success{
display:block;
}

.pw-success-box{
border:2px solid #d7eadc;
background:#f4fbf6;
border-radius:12px;
padding:16px;
text-align:center;
}

.pw-success-title{
font-size:18px;
font-weight:700;
color:#188038;
margin-bottom:6px;
}

.pw-success-text{
font-size:14px;
color:#2d3c2d;
}

@media(max-width:640px){

#pw-toggle{
right:16px;
bottom:16px;
width:64px;
height:64px;
}

#pw-modal{
left:16px;
right:16px;
width:auto;
bottom:95px;
}

}