@import url('https://fonts.googleapis.com/css2?family=Barlow+Semi+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root {

    /* Primary */

    --Purple-50: hsl(260, 100%, 95%);
    --Purple-300: hsl(264, 82%, 80%);
    --Purple-500: hsl(263, 55%, 52%);

    /* Neutral */

    --White: hsl(0, 0%, 100%);
    --Grey-100: hsl(214, 17%, 92%);
    --Grey-200: hsl(0, 0%, 81%);
    --Grey-400: hsl(224, 10%, 45%);
    --Grey-500: hsl(217, 19%, 35%);
    --Dark-blue: hsl(219, 29%, 14%);
    --Black-: hsl(0, 0%, 7%);

}

body {
    background-color: var(--Grey-100);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px;
    font-family: "Barlow Semi Condensed", sans-serif;
    font-weight: 500;
}


.testimonial {
    width: 90%;
    min-height: 200px;
    padding: 30px;
    margin: 30px auto;
    border-radius: 10px;
    box-shadow: var(--Grey-400) 30px 30px 48px;
}

.personal {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 5px;
}

.photo {
    height: 30px;
    border-radius: 50%;
}


.name {
    font-size: 12px;
    font-weight: 500;
}

.gaduation {
    font-size: 10px;
    font-weight: 200;
}


.impression {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 10px;
}

.detail {
    font-size: 13px;
}

#daniel {
    color: var(--Grey-100);
    background-color: var(--Purple-500);

}

#daniel img {
    border: solid 2px var(--Purple-300);
}


#jonathan {
    color: var(--Grey-100);
    background-color: var(--Grey-500);
}

#jonathan img {
    border: solid 2px var(--Grey-400);
}

#jeanette {
    color: var(--Grey-500);
    background-color: var(--White);
}

#jeanette img {
    border: solid 2px var(--Grey-100);
}

#patrick {
    color: var(--Grey-200);
    background-color: var(--Dark-blue);
}

#patrick img {
    border: solid 2px var(--Purple-300);
}

#kira {
    color: var(--Grey-500);
    background-color: var(--White);
}

#kira img {
    border: solid 2px var(--Grey-100);
}

.modal-content .impression:hover,
.modal-content .detail:hover {
  /* background-color: var(--Purple-300); */
  text-shadow: 1px 1px 2px var(--Purple-300);
  transform: scale(1.05);
  transition: transform text-shadow .3s ease;
  z-index: 10;
  cursor: pointer;
}


.modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--Black-);
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  .modal.hidden {
    display: none;
  }
  
  .modal-content {
    background: var(--Purple-50);
    padding: 20px;
    border-radius: 10px;
    width: 90%;
    max-width: 600px;
    overflow: auto;
  }
  


.attribution {
    margin-top: 3rem;
    font-size: 11px;
    text-align: center;
}

.attribution a {
    color: var(--Purple-500);
}

@media (min-width: 768px) {

    body {
        min-height: 100vh; /* ocupa a altura total da tela */
        display: flex;
        justify-content: center; /* centraliza na horizontal (já tem, mas reforçamos) */
        align-items: center; /* centraliza na vertical */
      }
    .grid_container {
        width: 100%;
        max-width: 1200px; 
        margin: auto; 
        display: grid;
        grid-template-columns: repeat(4, 1fr);  /* fixo, para layout do desafio */
        grid-auto-rows: 1fr;  /* ou 1fr se quiser alturas iguais */
        
        align-self: stretch;
        justify-self: stretch;
        gap: 1.5rem;
    }

    .testimonial {
        margin: 0;
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        padding: 15px;
        box-sizing: border-box;
    }

    #daniel {
        grid-column: 1 / 3;
        grid-row: 1;  
    }

    #jonathan {
        grid-column: 3;
        grid-row: 1;
    }

    #kira {
        grid-column: 4;
        grid-row: 1 / 3;
    }

    #jeanette {
        grid-column: 1;
        grid-row: 2;
    }

    #patrick {
        grid-column: 2 / 4;
        grid-row: 2;
    }
}
