@import url('https://fonts.googleapis.com/css2?family=Overpass:wght@400;700&display=swap');

*{
    margin: 0;
    padding: 0;
}

:root{
    --orange: 25, 97%, 53%;
    --white: 0, 0%, 100%;
    --light-gray: 217, 12%, 63%;
    --medium-gray: 216, 12%, 54%;
    --dark-blue: 213, 19%, 18%;
    --very-dark-blue: 216, 12%, 8%;
}

body{
    position: relative;
    font-family: 'Overpass', sans-serif;
    min-height: 100svh;
    width: 100svw;
    overflow-x: hidden;
    display: flex;
    align-items: center;
    background-color: hsl(var(--very-dark-blue));
}

main{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.feedback{
    aspect-ratio: 5/6;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: min(90%, 20rem);
    color: hsl(var(--light-gray));
    border-radius: 1.5rem;
    overflow: hidden;
}

.feedback>div{
    --padding: 7%;
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% - var(--padding) * 2);
    height: calc(100% - var(--padding) * 2);
    border-radius: 1.5rem;
    padding: var(--padding);
    background-color: hsl(var(--dark-blue));
}

.feedback>.rate{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    z-index: 2;
    transform: translateX(0%);
    transition: transform 0.5s ease-in-out;
}

.feedback>.rate.hidden{
    transform: translateX(-100%);
}

.feedback>.rate .star{
    display: grid;
    place-items: center;
    background-color: hsla(var(--medium-gray), 0.1);
    border-radius: 5rem;
    padding: 1rem;
    aspect-ratio: 1/1;
    width: 1rem;
}

.feedback>.rate .star img{
    height: 100%;
}

.feedback>.rate h2{
    color: hsl(var(--white));
}

.feedback>.rate .form{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-top: 5%;
    height: 35%;
}

.feedback>.rate .form .rating{
    display: flex;
    justify-content: space-between;
}

.feedback>.rate .form .rating>label{
    position: relative;
    display: grid;
    place-items: center;
    aspect-ratio: 1/1;
    width: 17.5%;
    background-color: hsla(var(--medium-gray), 0.1);
    border-radius: 5rem;
    cursor: pointer;
    transition: background-color 0.3s ease-in-out, color 0.5s ease-in-out, scale 0.5s ease-in-out;
}

.feedback>.rate .form .rating>label:hover{
    scale: 1.05;
    color: hsl(var(--white));
    background-color: hsl(var(--medium-gray));
}

.feedback>.rate .form .rating>label:has(input:checked){
    scale: 1.075;
    color: hsl(var(--white));
    background-color: hsl(var(--orange));
}

.feedback>.rate .form .rating>label>input[type="radio"]{
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    cursor: pointer;
}

.feedback>.rate .form button#submit{
    height: 35%;
    text-transform: uppercase;
    background-color: hsl(var(--orange));
    border: none;
    border-radius: 5rem;
    color: hsl(var(--white));
    font-family: 'Overpass', sans-serif;
    font-weight: 400;
    font-size: 1rem;
    letter-spacing: 0.2rem;
    cursor: pointer;
    transition: background-color 0.2s ease-in-out, color 0.3s ease-in-out;
}

.feedback>.rate .form button#submit:hover{
    background-color: hsl(var(--white));
    color: hsl(var(--orange));
}

.thanks{
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
}

.thanks>.rating-display{
    padding: 0.5rem 0.8rem;
    background-color: hsla(var(--medium-gray), 0.065);
    color: hsl(var(--orange));
    font-size: 0.9rem;
    border-radius: 5rem;
}

.thanks>h2{
    color: hsl(var(--white));
}

.thanks>p{
    text-align: center;
}