:root{
    --bg:hsl(30, 54%, 90%);
    --main-bg:hsl(0, 0%, 100%);
    --title:hsl(24, 5%, 18%);
    --text:hsl(30, 10%, 34%);
    --header-title:hsl(332, 51%, 32%);
    --header-title-bg:hsl(330, 100%, 98%);
    --subtitle:hsl(14, 45%, 36%);
    --hr-color:hsl(30, 54%, 90%);
}
@font-face {
    font-family:Outfit;
    src: url(assets/fonts/outfit/Outfit-VariableFont_wght.ttf);
    font-weight: 100 900;
}
@font-face {
    font-family:Young-Serif;
    src: url(assets/fonts/young-serif/YoungSerif-Regular.ttf);
    font-weight: 100 900;
}
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box; 
}
body{
    background-color: var(--bg);
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-family: 'Outfit', Segoe UI, Tahoma, Geneva, Verdana, sans-serif;
    font-size: clamp(1rem ,2vw+1rem,1.2rem);
    color: var(--text);
    line-height: 1.5;
}
main{
    background-color: var(--main-bg);
    display: flex;
    flex-direction: column;
    align-items:center;
    justify-content:center;
    border-radius: 30px;
    width: 100%;
    max-width: 700px;
    margin: 1rem auto;
    padding: 1rem;
}
.dish-img img{
    width: 100%;
    max-width: 630px;
    border-radius: 15px;
    margin-top: 1rem;
}
.intro,
.instructions,
.nutrition{
    padding: 0.5rem 1.2rem;
}
.intro h1{
    font-family: 'Young-Serif',Segoe UI, Tahoma, Geneva, Verdana, sans-serif;
    margin:0.7rem 0;
    color:var(--title);
}
.intro p{color: var(--text);}
.preparation-time{
    margin: 1.5rem 0;
    background-color:var(--header-title-bg);
    padding: 2rem;
    border-radius: 15px;
}
.preparation-time h3{
    color: var(--header-title);
    font-weight: 700;
}
.preparation-time ul li{
    margin-top: 0.5rem;
    list-style: inside;
    color: var(--text);
}
.preparation-time ul li::marker{
    color:var(--header-title);
}
.preparation-time ul li b{ font-weight: 700;}
.subtitle{
    color: var(--subtitle);
    font-family: 'Young-Serif',sans-serif;
}
.ingredients ul li {
    margin-top: 0.5rem;
    list-style-type: square; 
    list-style-position: inside;
}
.ingredients ul li::marker{color: var(--subtitle);}
.divider {
  border: none;
  border-top: 2px solid var(--hr-color);
  width:95%;         
  margin: 20px auto;       
}
.instructions ol{margin:0 1rem;}
.instructions ol li{padding-top: 0.5rem;}
.nutrition{align-self: flex-start; }
.nutrition table{
    width: 100%;
    margin: 1rem 0;
    text-align: left;
}
.nutrition table tr td{
    border-bottom: 2px solid var(--hr-color);
    padding: 1rem 0;
}
.nutrition table tr .kcal{
    color: var(--subtitle);
    font-weight: 700;
}
.attribution { font-size: 11px; text-align: center; }
.attribution a { color: hsl(228, 45%, 44%); }