@tailwind base;
@tailwind components;
@tailwind utilities;


@layer utilities {
  /* Цвет для p в тёмной теме */
  .dark p.text-slate-600 {
    @apply text-[#DFDFDF];
  }

  .dark {
    @apply text-white;
  }
  .dark .text-slate-600 {
    @apply text-[#DFDFDF];
  }
  .dark .opacity-80 {
    @apply text-white;
  }
  /* Цвет для h2 в тёмной теме */
  .dark h2 {
    @apply text-white;
  }
  .dark h1 {
    @apply text-white;
  }
.dark .bg-gray-50  {
  @apply bg-[#181818];
}
.dark form.bg-gray-100 {
  @apply bg-[#181818];
}
  /* Цвет для span внутри h3 */
  .dark h3 span.text-slate-600 {
    @apply text-red-950;
  }
.dark .shadow-lg {
  @apply shadow-[#4e46e54b];
}
  /* Цвет для элементов logo */
  .dark .logo path {
    @apply fill-white; 
  }

  .dark .ring-gray-200\/50 {
    @apply ring-[#252525];
  }
  /* Цвет фона для bg-slate-50 */
  .dark .bg-slate-50 {
    @apply bg-[#181818];
  }

  .dark .border-slate-100 {
    @apply border-[#252525];
  }
  .dark .from-gray-50 {
    @apply from-[#181818];
  }
  .dark p span {
    @apply text-[#DFDFDF];
  }
  .dark header {
    background-color:#0D0D0D;
  }
  .dark header.border-gray-200 {
    @apply border-[#202020]
  }
  .dark footer {
    @apply bg-[#0D0D0D];
  }
  .dark footer.border-slate-100 {
    @apply border-[#202020];
    
  }
  .dark footer div a.text-slate-600 {
    @apply text-[#DFDFDF];
  }
  .dark footer div a.bg-slate-200 {
    @apply bg-[#181818];
  }
  .dark footer div a:hover {
    @apply text-indigo-600;
  }
  .dark footer div a.bg-slate-200:hover {
    @apply bg-[#222222];
  }
  .dark footer div form {
    @apply text-[#DFDFDF];
  }
  .dark .border-t {
    @apply border-[#202020];
  }
  .dark footer div h3 {
    @apply text-white;
  }
  .dark .gradient-form form.shadow-lg {
    @apply shadow-[#433db462];
  }
  .dark .gradient-form form input {
    @apply bg-[#222222];
    @apply border-[#202020];
    @apply ring-[#ffffff25]; 
  }
  .dark .gradient-form form textarea {
    @apply bg-[#222222];
    @apply border-[#202020];
    @apply ring-[#ffffff25]; 
  }
  .dark .gradient-form form select {
    @apply bg-[#222222];
    @apply border-[#202020];
    @apply ring-[#ffffff25]; 
    @apply outline-[1px];
  }
  .dark .gradient-form form input:focus {
    @apply ring-1;
  }

  .dark #email_address_input:focus {
    @apply ring-[#ffffff25]; 
    @apply ring-1;
  }
  .dark .gradient-form form textarea:focus {
    @apply ring-1;
  }
  .dark .gradient-form form select:focus {
    @apply ring-1;
  }
  .dark .pricing_card.shadow-orange-50 {
    @apply shadow-[#f974162d]
  }
  .dark .pricing_card ul li.text-neutral-800 {
    @apply text-[#dfdfdfe0];
  }
  .dark .sticky .bg-white {
    @apply bg-[#0D0D0D];
  }
  .dark .pricing_grid {
    @apply bg-[#0D0D0D];
  }
  .dark .pricing_grid div.text-black {
    @apply text-white;
  }
  .dark .border-slate-200 {
    @apply border-[#222222];
  }
  .dark .text-neutral-600 {
    @apply text-[#DFDFDF];
  }
  .dark .mobile_menu {
    background: #0D0D0D;
  }
  .dark .text-gray-600 {
    @apply text-[#DFDFDF];
  }
  .dark .lg\:border {
    @apply border-[#202020];
  }
  .dark .lg\:shadow {
    @apply shadow-[#4e46e54b];
  }
  .dark .moon_icon svg path {
    @apply stroke-white;
  }
  .moon_icon svg path {
    @apply stroke-black;
  }
  .dark .moon_icon:hover svg path {
    @apply fill-white;
  }
  .moon_icon:hover svg path {
    @apply fill-black;
  }
  .dark #cookie-notice {
    @apply bg-[#0D0D0D];
    @apply border-[#202020];
  }
  .dark .prose h2 {
    color: white;
  }
  .dark .prose p {
    color:#DFDFDF;
  }
  .dark .prose strong  {
    color: white;
  }
  .dark .prose a {
    color: white;
  }
  .dark .prose ul > li {
    color:#DFDFDF;
  }
}

.dark .gradient-form {
  background: linear-gradient(180deg, #433db454 0%, rgba(79, 70, 229, 0) 100%) !important;
}

.active-test {
  color: #4f46e5 !important;
  stroke: #4f46e5 !important;
}
.hidden_menu {
  display: none;
}
@media (max-width: 1023px) {
  .hidden_menu {
    visibility: hidden;
  }
  .mobile_menu {
    display: flex;
    flex-direction: column;
    transition: none;
    position: fixed;
    background-color: white;
    padding: 24px 20px 32px 32px;
    width: fit-content;
    clip-path: inset(0 0 0 100%);
    transition:
      clip-path 0.3s ease-in-out,
      opacity 0.3s ease-in-out;
    opacity: 0%;
    z-index: 10;
    overflow: hidden;
    top: 0;
    right: 0;
    height: 100dvh;
    background-image: url("/menu_bg.svg");
    background-position: left calc(100% + 250px); /* Слева и на 20px ниже дна */
    background-repeat: no-repeat; /* Запрет на повторение фона */
    background-size: cover; /* Чтобы фон занимал весь элемент */
  }
  .partner_button:hover > svg {
    stroke: #202020;
  }
  .show_menu {
    transition: 0.3s ease-in-out !important;
    clip-path: inset(0 0 0 0);
    opacity: 100%;
  }
  .mobile_menu > ul > li {
    color: #202020;
    font-weight: 500;
  }
  .mobile_menu > ul > li > a {
    font-weight: 500;
    color: #202020;
  }
  .dark .mobile_menu > ul > li {
    color: white;
    font-weight: 500;
  }
  .dark .mobile_menu > ul > li > a {
    font-weight: 500;
    color: white;
  }
  .hero-text {
    margin-top: 60px;
  }
}
.show_menu {
  visibility: visible !important;
  z-index: 10;
  transition: 0.2s ease-in-out !important;
}
.mobile_menu {
  /* transition: 0.2s ease-in-out; */
}
#menu-overlay {
  visibility: hidden;
  position: fixed;
  opacity: 0%;
  transition: 0.2s ease-in-out;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
}
#menu-overlay.show_overlay {
  visibility: visible;
  opacity: 50%;
  transition: 0.2s ease-in-out;
}

.menu_icon {
 color: #202020;
}

.dark .menu_icon {
  color: white;
 }

 .dark .menu_icon:hover {
  color: #4f46e5
 }

.partner_button:hover > span {
  color: #4f46e5 !important;
}

.partner_button:hover > svg {
  stroke: #4f46e5 !important;
}

.lang_button:hover > svg {
  stroke: #4f46e5 !important;
}

@media (max-width: 640px) {
  .mobile_menu {
    width: 100%;
  }
}

.hero-text {
  background: linear-gradient(180deg, #202020 0%, #4f46e5 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  letter-spacing: -0.07em;
  font-kerning: none;
}

.dark .hero-text {
  background: linear-gradient(180deg, #DFDFDF 0%, #4f46e5 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  letter-spacing: -0.07em;
  font-kerning: none;
}

.hero_gradient {
  background: radial-gradient(
    50% 50% at 50% 50%,
    rgba(106, 17, 203, 0.5) 0%,
    rgba(37, 117, 252, 0.1) 100%
  );
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  border-radius: 50%;
}

.dark .logo_menu > path {
  fill: white;
}


.hero_gradient_2 {
  background: radial-gradient(
    50% 50% at 50% 50%,
    rgba(95, 114, 189, 0.5) 0%,
    rgba(155, 35, 234, 0.1) 100%
  );
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  border-radius: 50%;
}

.moon_icon:hover > a > svg > path {
  fill: #4f46e5;
}

.footer_grid {
  display: grid; 
  grid-template-columns: fit-content(30%) 1fr;
  grid-template-rows: 1fr; 
  gap: 2rem; 
  grid-template-areas: 
    ". ."; 
}

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -10%, 0);
    transform: translate3d(0, -10%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -10%, 0);
    transform: translate3d(0, -10%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeInDownImg {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  animation-delay: 0.5s; 
}

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -10%, 0);
    transform: translate3d(0, -10%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -10%, 0);
    transform: translate3d(0, -10%, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-delay: 1s; 
  animation-delay: 0.5s; 
}

@-webkit-keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

.fadeInContent {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

@-webkit-keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

.late-animationfadein {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  opacity: 100% !important;
}

@-webkit-keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}