/* Конструктор поздравлений (ai_generator) — общий файл, блок на многих страницах */

.ai-generation .radio-option {
  flex-wrap: wrap;
}

.ai-generation .radio-option .form-label {
  width: 100%;
}

.ai-generation .ms-3 {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  cursor: pointer;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 42px;
  padding: 8px;
  margin-left: unset !important;
  margin-right: 8px;
}

.ai-generation .ms-3 input[type="radio"] {
  display: none;
}

.ai-generation .ms-3 input[type="radio"]:checked + .radio-circle::before {
  transform: translate(-50%, -50%) scale(1);
}

.ai-generation .ms-3 input[type="radio"]:checked + .radio-circle::before {
  background-color: #ff6600;
}

.ai-generation .ms-3:hover .radio-circle {
  border-color: #555;
}

.ai-generation .radio-circle {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid #aaa;
  position: relative;
}

.ai-generation .radio-circle::before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #ddd;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  transition: all 0.2s ease-in-out;
}

.ai-generation .ms-3 label {
  cursor: pointer;
  padding-left: 10px;
}

.ai-generation #collect-button,
.ai-generation #down-collect-more-button {
  max-width: 30%;
  background: linear-gradient(180deg, #009a3b 0%, #008229 100%);
  border-radius: 27px;
  text-decoration: none;
  padding: 13px 20px;
  font-family: "Nunito", sans-serif;
  font-style: normal;
  font-weight: 600;
  font-size: 16px;
  line-height: 130%;
  color: #ffffff;
  white-space: nowrap;
  display: block;
}

.ai-generation #next-step,
.ai-generation #down-constructor-button {
  height: 46px;
  width: 30%;
  background: #ff992273;
  border-radius: 27px;
  text-decoration: none;
  padding: 13px 20px;
  font-family: "Nunito", sans-serif;
  font-style: normal;
  font-weight: 600;
  font-size: 16px;
  line-height: 130%;
  color: #ffffff;
  white-space: nowrap;
  display: block;
  text-align: center;
  cursor: pointer;
}

.ai-generation {
  background: #fef7e2;
  border-radius: 30px;
  padding: 50px;
  margin-bottom: 10px;
  margin-top: 20px;
}

.ai-generation-block {
  display: flex;
  justify-content: center;
}

.ai-generation #collect-button .favorite-icon {
  zoom: 0.8;
  margin-left: 15px;
}

.ai-generation .ai-post .content-block {
  background: rgb(248, 249, 251);
}

.ai-generation .loader-overlay {
  display: none;
  position: fixed;
  z-index: 9999;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  align-items: center;
  justify-content: center;
}

.ai-generation .newtons-cradle {
  --uib-size: 50px;
  --uib-speed: 1.2s;
  --uib-color: #474554;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--uib-size);
  height: var(--uib-size);
}

.ai-generation .newtons-cradle__dot {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  width: 25%;
  transform-origin: center top;
}

.ai-generation .newtons-cradle__dot::after {
  content: "";
  display: block;
  width: 100%;
  height: 25%;
  border-radius: 50%;
  background-color: white;
}

.ai-generation .newtons-cradle__dot:first-child {
  animation: datki-ai-swing var(--uib-speed) linear infinite;
}

.ai-generation .newtons-cradle__dot:last-child {
  animation: datki-ai-swing2 var(--uib-speed) linear infinite;
}

@keyframes datki-ai-swing {
  0% {
    transform: rotate(0deg);
    animation-timing-function: ease-out;
  }
  25% {
    transform: rotate(70deg);
    animation-timing-function: ease-in;
  }
  50% {
    transform: rotate(0deg);
    animation-timing-function: linear;
  }
}

@keyframes datki-ai-swing2 {
  0% {
    transform: rotate(0deg);
    animation-timing-function: linear;
  }
  50% {
    transform: rotate(0deg);
    animation-timing-function: ease-out;
  }
  75% {
    transform: rotate(-70deg);
    animation-timing-function: ease-in;
  }
}

.ai-generation .ai-title {
  text-align: left;
  margin-left: 20px;
  margin-bottom: 20px;
  font-family: "Nunito", sans-serif;
  font-style: normal;
  font-weight: 600;
  font-size: 36px;
  line-height: 130%;
  color: #333333;
}

.ai-generation .hidden {
  display: none !important;
}

.ai-generation .reload-icon {
  margin: unset !important;
  margin-left: 15px !important;
  zoom: 0.9;
}

@media (max-width: 576px) {
  .ai-generation .ms-3 input[type="radio"]:checked + .radio-circle::before {
    background-color: #ff6600 !important;
  }

  .ai-generation-block {
    display: block;
  }

  .ai-generation {
    padding: 15px;
  }

  .ai-generation #next-step,
  .ai-generation #collect-button,
  .ai-generation #down-collect-more-button,
  .ai-generation #down-constructor-button {
    width: 100%;
    max-width: 100%;
    margin-left: unset !important;
  }

  .ai-generation .ai-title {
    font-size: 22px;
  }

  .ai-generation .exc-mob {
    display: none;
  }

  .ai-generation .radio-option .form-label {
    width: unset;
    margin-top: 8px;
    margin-right: 8px;
  }
}

@media (max-width: 361px) {
  .ai-generation .ai-title {
    font-size: 19px;
  }

  .ai-generation .radio-option .form-label {
    margin-right: 1px;
  }

  .ai-generation .ms-3 {
    margin-right: 1px;
  }
}
