/* ===== Базовые стили ===== */
body, html {
  margin: 0;
  padding: 0;
  height: 100%;
  overflow: hidden;
  font-family: 'Arial', sans-serif;
}

/* ===== Контейнер для фона ===== */
.banner-container {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

/* ===== Фоновое изображение ===== */
.banner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url('/images/banner-desktop.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* ===== Стили кнопки ===== */
.heart-button {
  /* Позиционирование (500px, 450px для 1920x1080) */
  position: absolute;
  left: 48.00%;  /* 500/1920 = 26.0416% */
  top: 85.00%;  /* 450/1080 = 41.666% */
  transform: translate(-50%, -50%);
  
  /* Внешний вид */
  display: inline-block;
  text-decoration: none;
  background-color: #ff1818;
  color: #ffffff;
  border: 4px solid #ffffff;
  border-radius: 13px;
  font-size: 17px;
  padding: 8px 31px;
  transition: all 0.5s ease;
  z-index: 10;
  font-weight: bold;
  text-transform: uppercase;
  text-align: center;
  white-space: nowrap;
  cursor: pointer;
  
  /* Эффекты при взаимодействии */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.heart-button:hover {
  background-color: #ffffff;
  color: #f02222;
  border-color: #ff1d1d;
  transform: translate(-50%, -50%) scale(1.05);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
}

.heart-button:active {
  transform: translate(-50%, -50%) scale(0.95);
}

/* ===== Мобильная версия ===== */
@media (max-width: 768px) {
  .banner {
    background-image: url('/images/banner-mobile.jpg');
  }
  
  .heart-button {
    font-size: 15px;
    padding: 6px 25px;
    /* Для мобилок можно изменить позицию если нужно */
    /* left: 50%; top: 60%; */
  }
}

/* ===== Вертикальные мобильные устройства ===== */
@media (max-width: 480px) and (orientation: portrait) {
  .heart-button {
    font-size: 14px;
    padding: 5px 20px;
    border-width: 3px;
  }
}

/* ===== Горизонтальные мобильные устройства ===== */
@media (max-height: 480px) and (orientation: landscape) {
  .heart-button {
    font-size: 12px;
    padding: 4px 16px;
    top: 80%; /* Корректировка для ландшафта */
  }
}

/* ===== Для очень широких экранов ===== */
@media (min-width: 2500px) {
  .heart-button {
    font-size: 22px;
    padding: 12px 40px;
    border-width: 5px;
  }
}


/* Стили для страницы 404 */
.error-container {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: white;
  text-shadow: 0 0 10px rgba(0,0,0,0.5);
}

.error-container h1 {
  font-size: 5rem;
  margin: 0;
}

.error-container p {
  font-size: 1.5rem;
  margin-bottom: 2rem;
}

.seo-headers {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}