﻿/* -------------------------
   Recompensas desktop + tablet
------------------------- */

body {
  background-color: #f9f9f9;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  min-height: 100vh;
  padding: 0;
}

.rewards-page {
  flex: 1;
  width: 100%;
  max-width: 1240px;
  padding: 104px 40px 80px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin: 0 auto;
  box-sizing: border-box;
}

.rewards-page.is-guest {
  max-width: 1240px;
  padding: 104px 40px 80px;
}

.rewards-guest {
  max-width: 680px;
  margin: 0 auto 24px;
}

.rewards-layout {
  display: grid;
  grid-template-columns: minmax(460px, 600px) minmax(320px, 380px);
  gap: 32px;
  align-items: start;
  justify-content: center;
}

.rewards-hero {
  width: 100%;
  max-width: 1012px;
  margin: 0 auto;
}

.rewards-left {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.rewards-right {
  position: sticky;
  top: 132px;
  align-self: start;
}

.rewards-hero__card {
  padding: 32px;
  width: 100%;
  max-width: 420px;
  justify-self: end;
  border-radius: 28px;
}

.rewards-grid {
  grid-template-columns: 1fr;
  gap: 20px;
}


.rewards-card {
  padding: 22px;
}

.rewards-total {
  font-size: 52px;
}

.rewards-hero__description,
.input-help {
  font-size: 15px;
}

@media (min-width: 1100px) {
  .rewards-page {
    max-width: 1320px;
  }
}
@media (max-width: 960px) {
  .rewards-page {
    padding: 100px 20px 64px;
  }

  .rewards-layout {
    grid-template-columns: 1fr;
    justify-content: stretch;
  }

  .rewards-hero {
    max-width: 100%;
  }

  .rewards-right {
    position: static;
    width: 100%;
  }

  .rewards-hero__card {
    max-width: 100%;
    justify-self: stretch;
  }
}


