.litauth-social__buttons{
  display:flex;
  flex-wrap:wrap;
  margin:0 -3px 6px;
}

.litauth-social__btn{
  flex:0 0 calc(50% - 6px);
  margin:0 3px 6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:38px;
  text-align:center;
  text-decoration:none;
}

.litauth-social__btn:hover,
.litauth-social__btn:focus{
  text-decoration:none;
}

.litauth-social__btn:not(.litauth-social__btn--custom){
  border-color:rgba(0,0,0,.125);
  background-color:#f8f9fa;
  color:#212529;
}

.litauth-social__btn:not(.litauth-social__btn--custom):hover,
.litauth-social__btn:not(.litauth-social__btn--custom):focus{
  background-color:#e2e6ea;
  border-color:rgba(0,0,0,.14);
  color:#212529;
}

.litauth-social__btn.is-disabled{
  opacity:.45;
  cursor:not-allowed;
  pointer-events:none;
}

.litauth-social__btn--custom{
  box-shadow:none;
}

.litauth-social__btn--custom:hover,
.litauth-social__btn--custom:focus,
.litauth-social__btn--custom:active{
  box-shadow:none;
}

.litauth-social__icon{
  display:inline-flex;
  line-height:1;
}

.litauth-social__icon svg{
  width:16px;
  height:16px;
  display:block;
  fill:currentColor;
  stroke:currentColor;
}

.litauth-social__title{
  font-size:12.5px;
  font-weight:600;
  line-height:1.2;
  text-align:center;
}

.litauth-social__agreements{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(0,0,0,.06);
  display:flex;
  flex-direction:column;
  gap:6px;
}

.litauth-toggle{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  padding:0;
  cursor:pointer;
  position:relative;
}

.litauth-toggle p{
  margin:0;
  padding:0;
}

.litauth-toggle__input{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
}

.litauth-toggle__slider{
  width:30px;
  height:13px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.16);
  background:rgba(0,0,0,.06);
  position:relative;
  flex:0 0 28px;
}

.litauth-toggle__slider:before{
  content:"";
  position:absolute;
  top:50%;
  left:1px;
  width:9px;
  height:9px;
  border-radius:50%;
  transform:translateY(-50%);
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.18);
}

.litauth-toggle__input:checked + .litauth-toggle__slider{
  background:rgba(0,0,0,.22);
}

.litauth-toggle__input:checked + .litauth-toggle__slider:before{
  left:15px;
}

.litauth-toggle__label{
  font-size:12px;
  line-height:1.15;
  opacity:.85;
}

.litauth-social__desc{
  margin-top:10px;
  font-size:11.5px;
  line-height:1.25;
  opacity:.68;
}

.litauth-toggle__warn{
  display:none;
  width:16px;
  height:16px;
  flex:0 0 16px;
  opacity:.9;
}

.litauth-toggle__warn:before{
  content:"!";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  height:16px;
  border-radius:50%;
  font-size:12px;
  font-weight:700;
  border:1px solid rgba(220,53,69,.55);
  color:#dc3545;
  background:rgba(220,53,69,.08);
}

.litauth-tip{
  position:absolute;
  left:0;
  top:-8px;
  transform:translateY(-100%);
  display:none;
  max-width:420px;
  padding:6px 8px;
  border-radius:10px;
  font-size:12px;
  line-height:1.2;
  background:#fff;
  border:1px solid rgba(220,53,69,.35);
  color:#8a1f2b;
  box-shadow:0 10px 24px rgba(0,0,0,.14);
  z-index:2;
}

.litauth-tip:after{
  content:"";
  position:absolute;
  left:14px;
  bottom:-6px;
  width:10px;
  height:10px;
  transform:rotate(45deg);
  background:#fff;
  border-right:1px solid rgba(220,53,69,.35);
  border-bottom:1px solid rgba(220,53,69,.35);
}

.litauth-tip a{
  color:inherit;
  text-decoration:underline;
}

.litauth-toggle.is-error{
  outline:2px solid rgba(220,53,69,.22);
  outline-offset:4px;
}

.litauth-toggle.is-error .litauth-toggle__warn{
  display:inline-flex;
}

.litauth-toggle.is-error .litauth-tip{
  display:block;
}

@media (max-width:480px){
  .litauth-social__btn{
    flex:0 0 calc(100% - 6px);
  }
}