.cf7-hp {
  position: absolute;
  left: -9999px;
  opacity: 0;
  pointer-events: none;
}

.call_button_phone {
  position: fixed;
  bottom: 40px;
  right: 40px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #620909;
  color: #fff;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  transition: background-color 0.3s, color 0.3s, transform 0.2s, opacity 0.3s, bottom 0.5s;
  opacity: 0;
  bottom: 20px;
  /* для эффекта slide */
  pointer-events: none;
  z-index: 9999;
}



.call_button_phone svg {
  width: 24px;
  height: 24px;
  transition: transform 0.2s;
}

.call_button_phone.call_button_vk,
.call_button_phone.call_button_telegram {
  background: none;
  animation: none !important;
}

.call_button_phone.call_button_vk.show {
  bottom: 285px;
}

.call_button_phone.call_button_telegram.show {
  bottom: 220px;
}


.call_button_vk svg,
.call_button_telegram svg {
  width: 60px;
  height: 60px;
}

.call_button_phone svg,
.call_button_phone svg path {
  transition: all .3s ease-out;
}


.call_button_phone:hover {
  background-color: #fff;
  color: #620909;
  transform: scale(1.1);
}

.call_button_phone:hover svg path {
  stroke: #620909;
}

.call_button_phone.show {
  opacity: 1;
  bottom: 155px;
  pointer-events: auto;
  animation: pulse 1.5s infinite alternate;
}

@keyframes pulse {
  0% {
    transform: scale(1);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  }

  50% {
    transform: scale(1.08);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
  }

  100% {
    transform: scale(1);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  }
}

.wpcf7-submit {
  font-family: "Первый", Sans-serif;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 4px;
  background: none;
  border: none;
  color: #fff;
  border: 1px solid var(--fourth-color);
  padding: 20px;
  cursor: pointer;
}


.wpcf7-form .privacy-checkbox {
  margin: 0 0 30px;
  position: relative;
}

.wpcf7-form .privacy-checkbox .wpcf7-not-valid-tip {
  position: absolute;
  bottom: -24px;
  width: max-content;
}

.wpcf7-form .privacy-checkbox .wpcf7-list-item-label {
  cursor: pointer;
}

input[name="checkbox-572[]"] {
  appearance: none;
  -webkit-appearance: none;
  width: 17px;
  height: 17px;
  border: 2px solid #dc3232;
  border-radius: 4px;
  background: transparent;
  position: relative;
  cursor: pointer;
  margin: 0 4px -2px 0;

}

input[name="checkbox-572[]"]:checked::after {
  content: "";

  position: absolute;

  left: 5px;
  top: 1px;

  width: 5px;
  height: 10px;

  border: solid #dc3232;
  border-width: 0 3px 3px 0;

  transform: rotate(45deg);
}


/*cookies*/

/*Куки*/

@-webkit-keyframes cookieAppearBottom {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100%);
    transform: translateY(100%)
  }

  to {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
}

@keyframes cookieAppearBottom {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100%);
    transform: translateY(100%)
  }

  to {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
}

@-webkit-keyframes cookieAppearLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%)
  }

  to {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
}

@keyframes cookieAppearLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%)
  }

  to {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
}

@-webkit-keyframes cookieAppearRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
    transform: translateX(100%)
  }

  to {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
}

@keyframes cookieAppearRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
    transform: translateX(100%)
  }

  to {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0)
  }
}

@-webkit-keyframes cookieAppearBottomCenter {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-50%) translateY(100%);
    transform: translateX(-50%) translateY(100%)
  }

  to {
    opacity: 1;
    -webkit-transform: translateX(-50%) translateY(0);
    transform: translateX(-50%) translateY(0)
  }
}

@keyframes cookieAppearBottomCenter {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-50%) translateY(100%);
    transform: translateX(-50%) translateY(100%)
  }

  to {
    opacity: 1;
    -webkit-transform: translateX(-50%) translateY(0);
    transform: translateX(-50%) translateY(0)
  }
}



.cookies_box {
  position: fixed;
  bottom: 30px;
  left: 30px;

  width: 420px;
  max-width: calc(100vw - 30px);

  padding: 28px;
  border-radius: 24px;

  background: rgba(17, 17, 20, 0.92);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);

  border: 1px solid rgba(255, 255, 255, .08);

  box-shadow:
    0 15px 50px rgba(0, 0, 0, .45),
    0 0 0 1px rgba(98, 9, 9, .15);

  color: #FFFFFF;

  z-index: 9999;

  animation: cookieAppearBottom .4s ease-in-out forwards;
  animation-delay: 3s;

  opacity: 0;
}


.cookies_box {
  display: none;
  flex-flow: column;
}

.cookies_box.active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.cookies_box::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;

  background:
    linear-gradient(135deg,
      rgba(98, 9, 9, .18),
      transparent 40%);

  pointer-events: none;
}

/* Заголовок */

.cookies_title {
  display: block;

  margin-bottom: 16px;

  font-size: 24px;
  font-weight: 500;
  line-height: 1.2;

  color: #FFFFFF;
}

/* Текст */

.cookies_box_text {
  margin-bottom: 24px;
}

.cookies_box_text p {
  margin: 0;

  color: rgba(255, 255, 255, .82);

  font-size: 15px;
  line-height: 1.7;
}

/* Ссылка */

.cookies_box_text a {
  color: #FFFFFF;

  text-decoration: none;

  border-bottom: 1px solid rgba(98, 9, 9, .7);

  transition: .25s ease;
}

.cookies_box_text a:hover {
  color: #620909;
  border-color: #620909;
}

/* Кнопка */

.button_cookies {
  width: 100%;
  font-family: var(--e-global-typography-accent-font-family), Sans-serif;
  margin-top: 24px;

  height: 52px;

  border: 0;
  border-radius: 14px;

  background: linear-gradient(135deg,
      #620909,
      #7f0d0d);

  color: #FFFFFF;

  font-size: 20px;
  font-weight: 500;

  cursor: pointer;

  transition: .25s ease;
}

.button_cookies:hover {
  transform: translateY(-2px);

  box-shadow:
    0 10px 25px rgba(98, 9, 9, .4);
}

.button_cookies:active {
  transform: translateY(0);
}

/* Крестик */

.cookies_close {
  position: absolute;

  top: 16px;
  right: 16px;

  width: 34px;
  height: 34px;

  display: flex;
  align-items: center;
  justify-content: center;

  border-radius: 10px;

  cursor: pointer;

  transition: .25s ease;
}

.cookies_close:hover {
  background: rgba(98, 9, 9, .15);
}

.cookies_close svg {
  transition: .25s ease;
}

.cookies_close:hover svg {
  transform: rotate(90deg);
}

.cookies_close svg path {
  fill: #FFFFFF;
}

/* Адаптив */

@media (max-width: 600px) {

  .cookies_box {
    left: 15px;
    right: 15px;
    bottom: 15px;

    width: auto;

    padding: 22px;
    border-radius: 20px;
  }

  .cookies_title {
    font-size: 20px;
  }

  .cookies_box_text p {
    font-size: 14px;
  }
}


/*END cookies*/

@media (max-width: 768px) {

  .call_button_phone {
    bottom: -25px;
    left: 5vw;
    right: auto;
    width: 50px;
    height: 50px;
  }


  .call_button_phone.show {
    bottom: 25px;
    left: 5vw;
    right: auto;
  }

  .call_button_phone.call_button_telegram.show {
    bottom: 25px;
    left: calc(5vw + 55px);
  }

  .call_button_phone.call_button_vk.show {
    bottom: 25px;
    left: calc(5vw + 110px);
  }

}
