/* ============================================
   Page-Specific Styles
   ============================================ */

/* Home Page */
.home-hero {
  background: linear-gradient(135deg, var(--violet), var(--purple));
  color: white;
  padding: calc(var(--spacing-xl) * 2) 0;
  text-align: center;
}

.home-hero h1 {
  color: white;
  margin-bottom: var(--spacing-md);
}

.home-hero__subtitle {
  font-size: var(--font-size-lg);
  color: rgba(255, 255, 255, 0.9);
  max-width: 700px;
  margin: 0 auto var(--spacing-lg);
}

/* Featured Games Section */
.featured-games {
  padding: var(--spacing-xl) 0;
}

.featured-games__title {
  text-align: center;
  margin-bottom: var(--spacing-lg);
}

/* Game Gallery */
.game-gallery {
  padding: var(--spacing-xl) 0;
  background: var(--lavender);
}

.game-gallery__title {
  text-align: center;
  margin-bottom: var(--spacing-lg);
}

/* Testimonials Section */
.testimonials-section {
  padding: var(--spacing-xl) 0;
}

.testimonials-section__title {
  text-align: center;
  margin-bottom: var(--spacing-lg);
}

/* Editorial Section */
.editorial-section {
  padding: var(--spacing-xl) 0;
  max-width: 1200px;
  margin: 0 auto;
}

.editorial-section h2 {
  margin-bottom: var(--spacing-md);
  text-align: center;
}

.editorial-section p {
  font-size: var(--font-size-lg);
  line-height: 1.8;
  margin-bottom: var(--spacing-sm);
}

/* FAQ Section */
.faq-section {
  padding: var(--spacing-xl) 0;
  background: var(--lavender);
}

.faq-section__title {
  text-align: center;
  margin-bottom: var(--spacing-lg);
}

/* Slots Hub */
.slots-intro {
  padding: var(--spacing-xl) 0;
}

.slots-intro h1 {
  margin-bottom: var(--spacing-md);
  text-align: center;
}

.slots-intro p {
  font-size: var(--font-size-lg);
  line-height: 1.8;
  margin-bottom: var(--spacing-md);
}

.slots-categories {
  padding: var(--spacing-xl) 0;
  background: var(--lavender);
}

.slots-categories__title {
  text-align: center;
  margin-bottom: var(--spacing-lg);
}

.category-card {
  background: var(--card);
  padding: var(--spacing-lg);
  border-radius: 12px;
  text-align: center;
  box-shadow: var(--shadow);
  transition: transform 0.2s ease;
}

.category-card:hover {
  transform: translateY(-4px);
}

.category-card__icon {
  width: 64px;
  height: 64px;
  margin: 0 auto var(--spacing-sm);
  fill: var(--violet);
}

.category-card__title {
  font-size: 1.25rem;
  margin-bottom: var(--spacing-xs);
}

.top-slots {
  padding: var(--spacing-xl) 0;
}

.top-slots__title {
  text-align: center;
  margin-bottom: var(--spacing-lg);
}

/* Slot Review Page */
.slot-review-hero {
  padding: var(--spacing-xl) 0;
  text-align: center;
}

.slot-review-hero h1 {
  margin-bottom: var(--spacing-md);
}

.quick-facts {
  background: var(--lavender);
  padding: var(--spacing-lg);
  border-radius: 12px;
  margin: var(--spacing-lg) 0;
}

.quick-facts__table {
  width: 100%;
  border-collapse: collapse;
}

.quick-facts__table td {
  padding: var(--spacing-sm);
  border-bottom: 1px solid var(--border);
}

.quick-facts__table td:first-child {
  font-weight: var(--font-weight-semibold);
  width: 40%;
}

.slot-review-content {
  padding: var(--spacing-xl) 0;
}

.slot-review-content h2 {
  margin-top: var(--spacing-lg);
  margin-bottom: var(--spacing-md);
}

.slot-review-content p {
  font-size: var(--font-size-lg);
  line-height: 1.8;
  margin-bottom: var(--spacing-md);
}

.pros-cons {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--spacing-lg);
  margin: var(--spacing-lg) 0;
}

@media (min-width: 768px) {
  .pros-cons {
    grid-template-columns: 1fr 1fr;
  }
}

.pros-cons__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pros-cons__item {
  padding: var(--spacing-sm);
  margin-bottom: var(--spacing-xs);
  border-radius: 4px;
}

.pros-cons__item--pro {
  background: rgba(34, 197, 94, 0.1);
  color: #16a34a;
}

.pros-cons__item--con {
  background: rgba(239, 68, 68, 0.1);
  color: #dc2626;
}

/* Live Casino */
.live-casino-intro {
  padding: var(--spacing-xl) 0;
}

.live-casino-intro h1 {
  margin-bottom: var(--spacing-md);
}

.game-types {
  padding: var(--spacing-xl) 0;
}

.game-types__title {
  text-align: center;
  margin-bottom: var(--spacing-lg);
}

/* Sportsbook */
.sportsbook-intro {
  padding: var(--spacing-xl) 0;
}

.sportsbook-intro h1 {
  margin-bottom: var(--spacing-md);
}

.sports-categories {
  padding: var(--spacing-xl) 0;
}

.sports-categories__title {
  text-align: center;
  margin-bottom: var(--spacing-lg);
}

.featured-athletes {
  padding: var(--spacing-xl) 0;
  background: var(--lavender);
}

.featured-athletes__title {
  text-align: center;
  margin-bottom: var(--spacing-lg);
}

.athlete-card {
  background: var(--card);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: var(--shadow);
  transition: transform 0.2s ease;
}

.athlete-card:hover {
  transform: translateY(-4px);
}

.athlete-card__image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.athlete-card__content {
  padding: var(--spacing-md);
}

.athlete-card__name {
  font-size: 1.25rem;
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--spacing-xs);
}

.athlete-card__sport {
  color: var(--muted);
  font-size: 0.875rem;
  margin-bottom: var(--spacing-sm);
}

/* Promotions */
.promotions-hero {
  padding: var(--spacing-xl) 0;
  text-align: center;
}

.promotions-hero h1 {
  margin-bottom: var(--spacing-md);
}

.promo-banners {
  padding: var(--spacing-xl) 0;
}

.promo-banner {
  background: linear-gradient(135deg, var(--violet), var(--purple));
  color: white;
  padding: var(--spacing-xl);
  border-radius: 12px;
  margin-bottom: var(--spacing-lg);
  text-align: center;
}

.promo-banner__title {
  color: white;
  font-size: 2rem;
  margin-bottom: var(--spacing-sm);
}

.promo-banner__description {
  color: rgba(255, 255, 255, 0.9);
  font-size: var(--font-size-lg);
  margin-bottom: var(--spacing-md);
}

.promo-banner__cta {
  background: white;
  color: var(--violet);
}

.promo-banner__cta:hover {
  background: var(--lavender);
}

.promotions-content {
  padding: var(--spacing-xl) 0;
}

.promotions-content h2 {
  margin-top: var(--spacing-lg);
  margin-bottom: var(--spacing-md);
}

.promotions-content p {
  font-size: var(--font-size-lg);
  line-height: 1.8;
  margin-bottom: var(--spacing-md);
}

/* About Us */
.about-hero {
  padding: var(--spacing-xl) 0;
  text-align: center;
}

.about-hero h1 {
  margin-bottom: var(--spacing-md);
}

.about-content {
  padding: var(--spacing-xl) 0;
}

.about-content h2 {
  margin-top: var(--spacing-lg);
  margin-bottom: var(--spacing-md);
}

.about-content p {
  font-size: var(--font-size-lg);
  line-height: 1.8;
  margin-bottom: var(--spacing-md);
}

.regions-served {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-md);
  margin: var(--spacing-lg) 0;
}

@media (min-width: 640px) {
  .regions-served {
    grid-template-columns: repeat(4, 1fr);
  }
}

.region-card {
  background: var(--card);
  padding: var(--spacing-md);
  border-radius: 8px;
  text-align: center;
  box-shadow: var(--shadow);
}

.region-card__name {
  font-weight: var(--font-weight-semibold);
  margin-bottom: var(--spacing-xs);
}