/* Buttons */
.btn-primary, .btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-sm);
  padding: 12px 28px;
  border-radius: var(--radius-md);
  font-weight: 600;
  font-size: 1rem;
  transition: all var(--transition-fast);
  cursor: pointer;
}

.btn-primary {
  background-color: var(--text-primary);
  color: var(--bg-primary);
}

.btn-primary:hover {
  background-color: #ffffff;
  transform: scale(1.03);
  box-shadow: 0 0 20px rgba(255, 255, 255, 0.2);
}

.btn-secondary {
  background-color: rgba(255, 255, 255, 0.1);
  color: var(--text-primary);
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.btn-secondary:hover {
  background-color: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.2);
  transform: scale(1.03);
}

@media (max-width: 768px) {
  .media-card:hover .media-card-image-container,
  .media-card:hover .media-card-image {
    transform: none;
  }

  .media-carousel-container {
    margin-bottom: var(--spacing-lg);
  }

  .carousel-header {
    gap: 10px;
    margin-bottom: 10px;
  }

  .carousel-title-text {
    font-size: 1.15rem;
  }

  .media-carousel {
    gap: 14px;
    padding: 8px 2px 16px;
  }

  .media-carousel-item {
    flex-basis: 140px;
  }

  .media-carousel.landscape-carousel .media-carousel-item {
    flex-basis: 240px;
  }

  .media-card-title {
    font-size: 0.88rem;
  }

  .media-card-subtitle {
    font-size: 0.76rem;
  }

  .btn-primary,
  .btn-secondary {
    min-height: 44px;
    padding: 11px 18px;
    border-radius: 10px;
    font-size: 0.95rem;
  }

  #toast-container {
    left: 12px;
    right: 12px;
    bottom: 12px;
  }

  .toast-message {
    width: 100%;
    max-width: none;
    padding: 12px 14px;
    font-size: 0.9rem;
  }
}

@media (max-width: 600px) {
  .media-carousel-container {
    margin-bottom: 18px;
  }

  .carousel-title-text {
    font-size: 1.02rem;
  }

  .media-carousel {
    gap: 10px;
    padding: 6px 2px 14px;
  }

  .media-carousel-item {
    flex-basis: 118px;
  }

  .media-carousel.landscape-carousel .media-carousel-item {
    flex-basis: 180px;
  }

  .media-card-details {
    margin-top: 7px;
  }

  .media-card-title {
    font-size: 0.82rem;
  }

  .media-card-subtitle {
    font-size: 0.72rem;
  }

  .btn-primary,
  .btn-secondary {
    min-height: 40px;
    padding: 9px 14px;
    border-radius: 9px;
    font-size: 0.88rem;
  }
}

@media (max-width: 480px) {
  .media-carousel-item {
    flex-basis: 112px;
  }

  .media-carousel.landscape-carousel .media-carousel-item {
    flex-basis: 172px;
  }
}
