@import url(./assets/variables.css);

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-size: 1rem;
    background-color: var(--Teal-100);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    align-items: center;
    justify-content: center;
}

@media screen and (min-width:43.75rem) {
    body {
        font-size: 1.125em;
    }
}

main {
    width: 90%;
    background-color: var(--White);
    border-radius: .75em;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr;

    & .header {
        display: flex;
        flex-direction: column;
        gap: 1.5em;
        padding: 1.25em;

        & .header__title {
            color: var(--Teal-500);
            font-family: var(--karla);
            font-weight: 600;
            font-size: 1.5em;
        }

        & .header__text {
            display: flex;
            flex-direction: column;
            gap: .5em;
            font-family: var(--karla);
            & .warranty {
                color: var(--Green-400);
                font-weight: 600;
                text-wrap: balance;
            }

            & .header__description {
                color: var(--Gray);
                font-weight: 400;
            }
        }

        @media screen and (min-width:700px) {
            & {
                padding: 1.75em;
                width: 92%;
            }
        }
    }

    & .subscription__container {

        & .subscription {
            display: flex;
            flex-direction: column;
            gap: 1.25em;
            background-color: var(--Teal-500);
            padding: 20px;

            & .subscription__details {
                color: var(--White);
                font-family: var(--karla);

                & .subscription__title {
                    font-size: 1.125em;
                    padding-bottom: 1em;
                }

                & .subscription__price {
                    font-size: 2em;
                    font-weight: 600;
                    display: flex;
                    align-items: center;
                    gap: .5em;
                    span {
                        font-size: 1rem;
                        font-weight: 400;
                        opacity: 0.5;
                    }
                }

                & .subscription__descripcion {
                    font-size: 1em;
                }
            }

            & .subscription__registration {
                width: 100%;
                text-decoration: none;
                font-family: var(--karla);
                font-weight: 600;
                color: var(--White);
                display: block;
                background-color: var(--Green-400);
                text-align: center;
                padding: .875em;
                border-radius: .75em;
                box-shadow: 0 5px 2px 2px black;
                transform: translate(-5px,-5px);
                transition: all 0.4s ease;
                &:hover{
                    transform: translate(0px,0px);
                }
            }
        }

        & .details__plan {
            background-color: var(--Teal-400);
            display: flex;
            flex-direction: column;
            gap: 1em;
            padding: 1.25em;
            font-family: var(--karla);
            color: var(--White);

            & .detail__title {
                font-weight: 600;
                font-size: 1.125em;
            }

            & .detail__text {
                width: 75%;
                opacity: 0.5;
                line-height: 1.6;
                font-size: .875em;
                font-weight: 400;
            }
        }

        @media screen and (min-width:700px) {
            & {
                display: grid;
                grid-template-columns: 1fr 1fr;

                & .subscription {
                    & .subscription__details{
                        text-align: start;
                    }
                }
            }   
        }
    }

    @media screen and (min-width:43.75rem) {
        & {
            max-width: 45rem;
            grid-template-rows: auto 1fr;
        }
    }
}