@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,700&family=Montserrat:wght@500;700&display=swap');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --darkCyan: hsl(158, 36%, 37%);
    --cream: hsl(30, 38%, 92%);
    --veryDarkBlue: hsl(212, 21%, 14%);
    --darkGrayishBlue: hsl(228, 12%, 48%);
    --white: hsl(0, 0%, 100%);
}

html {
    font-size: 62.5%;
}

body {
    font-family: 'Montserrat', sans-serif;
    background-color: var(--cream);
}

.container {
    padding: 2.8rem 1.5rem;
}

.container .wrapper {
    background-color: var(--white);
    border-radius: .7rem;
    display: flex;
    flex-direction: column;
}

.container .wrapper .product-image .desktop-img {
    display: none;
}

.container .wrapper .product-image .mobile-img {
    width: 100%;
    max-height: 30rem;
    object-fit: cover;
    object-position: 100% 40%;
    border-radius: .7rem .7rem 0 0;
}

.container .wrapper .product-description{
    padding: 2.5rem;
}
.container .wrapper .product-description h4{
    letter-spacing: .4rem;
    font-size: 1.4rem;
    font-weight: 500;
    color: var(--darkGrayishBlue);
}
.container .wrapper .product-description h1{
    font-family: 'Fraunces', serif;
    font-size: 3rem;
    margin: 2rem 0;
}
.container .wrapper .product-description p{
    font-size: 1.4rem;
    line-height: 1.8;
    color: var(--darkGrayishBlue);
}

.container .wrapper .product-description .pricing{
    display: flex;
    align-items: center;
    gap: 2rem;
    margin-top: 3.5rem;
    margin-bottom: 2.3rem;
}
.container .wrapper .product-description .pricing h2{
    font-family: 'Fraunces', serif;
    font-size: 3rem;
    color: var(--darkCyan);
}
.container .wrapper .product-description .pricing span{
    font-size: 1.6rem;
    color: var(--darkGrayishBlue);
    text-decoration: line-through;
}

.container .wrapper .product-description .btn{
    background-color: var(--darkCyan);
    text-decoration: none;
    color: var(--white);
    border-radius: .7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    font-weight: 700;
    font-size: 1.6rem;
    max-width: 29.5rem;
    height: 4.8rem;
    margin-left: auto;
    margin-right: auto;
    transition: all .3s ease;
}

.container .wrapper .product-description .btn:hover {
    background-color: hsl(158, 36%, 23%);
}

@media(min-width: 628px){
    body {
        display: grid;
        place-content: center;
        min-height: 100vh;
    }

    .container .wrapper {
        flex-direction: row;
        max-width: 70rem;
    }

    .container .wrapper .product-image {
        flex-basis: 50%;
    }

    .container .wrapper .product-image .mobile-img {
        display: none;
    }

    .container .wrapper .product-image .desktop-img {
        display: block;
        border-radius: .7rem 0 0 .7rem;
        max-width: 100%;
        height: 100%;
        display: inherit;
    }

    .container .wrapper .product-description{
        flex-basis: 50%;
    }
    .container .wrapper .product-description h1{
        font-size: 4rem;
    }
    .container .wrapper .product-description p{
        font-size: 1.6rem;
        max-width: 28rem;
    }
}