.content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: start;
}

#recap .content {
  height: 100%;
}

/*==============================================*/

.content .recap-unlock-content {
  width: 100%;
  height: fit-content;
}

.content .recap-unlock-content .time-change-wrap {
  width: var(--width);
  padding: var(--padding-vertical);
  height: calc(100% - 40px);
  display: flex;
  flex-direction: column;
  align-items: left;
  justify-content: space-evenly;
  gap: 24px;
  position: relative;
}

.number-wrap {
  display: flex;
  flex-direction: column;
}

.last-wrap {
  border-bottom: var(--border);
}

.name-tag {
  text-transform: uppercase;
  font-family: "helvetica-neue-lt-pro", sans-serif;
  font-size: 0.8rem;
  font-style: normal;
  font-weight: 400;

  letter-spacing: 0%;
  display: flex;
  flex-direction: row;
  gap: 8px;
}

.number-small {
  text-transform: uppercase;
  font-family: "helvetica-neue-lt-pro", sans-serif;
  font-style: normal;
  font-weight: 500;
  /*font-weight: 700;*/
  letter-spacing: 0%;
  line-height: 0.84;
  font-size: 2.4rem;
}

.number-big {
  text-transform: uppercase;
  font-family: "helvetica-neue-lt-pro", sans-serif;
  font-style: normal;
  font-weight: 500;
  /*font-weight: 700;*/
  letter-spacing: 0%;
  line-height: 0.84;
  font-size: 5.4rem;
}

/*==============================================*/
.content .final-score-wrap {
  width: 100%;
  height: fit-content;
}

.final-score-wrap .final-score-content {
  width: calc(100% - 40px);
  height: fit-content;
  padding: var(--padding-vertical);
  display: flex;
  flex-direction: column;
  align-items: left;
  justify-content: start;

  font-style: normal;
  font-weight: 500;
  font-size: 1rem;
  letter-spacing: 0%;
  line-height: 1;
  margin-bottom: 2rem;
}

.final-score-content .part-up {
  height: fit-content;
}

.final-score-content .part-down {
  height: fit-content;
}
/*==============================================*/

.graphics-wrap {
  margin-top: 2.4rem;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  height: fit-content;

  margin-bottom: 1.4rem;
}

.graphics-wrap button {
  grid-column: span 2;
  height: 100%;
}

.graphics-inner-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 100%;
  border-radius: none;
  background: none;
  border: none;
  width: 100%;
  padding: 0;
}

.graphics-inner-wrap svg {
  width: 8rem;
}

@media screen and (max-width: 400px) {
  /* il contenitore NON deve avere height fissa */
  .graphics-wrap {
    margin-top: 1rem;
    height: auto; /* <-- fondamentale */
    min-height: 7.5rem; /* mantiene presenza */
    margin-bottom: 1.2rem;
  }

  /* i bottoni NON devono dipendere da height:100% */
  .graphics-wrap button {
    height: auto; /* <-- invece di 100% */
  }

  /* dai una forma stabile al blocco (compatibile con grid) */
  .graphics-inner-wrap {
    aspect-ratio: 1 / 1; /* quadrato */
    min-height: 7.5rem; /* o 7rem */
    justify-content: flex-end; /* label in basso */
    gap: 6px;
    padding-bottom: 4px;
  }

  /* SVG: dimensioni prevedibili (no sorprese da viewBox) */
  .graphics-inner-wrap svg {
    width: 6rem;
    height: 6rem;
    max-width: 100%;
    max-height: 100%;
    display: block;
  }

  /* testo più piccolo */
  .graphics-inner-wrap .name-tag {
    font-size: 0.65rem;
  }
}

/*==============================================*/

/*============== overlay =====================*/

/*
#recap .upper-content-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}*/

/*==============================================*/
#recap .rank-section-wrap {
  width: 100%;
  height: calc(100% - 15%);
  border-top: var(--border);
  margin-bottom: 1rem;
}

#recap .rank-section-wrap .rank-content {
  padding: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: left;
  justify-content: start;
  font-style: normal;
  font-weight: 500;
  font-size: 1rem;
  letter-spacing: 0%;
  line-height: 1;
  overflow-x: hidden;
  overflow-y: scroll; /* o scroll */
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE / Edge legacy */
}

#recap .rank-content::-webkit-scrollbar {
  display: none;
}

#recap .rank-content .line-ranking {
  width: 100%;
  padding-top: 24px;

  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  justify-content: space-between;
  align-items: baseline;
}

#recap .hour-of-day {
  font-size: 1rem;
  letter-spacing: 0%;
  font-weight: 500;
  display: flex;
  flex-direction: row;
  justify-content: center;
}

#recap .activity-chosen {
  font-size: 1rem;
  letter-spacing: 0%;
  font-weight: 300;
  white-space: nowrap;
  width: 8rem;
  text-align: center;
  grid-column: span 2;
  width: 100%;
}

/*==============================================*/

/*
=================================
=================================
=================================
predisposizione responsive / Stili per iPhone 15 / 14 / 13 / 12 (6.1")
=================================
=================================
=================================
*/

@media screen and (max-width: 400px) {
  .number-big {
    font-size: 4.6rem;
  }
  .graphics-inner-wrap svg {
    width: 6.8rem;
  }
  .final-score-wrap .final-score-content {
    margin-bottom: 1.2rem;
  }
}
