/* ========================================
   СТИЛИ СООБЩЕНИЙ ФОРМ (УСПЕХ И ОШИБКИ)
   Высокий приоритет для переопределения Tilda
   ======================================== */

/* Сообщение об успешной отправке */
.t-form .js-successbox,
.t-form .t-form__successbox,
div.js-successbox,
.js-successbox.t-form__successbox {
  background: linear-gradient(135deg, #1a3a1a 0%, #0d1f0d 100%) !important;
  border: 2px solid #4caf50 !important;
  border-radius: 8px !important;
  padding: 20px 25px 20px 60px !important;
  margin: 20px 0 !important;
  color: #a5d6a7 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  box-shadow: 0 4px 15px rgba(76, 175, 80, 0.3) !important;
  position: relative !important;
  text-align: left !important;
  font-family: 'Cormorant', Arial, sans-serif !important;
  font-weight: 500 !important;
}

/* Иконка успеха */
.t-form .js-successbox::before,
.js-successbox.t-form__successbox::before {
  content: '✓' !important;
  position: absolute !important;
  left: 20px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 28px !important;
  color: #4caf50 !important;
  font-weight: bold !important;
  animation: successPulse 1.5s ease-in-out infinite !important;
  display: block !important;
}

@keyframes successPulse {
  0%, 100% {
    opacity: 1;
    transform: translateY(-50%) scale(1);
  }
  50% {
    opacity: 0.7;
    transform: translateY(-50%) scale(1.15);
  }
}

/* Блок ошибок формы */
.t-form .js-errorbox-all,
.t-form .t-form__errorbox-wrapper,
div.js-errorbox-all,
.js-errorbox-all.t-form__errorbox-wrapper {
  background: linear-gradient(135deg, #3a1a1a 0%, #1f0d0d 100%) !important;
  border: 2px solid #f44336 !important;
  border-radius: 8px !important;
  padding: 20px 25px 20px 60px !important;
  margin: 20px 0 !important;
  box-shadow: 0 4px 15px rgba(244, 67, 54, 0.3) !important;
  position: relative !important;
}

/* Иконка ошибки */
.t-form .js-errorbox-all::before,
.js-errorbox-all.t-form__errorbox-wrapper::before {
  content: '⚠' !important;
  position: absolute !important;
  left: 20px !important;
  top: 20px !important;
  font-size: 28px !important;
  color: #f44336 !important;
  font-weight: bold !important;
  display: block !important;
}

/* Список ошибок */
.t-form__errorbox-text,
.js-errorbox-all .t-form__errorbox-text {
  color: #ef9a9a !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  padding-left: 0 !important;
  margin: 0 !important;
}

.t-form__errorbox-item {
  margin: 8px 0 !important;
  list-style: none !important;
  position: relative !important;
  padding-left: 20px !important;
  color: #ef9a9a !important;
}

.t-form__errorbox-item::before {
  content: '•' !important;
  position: absolute !important;
  left: 0 !important;
  color: #f44336 !important;
  font-size: 18px !important;
}

/* Ошибки отдельных полей */
.t-input-error {
  color: #f44336 !important;
  font-size: 13px !important;
  margin-top: 5px !important;
  padding: 8px 12px !important;
  background: rgba(244, 67, 54, 0.1) !important;
  border-left: 3px solid #f44336 !important;
  border-radius: 4px !important;
}

/* Поля с ошибками */
.t-input.t-input_error,
.t-input.t-input_error:focus {
  border-color: #f44336 !important;
  box-shadow: 0 0 0 3px rgba(244, 67, 54, 0.1) !important;
}

/* Анимация появления */
@keyframes slideInDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.js-successbox[style*="display: block"],
.js-errorbox-all[style*="display: block"] {
  animation: slideInDown 0.4s ease-out !important;
}

/* Мобильная адаптация */
@media screen and (max-width: 640px) {
  .js-successbox,
  .js-errorbox-all {
    padding: 15px 20px 15px 55px !important;
    font-size: 14px !important;
  }
  
  .js-successbox::before,
  .js-errorbox-all::before {
    font-size: 24px !important;
    left: 15px !important;
  }
}

.uc-skazka .t-text span {
  display: block;              
  line-height: 1.6 !important; 
  margin-bottom: 3em !important;
}


/* Настройка отображения формы с фоном art-5.jpg */

/* Фон должен быть позади всего контента */
#rec1504321541 .t-cover {
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 0;
  background-size: cover !important;
  background-position: center !important;
}

/* Фильтр тоже позади */
#rec1504321541 .t-cover__filter {
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
}

/* Контейнер формы должен быть поверх фона */
#rec1504321541 .t722 {
  position: relative;
  z-index: 2;
}

/* Черный блок с формой по центру */
#rec1504321541 .t722__content {
  background-color: #000000 !important;
  padding: 60px 40px !important;
  border-radius: 8px;
  max-width: 700px;
  margin: 0 auto;
}

/* Уменьшение расстояния между текстом и полем ввода */
#rec1504321541 .t722__textwrapper {
  margin-bottom: 30px !important;
}

/* Явные стили полей ввода в черном блоке формы */
#rec1504321541 .t-input,
#rec1504321541 input.t-input,
#rec1504321541 textarea.t-input {
  background-color: #0b0b0b !important;
  color: #ffffff !important;
  caret-color: #efc76c !important;
}

#rec1504321541 .t-input::placeholder,
#rec1504321541 input.t-input::placeholder,
#rec1504321541 textarea.t-input::placeholder {
  color: rgba(242, 231, 188, 0.78) !important;
}

#rec1504321541 .t-input:focus,
#rec1504321541 input.t-input:focus,
#rec1504321541 textarea.t-input:focus {
  color: #ffffff !important;
  border-color: #efc76c !important;
  box-shadow: 0 0 0 3px rgba(216, 181, 103, 0.15) !important;
}

/* Основной блок должен иметь position: relative */
#rec1504321541 {
  position: relative !important;
}

/* Замена стрелок в слайдере "Meet The Heroes" на arrow_gold.svg */
#rec1559081191 .t1148__control svg {
  display: none;
}

#rec1559081191 .t1148__control {
  background-color: transparent !important;
  background-image: url('../images/arrow_gold.svg') !important;
  background-size: 40px 40px;
  background-position: center;
  background-repeat: no-repeat;
  border: none !important;
  width: 50px;
  height: 50px;
}

/* Правая стрелка - без изменений */
#rec1559081191 .t1148__control_right {
  transform: none;
}

/* Левая стрелка - отзеркаленная */
#rec1559081191 .t1148__control_left {
  transform: scaleX(-1);
}

/* ========================================
   ЭФФЕКТЫ ПРИ НАВЕДЕНИИ НА КНОПКИ
   ======================================== */

/* Основные кнопки с градиентом */
.t-btn:hover,
.t-btnflex:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(216, 181, 103, 0.4) !important;
  transition: all 0.3s ease !important;
}

.t-btn:active,
.t-btnflex:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 8px rgba(216, 181, 103, 0.3) !important;
}

/* Кнопки отправки форм */
.t-submit:hover {
  transform: translateY(-2px) scale(1.02) !important;
  box-shadow: 0 8px 25px rgba(239, 199, 108, 0.5) !important;
  filter: brightness(1.1);
  transition: all 0.3s ease !important;
}

.t-submit:active {
  transform: translateY(0) scale(1) !important;
  box-shadow: 0 2px 8px rgba(239, 199, 108, 0.3) !important;
  filter: brightness(1);
}

/* Стрелки галереи - все эффекты отключены */
#rec1559081191 .t1148__control {
  transition: none !important;
  transform: none !important;
}

#rec1559081191 .t1148__control:hover {
  transform: none !important;
  box-shadow: none !important;
  filter: none !important;
}

#rec1559081191 .t1148__control:active {
  transform: none !important;
}

/* Левая стрелка галереи - сохраняем только отзеркаливание */
#rec1559081191 .t1148__control_left,
#rec1559081191 .t1148__control_left:hover,
#rec1559081191 .t1148__control_left:active {
  transform: scaleX(-1) !important;
}

/* Дополнительный эффект свечения для кнопок (кроме стрелок галереи) */
.t-btn::before,
.t-btnflex::before,
.t-submit::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  transition: left 0.5s ease;
  z-index: 1;
}

.t-btn:hover::before,
.t-btnflex:hover::before,
.t-submit:hover::before {
  left: 100%;
}

/* Отключаем эффект свечения для стрелок галереи */
#rec1559081191 .t1148__control::before {
  display: none !important;
}

/* Текст кнопки должен быть поверх эффекта */
.t-btnflex__text {
  position: relative;
  z-index: 2;
}

/* ========================================
   ЭФФЕКТ УВЕЛИЧЕНИЯ КАРТИНОК В ГАЛЕРЕЕ HEROES
   ======================================== */

/* Галерея Heroes - увеличение картинок при наведении */
#rec1559081191 .t1148__item img {
  transition: transform 0.3s ease !important;
}

#rec1559081191 .t1148__item:hover img {
  transform: scale(1.05) !important;
}

/* ========================================
   СТИЛИ ДЛЯ КОНТАКТНОЙ СЕКЦИИ
   ======================================== */

/* Центрирование всего контента в контактной секции */
.t718__contentwrapper {
  text-align: center !important;
}

/* Центрирование контентного блока на странице */
.t718__contentbox {
  max-width: 600px !important;
  margin: 0 auto !important;
}

/* Уменьшение отступов в контактной секции */
#rec1503807052 {
  padding-top: 15px !important;
}

#rec1503807052 .t-section__title {
  margin-bottom: 40px !important;
}

@media screen and (max-width: 960px) {
  #rec1503807052 .t-section__title {
    margin-bottom: 25px !important;
  }
}

/* Увеличение размера email и центрирование */
.t718__contacts {
  text-align: center !important;
  font-size: 28px !important;
  margin-bottom: 20px !important;
}

.t718__contacts a {
  text-decoration: none !important;
  font-size: 28px !important;
}

.t718__contacts a:hover {
  text-decoration: none !important;
  opacity: 0.8;
  transition: opacity 0.3s ease;
}

/* Центрирование адреса */
.t718__address {
  text-align: center !important;
  margin-bottom: 20px !important;
}

/* Центрирование иконок соцсетей */
.t-sociallinks {
  display: flex;
  justify-content: center !important;
  align-items: center;
  margin-top: 20px;
}

.t-sociallinks__wrapper {
  display: flex;
  align-items: center;
  justify-content: center !important;
  gap: 10px;
  margin: 0;
  padding: 0;
}

.t-sociallinks__item {
  display: flex;
  align-items: center;
  margin: 0 !important;
}

/* Мобильная версия контактной секции */
@media screen and (max-width: 640px) {
  /* Увеличение текста контактов для мобильных */
  .t718__contacts {
    font-size: 24px !important;
  }
  
  .t718__contacts a {
    font-size: 24px !important;
  }
  
  .t718__address {
    font-size: 16px !important;
  }
}

/* ========================================
   ССЫЛКА GAMEBION.COM В СЛАЙДЕРЕ
   ======================================== */

.gamebion-link {
  text-decoration: none !important;
  display: inline-block;
  transition: all 0.3s ease !important;
  position: relative;
}

.gamebion-link:hover {
  transform: translateY(-2px) !important;
  text-shadow: 0 4px 15px rgba(216, 181, 103, 0.6) !important;
}

.gamebion-link:hover span {
  color: rgb(239, 199, 108) !important;
}

.gamebion-link:active {
  transform: translateY(0) !important;
}

/* ========================================
   ОТКЛЮЧЕНИЕ АНИМАЦИИ ДЛЯ ПЕРВОГО БЛОКА ROADMAP
   ======================================== */

/* Убираем анимацию при наведении на самый левый блок (блок 1) */
.tn-elem__15845919911480525176544 {
  transition: none !important;
  transform: none !important;
}

.tn-elem__15845919911480525176544:hover {
  transform: none !important;
}

/* ========================================
   ЭФФЕКТЫ ПРИ НАВЕДЕНИИ НА ПУНКТЫ МЕНЮ
   ======================================== */

/* Плавный переход для всех пунктов меню */
.t-menu__link-item {
  position: relative;
  transition: all 0.3s ease !important;
}

/* Эффект при наведении - изменение цвета и легкое увеличение */
.t-menu__link-item:hover {
  color: #efc76c !important;
  transform: translateY(-2px) !important;
  text-shadow: 0 4px 15px rgba(239, 199, 108, 0.4) !important;
}

/* Подчеркивание снизу при наведении */
.t-menu__link-item::after {
  content: '';
  position: absolute;
  bottom: -5px;
  left: 50%;
  width: 0;
  height: 2px;
  background: linear-gradient(90deg, #d8b567, #efc76c);
  transition: all 0.3s ease;
  transform: translateX(-50%);
}

.t-menu__link-item:hover::after {
  width: 100%;
}

/* Эффект при клике */
.t-menu__link-item:active {
  transform: translateY(0) !important;
  text-shadow: 0 2px 8px rgba(239, 199, 108, 0.3) !important;
}

/* ========================================
   НАСТРОЙКА ОТСТУПОВ БЛОКА ROADMAP
   ======================================== */

/* Уменьшаем расстояние между заголовком "Roadmap to glory!" и карточками */
#rec1560182761 {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* Добавляем черный фон снизу блока с карточками */
#rec1584591991 {
  padding-bottom: 100px !important;
}

/* Для мобильных устройств */
@media screen and (max-width: 640px) {
  #rec1584591991 {
    padding-bottom: 60px !important;
  }
}

/* ========================================
   АНИМАЦИЯ ПОЯВЛЕНИЯ БЛОКОВ
   ======================================== */

/* Определяем keyframes для анимации */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(40px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Начальное состояние блоков - скрыты */
#rec1503342661,  /* About our project */
#rec1503694651,  /* The Concept */
#rec1560182761,  /* Roadmap to glory! */
#rec1584591991,  /* Блок с 4 карточками Roadmap */
#rec1504321541,  /* Be the first to play Era of Valor */
#rec1559081191,  /* Meet The Heroes */
#rec1503667651,  /* FAQ */
#rec1559894821   /* Who we are */
{
  opacity: 0;
  transform: translateY(40px);
}

/* Класс для активации анимации */
#rec1503342661.animate-in,
#rec1503694651.animate-in,
#rec1560182761.animate-in,
#rec1584591991.animate-in,
#rec1504321541.animate-in,
#rec1559081191.animate-in,
#rec1503667651.animate-in,
#rec1559894821.animate-in {
  animation: fadeInUp 0.5s ease-out forwards;
}

/* Задержки для последовательного появления (опционально) */
#rec1503342661.animate-in {
  animation-delay: 0.1s;
}

#rec1503694651.animate-in {
  animation-delay: 0.15s;
}

#rec1560182761.animate-in {
  animation-delay: 0.1s;
}

#rec1584591991.animate-in {
  animation-delay: 0.2s;
}

#rec1504321541.animate-in {
  animation-delay: 0.1s;
}

#rec1559081191.animate-in {
  animation-delay: 0.15s;
}

#rec1503667651.animate-in {
  animation-delay: 0.1s;
}

#rec1559894821.animate-in {
  animation-delay: 0.15s;
}

/* ========================================
   ПЕРЕКЛЮЧАТЕЛЬ ЯЗЫКОВ В МЕНЮ
   ======================================== */

/* Общие стили для кнопок переключателя */
.lang-btn {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  padding: 6px 12px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  transition: all 0.3s ease;
  font-family: 'Cormorant', serif;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.lang-btn:hover {
  background: rgba(216, 181, 103, 0.1);
  border-color: #d8b567;
  color: #efc76c;
  transform: translateY(-1px);
}

.lang-btn:active {
  transform: translateY(0);
}

.lang-btn.active {
  background: #d8b567;
  border-color: #d8b567;
  color: #000;
}

.lang-btn:focus {
  outline: 2px solid #d8b567;
  outline-offset: 2px;
}

/* Десктопное меню - переключатель справа */
.t229__rightside.language-switcher-menu {
  display: flex !important;
  gap: 6px;
  align-items: center;
  position: absolute;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
}

/* Скрыть на мобильных */
@media screen and (max-width: 980px) {
  .t229__rightside.language-switcher-menu {
    display: none !important;
  }
}

/* Мобильное меню - переключатель отдельным пунктом */
.language-switcher-menu-mobile {
  display: flex !important;
  gap: 8px;
  justify-content: center;
  padding: 20px 0 !important;
  border-top: 1px solid rgba(216, 181, 103, 0.2);
  margin-top: 20px;
}

/* Показать только на мобильных */
@media screen and (min-width: 981px) {
  .language-switcher-menu-mobile {
    display: none !important;
  }
}

/* Кнопки в мобильном меню чуть крупнее */
.language-switcher-menu-mobile .lang-btn {
  padding: 8px 16px;
  font-size: 14px;
}

/* ========================================
   СТИЛЬНЫЙ СКРОЛЛБАР
   ======================================== */

/* Webkit браузеры (Chrome, Safari, Edge) */
::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}

::-webkit-scrollbar-track {
  background: #000000;
  border-left: 1px solid #1a1a1a;
}

::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #d8b567, #efc76c);
  border-radius: 6px;
  border: 2px solid #000000;
  transition: all 0.3s ease;
}

::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #efc76c, #f5d98a);
  box-shadow: 0 0 10px rgba(239, 199, 108, 0.5);
  border: 2px solid #1a1a1a;
}

::-webkit-scrollbar-thumb:active {
  background: linear-gradient(180deg, #c9a556, #d8b567);
}

/* Firefox */
* {
  scrollbar-width: thin;
  scrollbar-color: #d8b567 #000000;
}

/* Дополнительный эффект для горизонтального скролла */
::-webkit-scrollbar-corner {
  background: #000000;
}

/* ========================================
   СТИЛИ СООБЩЕНИЙ ФОРМ (УСПЕХ И ОШИБКИ)
   ======================================== */

/* Сообщение об успешной отправке */
.t-form__successbox {
  background: linear-gradient(135deg, #1a3a1a 0%, #0d1f0d 100%) !important;
  border: 2px solid #4caf50 !important;
  border-radius: 8px !important;
  padding: 20px 25px !important;
  margin: 20px 0 !important;
  color: #a5d6a7 !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  box-shadow: 0 4px 15px rgba(76, 175, 80, 0.3) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Иконка успеха */
.t-form__successbox::before {
  content: '✓';
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 24px;
  color: #4caf50;
  font-weight: bold;
  animation: successPulse 1.5s ease-in-out infinite;
}

/* Отступ для текста с иконкой */
.t-form__successbox {
  padding-left: 60px !important;
}

/* Анимация пульсации для иконки успеха */
@keyframes successPulse {
  0%, 100% {
    opacity: 1;
    transform: translateY(-50%) scale(1);
  }
  50% {
    opacity: 0.7;
    transform: translateY(-50%) scale(1.1);
  }
}

/* Блок ошибок формы */
.t-form__errorbox-wrapper {
  background: linear-gradient(135deg, #3a1a1a 0%, #1f0d0d 100%) !important;
  border: 2px solid #f44336 !important;
  border-radius: 8px !important;
  padding: 20px 25px !important;
  margin: 20px 0 !important;
  box-shadow: 0 4px 15px rgba(244, 67, 54, 0.3) !important;
  position: relative !important;
}

/* Иконка ошибки */
.t-form__errorbox-wrapper::before {
  content: '⚠';
  position: absolute;
  left: 20px;
  top: 20px;
  font-size: 24px;
  color: #f44336;
  font-weight: bold;
}

/* Список ошибок */
.t-form__errorbox-text {
  color: #ef9a9a !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  padding-left: 40px !important;
  margin: 0 !important;
}

.t-form__errorbox-item {
  margin: 8px 0 !important;
  list-style: none !important;
  position: relative !important;
  padding-left: 20px !important;
}

/* Маркер для каждой ошибки */
.t-form__errorbox-item::before {
  content: '•';
  position: absolute;
  left: 0;
  color: #f44336;
  font-size: 18px;
  line-height: 1;
}

/* Ошибки отдельных полей */
.t-input-error {
  color: #f44336 !important;
  font-size: 13px !important;
  margin-top: 5px !important;
  padding: 8px 12px !important;
  background: rgba(244, 67, 54, 0.1) !important;
  border-left: 3px solid #f44336 !important;
  border-radius: 4px !important;
  display: block !important;
}

/* Поля с ошибками */
.t-input.t-input_error,
.t-input.t-input_error:focus {
  border-color: #f44336 !important;
  box-shadow: 0 0 0 3px rgba(244, 67, 54, 0.1) !important;
}

/* Анимация появления сообщений */
.t-form__successbox,
.t-form__errorbox-wrapper {
  animation: slideInDown 0.4s ease-out;
}

@keyframes slideInDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Адаптация для мобильных устройств */
@media screen and (max-width: 640px) {
  .t-form__successbox,
  .t-form__errorbox-wrapper {
    padding: 15px 20px !important;
    padding-left: 55px !important;
    font-size: 14px !important;
  }
  
  .t-form__successbox::before,
  .t-form__errorbox-wrapper::before {
    font-size: 20px;
    left: 15px;
  }
  
  .t-form__errorbox-text {
    font-size: 13px !important;
    padding-left: 30px !important;
  }
}

/* Hero Telegram CTA */
.hero-play-button {
  position: absolute;
  z-index: 15;
  top: calc(50% + 174px);
  left: 23.5%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-width: 286px;
  min-height: 58px;
  padding: 0 28px;
  box-sizing: border-box;
  color: #130d06 !important;
  background:
    linear-gradient(180deg, #fff0a8 0%, #e0bc6b 40%, #b77925 100%),
    linear-gradient(115deg, #fff6c4 0%, #d8b567 48%, #7f4d16 100%);
  background-origin: border-box;
  background-clip: padding-box, border-box;
  border: 2px solid transparent;
  border-radius: 999px;
  box-shadow:
    0 2px 0 rgba(255, 249, 211, 0.65) inset,
    0 -3px 0 rgba(104, 61, 14, 0.42) inset,
    0 14px 34px rgba(0, 0, 0, 0.46),
    0 0 34px rgba(224, 188, 107, 0.48);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.08em;
  text-decoration: none !important;
  text-transform: uppercase;
  transform: translateX(-50%);
  transition: transform 0.18s ease, filter 0.18s ease, box-shadow 0.18s ease;
  isolation: isolate;
  overflow: hidden;
}

.hero-play-button::before {
  content: "";
  position: absolute;
  inset: 5px;
  z-index: -1;
  border: 1px solid rgba(255, 248, 205, 0.44);
  border-radius: 999px;
}

.hero-play-button::after {
  content: "";
  position: absolute;
  top: -55%;
  left: -35%;
  width: 55%;
  height: 210%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.58), transparent);
  transform: rotate(20deg);
  animation: heroButtonSheen 3.8s ease-in-out infinite;
}

.hero-play-button:hover,
.hero-play-button:focus-visible {
  color: #080502 !important;
  filter: brightness(1.06) saturate(1.08);
  transform: translateX(-50%) translateY(-2px);
  box-shadow:
    0 2px 0 rgba(255, 249, 211, 0.78) inset,
    0 -3px 0 rgba(104, 61, 14, 0.5) inset,
    0 18px 40px rgba(0, 0, 0, 0.54),
    0 0 46px rgba(224, 188, 107, 0.68);
}

.hero-play-button__icon {
  position: relative;
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: linear-gradient(180deg, #2b1c0d 0%, #070503 100%);
  box-shadow:
    0 0 0 2px rgba(255, 236, 158, 0.52),
    0 2px 0 rgba(255, 255, 255, 0.18) inset,
    0 -2px 0 rgba(0, 0, 0, 0.42) inset,
    0 0 18px rgba(224, 188, 107, 0.44);
}

.hero-play-button__icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 12px solid #f2ca70;
  transform: translate(-40%, -50%);
  filter: drop-shadow(0 1px 0 rgba(255, 255, 255, 0.28)) drop-shadow(0 0 8px rgba(224, 188, 107, 0.55));
}

.hero-play-button__icon::after {
  content: "";
  position: absolute;
  inset: 6px;
  border-radius: 50%;
  border: 1px solid rgba(255, 244, 190, 0.2);
  box-shadow: 0 0 12px rgba(255, 236, 158, 0.18) inset;
}

.hero-play-button__text {
  position: relative;
  z-index: 1;
  white-space: nowrap;
}

@keyframes heroButtonSheen {
  0%, 45% {
    transform: translateX(-130%) rotate(20deg);
  }
  70%, 100% {
    transform: translateX(360%) rotate(20deg);
  }
}

@media screen and (max-width: 1599px) {
  .hero-play-button {
    top: calc(50% + 170px);
    left: 24.2%;
  }
}

@media screen and (max-width: 1199px) {
  .hero-play-button {
    top: calc(50% + 152px);
    left: 25.2%;
    min-width: 260px;
    min-height: 54px;
    padding: 0 22px;
    font-size: 15px;
  }
}

@media screen and (max-width: 979px) {
  .hero-play-button {
    display: none;
  }
}

