@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Space+Mono:wght@400;700&family=Trispace:wght@100;200;300;400;500;600;700;800&display=swap');
:root{
    --color1: #ffffff;
    --color2: #000000;
    --color3: #dfdfdf;

    --color4: hsl(172, 67%, 45%);
    --color5: hsl(183, 100%, 15%);
    --color6: hsl(186, 14%, 43%);
    --color7: hsl(184, 14%, 56%);
    --color8: hsl(185, 41%, 84%);
    --color9: hsl(189, 41%, 97%);
 
    --fuente1: 'Space Mono', monospace;
    --fuente2: 'Space Grotesk', sans-serif;
    --fuente3: 'Trispace', sans-serif;


    --mobile: 375px;
    --desktop: 1440px;
}
*,
*::after,
*::before{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}
html{
    font-size: 16px;
}
body{
    font-family: var(--fuente1);
    font-weight: 400;
    background-color: var(--color8);
}
.container{
    width: 90%;
    max-width: 62.5rem;
    margin: 1rem auto;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: center;
}
.title{
    width: 6rem;
    margin: 2rem 0rem 2rem;
}
.title__text{
    width: inherit;
    font-size: 1.5rem;
    text-transform: uppercase;
    color: var(--color5);
    overflow-wrap: break-word; 
    letter-spacing: 6px;
    font-family: var(--fuente1);
    font-weight: 700;
    
}
/* Calc */
.app{
    width: 100%;
    max-width: 48rem;
    min-width: 22rem;
    height: 25rem;
    background-color: var(--color1);
    border-radius: 1rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr;
    padding: 2rem;
    gap: 1.75rem;
}
.app__calc{
    background-color: #ffffff;
    display: grid;
    grid-template-columns: 1fr;
    /* grid-template-rows: 4rem 1fr 4rem; */
    grid-template-rows: auto;
    gap: 1rem;
}
.app__bill, 
.app__select-tip, 
.app__number-people{
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1.5rem 1fr;
}
.app__legend{
    font-size: .75rem;
    color: var(--color6);
    font-family: var(--fuente1);
    font-weight: 400;
    align-self:center;
}
.app__input-field{
    width: 100%;
    height: 100%;
    position: relative;
}
.app__input{
    border: none;
    outline: none;
    width: 100%;
    height: 100%;
    background-color: var(--color9);
    border-radius: .25rem;
    padding: 0rem 1rem 0rem 3rem;
    text-align: right;
    font-size: 1.125rem;
    color: var(--color5);
    letter-spacing: 1px;
    font-family: var(--fuente1);
    font-weight: 700;
    cursor: pointer;
}
.app__input::placeholder{
    color: var(--color6);
    font-family: var(--fuente1);
    font-weight: 700;
}
.app__input:focus{
    outline: 2px solid var(--color4);
}
.app__icon{
    position: absolute;
    top: 50%;
    left: 1rem;
    width: 1rem;
    transform: translateY(-50%);
}
.app__buttons{
    width: 100%;
    height: 100%;
    display: grid;
    grid-template-columns:repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 0.75rem 1rem;
    align-items: center;
}
.app__button{
    width: 100%;
    height: 2.65rem;
    background-color: var(--color5);
    color: var(--color1);
    font-family: var(--fuente1);
    font-weight: 500;
    font-size: 1.125rem;
    letter-spacing: 1px;
    cursor: pointer;
    border: none;
    outline: none;
    border-radius: .25rem;
}
.app__button--active{
    background-color: var(--color4);
    color: var(--color5);
    font-weight: 700;
}
.app__button--align-start{
    align-self: flex-start;
}
.app__custom{
    width: 100%;
    height: 100%;
    font-family: var(--fuente1);
    font-weight: 700;
    font-size: 1.125rem;
    width: 100%;
    height: 2.65rem;
    letter-spacing: 1px;
    cursor: pointer;
    border: none;
    border-radius: .25rem;
    background-color: var(--color9);
    text-align: end;
    color: var(--color5);
    border: none;
    outline: none;
    padding: .25rem;
}
.app__custom::placeholder{
    color:var(--color5);
    font-family: var(--fuente1);
    font-weight: 700;
    text-align: center;
}
.app__custom:focus{
    outline: 2px solid var(--color4);
}
.app__legends{
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: space-between;
}
.app__legend--advise{
    color: tomato;
    
}
.app__legend--advise-people{display: none;}
.app__legend--advise-tip{display: none;}
.app__legend--advise-bill{display: none;}

/* Result */
.app__result{
    background-color: var(--color5);
    border-radius: inherit;
    padding: 1.85rem;
    display: grid;
    grid-template-columns: 10rem 1fr;
    grid-template-rows: 5rem 5rem 1fr;
    gap: 1rem 0rem;
}
.app__tip, 
.app__total{
    grid-area: 1/1/2/-1;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
}
.app__total{ grid-area: 2/1/3/-1;}

.app__tip-amount-text, 
.app__total-amount-text{
    grid-area: 1/1/2/2;
    color: var(--color1);
    align-self: flex-end;
    justify-self: flex-start;
}

.app__tip-person, 
.app__total-person{
    grid-area: 2/1/-1/2;
    align-self: flex-start;
    justify-self: flex-start;
    color: var(--color7);
    font-size: .85rem;
}
.app__tip-amount-value, 
.app__total-amount-value{
    grid-area: 1/2/-1/-1;
    align-self: center;
    justify-self: flex-end;
    font-size: 2rem;
    color: var(--color4);
}
.app__reset{
    grid-area: 3/1/-1/-1;
    display: flex;
    align-items: flex-end;
}
.app__btn-reset{
    width: 100%;
    height: 2.75rem;
    font-family: var(--fuente1);
    font-weight: 700;
    font-size: 1.125rem;
    text-transform: uppercase;
    border: none;
    outline: none;
    background-color: var(--color4);
    color: var(--color5);
    cursor: pointer;
    border-radius: .25rem;
}

/** Media Queries **/
@media screen and (max-width:576px){
    .title{
        width: 6rem;
        margin: 1rem 0rem;
    }
    .app{
        grid-template-columns: 1fr;
        grid-template-rows: 1fr 1fr;
        height: auto;
    }
}

@media screen and (max-width:768px){
    html{
        font-size: 12px;
    }
}

@media screen and (min-width:768px) and (max-width:992px){
    html{
        font-size: 14px;
    }
}



