

.sectionlabel {
    color: #AD3568;
}

body {
    font-size: 15px;
    margin: 0;
    background: #FFF1DF;
    color: #3B2343;
    font-family: "IBM Plex Sans", sans-serif;
    line-height: 1.7;
}

a {
    color: #AD3568;
}

h1, h2 {
    font-family: "Roboto Slab", serif;
}

.page {
    max-width: 1080px;
    margin: auto;
    padding: 36px 28px 80px;
}

.columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 54px;
}

.leftcolumn, .rightcolumn {
    display: flex;
    flex-direction: column;
    gap: 42px;
    min-width: 0;
}

.title {
    position: relative;
    height: 365px;
    background: #d0a984;
    box-shadow: 10px 10px 0 #FF6B35;
}

.title img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 54%;
}

.actualTitle {
    position: absolute;
    top: 30px;
    left: 27px;
    max-width: calc(100% - 54px);
    padding: 19px 23px 23px;
    background: #FFC857;
    box-shadow: 6px 6px 0 #F04E89;
}

.actualTitle p {
    margin: 0 0 12px;
    color: #3B2343;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.6px;
}

.actualTitle h1 {
    margin: 0;
    font-size: clamp(38px, 5vw, 59px);
    line-height: 1.06;
    letter-spacing: -1.8px;
}

.details {
    min-height: 365px;
    padding: 20px 0 0;
}

.details .sectionlabel {
    margin-bottom: 13px;
}

.author {
    margin: 0 0 28px;
    font-family: "Roboto Slab", serif;
    font-size: 20px;
    color: #3B2343
}

.author strong {
    font-weight: 700;
}

.quick-facts {
    max-width: 335px;
}

.fact {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 9px 0;
    border-bottom: 1px solid #F5B5A5;
}

.fact span {
    color: #684A70;
}

.fact strong {
    font-weight: 600;
    color: #3B2343
}


.rating {
    display: flex;
    align-items: center;
    margin-bottom: 11px;
    margin-top: 8px;
    gap: 13px;

}

.stars {
    color: #F04E89;
    font-size: 24px;
    line-height: 1;
    letter-spacing: 1px;
}

.introduction {
    padding: 0 0 4px;
}

.introduction h2 {
    font-size: 29px;
    line-height: 1.35;
    margin: 0 0 17px;
    color: #3B2343;
}

.introduction p {
    margin: 0 0 15px;
    color: #513B58;
    line-height: 1.85;
}

.card {
    background: #F3E8FF;
    border: 1px solid #9673C8;
    padding: 32px 34px 36px;
    box-shadow: 9px 9px 0 1px #F04E89;
}

.card h2, .tips h2 {
    margin: 7px 0 8px;
    font-size: 32px;
    line-height: 1.2;
    color: #3B2343;
}

.subheading {
    margin: 0 0 20px;
    color: #3B2343;
    font-size: 13px;
}

.ingredients {
    background: #F3E8FF;
}

.ingredients ul {
    margin: 0;
    padding-left: 20px;
}

.ingredients li {
    padding-left: 3px;
    margin: 0 0 13px;
    line-height: 1.62;
    color: #3B2343;
}

.ingredients li::marker {
    color: #F04E89;
}

.steps {
    background: #F3E8FF;
}

.steps ol {
    list-style: none;
    padding: 0;
    margin: 0;
}

.steps li {
    border-top: 1px solid #F04E89;
    padding: 21px 0;
}

.steps li:last-child {
    padding-bottom: 0;
}

.steps h3 {
    margin: 0 0 7px;
    color: #F04E89;
    font-size: 15px;
    font-weight: 700;
}

.steps li p {
    margin: 0;
    line-height: 1.78;
}


.tips {
    border-top: 2px solid #F04E89;
    padding: 21px 4px 0;
}

.tips h2 {
    color: #3B2343;
    margin-bottom: 14px;
}

@media (max-width: 640px) {

    .page {
        padding: 25px 20px 55px;
    }

    .columns {
        display: flex;
        flex-direction: column;
        gap: 34px;
    }

    .leftcolumn, .rightcolumn {
        display: contents;
    }

    .title {
        order: 1;
    }

    .details {
        order: 2;
    }

    .introduction {
        order: 3;
    }

    .ingredients {
        order: 4;
    }

    .steps {
        order: 5;
    }

    .tips {
        order: 6;
    }

    .title {
        height: 280px;
        box-shadow: 7px 7px 0 #FF6B35;
    }

    .actualtitle {
        top: 22px;
        left: 20px;
        padding: 16px 18px 18px;
    }

    .actualtitle h1 {
        font-size: 43px;
    }

    .details {
        min-height: 0;
        padding: 0;
    }

    .author {
        margin-bottom: 18px;
    }

    .quickfacts {
        max-width: none;
    }

    .introduction h2 {
        font-size: 24px;
    }

    .card {
        padding: 27px 25px 30px;
        box-shadow: 6px 6px 0 #F04E89;
    }

    .card h2, .tips h2 {
        font-size: 28px;
    }
}