@font-face {
    font-family: "Outfit";
    src: url("../assets/fonts/outfit/Outfit-VariableFont_wght.ttf");
    font-weight: 400;
}

@font-face {
    font-family: "Outfit";
    src: url("../assets/fonts/outfit/Outfit-VariableFont_wght.ttf");
    font-weight: 600;
}

@font-face {
    font-family: "Outfit";
    src: url("../assets/fonts/outfit/Outfit-VariableFont_wght.ttf");
    font-weight: 700;
}

@font-face {
    font-family: "YoungSerif";
    src: url("../assets/fonts/young-serif/YoungSerif-Regular.ttf");
    font-weight: 400;
}

:root {
    --color-white: hsl(0, 0%, 100%);
    --color-stone-100: hsl(30, 54%, 90%);
    --color-stone-150: hsl(0, 0%, 0%);
    --color-stone-600: hsl(30, 10%, 34%);
    --color-stone-900: hsl(30, 10%, 18%);
    --color-brown-800: hsl(14, 45%, 36%);
    --color-rose-800: hsl(332, 51%, 32%);
    --color-rose-50: hsl(330, 100%, 98%);
    --font-size-paragraph: 0.7rem;
}

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

img {
    display: block;
    max-inline-size: 100%;
    margin-block-end: 20px;
}

ul, ol {
    margin-block-end: 20px;
    list-style-position: outside;
}

p, li, caption, tbody, th {
    color: var(--color-stone-900);
    font-family: "Outfit" , sans-serif;
    font-weight: 400;
    font-size: var(--font-size-paragraph);
}

li {
    margin-inline-start: 20px;
    padding-inline-start: 10px;
    line-height: 1.5rem;
}

p {
    line-height: 1rem;
}

tbody {
    line-height: 1.5rem;
}

li::marker {
    color: var(--color-brown-800);
    font-family: "Outfit" , sans-serif;
    font-weight: 700;
}

h1 {
    font-size: 1.5rem;
    color: var(--color-stone-900);
    font-family: "YoungSerif" , sans-serif;
    font-weight: 400;
    line-height: 3rem;
}

h2 {
    font-size: 1.25rem;
    color: var(--color-brown-800);
    font-family: "YoungSerif" , sans-serif;
    font-weight: 400;
    line-height: 3rem;
}

h3 {
    font-size: 1rem;
    color: var(--color-rose-800);
    font-family: "Outfit" , sans-serif;
    font-weight: 700;
    margin-block-end: 10px;
}

hr {
    border: 1px solid var(--color-rose-50);
}

table {
    table-layout: fixed;
    width: 100%;
    text-align: left;
    border-collapse: collapse;
}

caption {
    text-align: left;
    margin-block-end: 20px;
}

tr {
    border-bottom: 1px solid var(--color-rose-50);
}

tr:last-child {
    border-bottom: none;
}

tr:hover, tr:active {
    border-bottom: 1px solid var(--color-rose-800);
}

th {
    padding-inline-start: 30px;
}

td {
    font-weight: 700;
    color: var(--color-brown-800);
}

ol li {
    line-height: 1rem;
    margin-block-end: 5px;
}

.container {
    display: flex;
    justify-content: center;
    background-color: var(--color-stone-100);
}

header img {
    border-radius: 10px;
}

.recipe-page {
    max-inline-size: 490px;
    padding: 20px;
    margin-block: 78px;
    background-color: var(--color-white);
    border-radius: 20px;
}

.preparation-time {
    background-color: var(--color-rose-50);
    border-radius: 5px;
    padding: 20px;
    margin-block-start: 20px;
}

.preparation-time ul {
    margin: 0;
}

.preparation-time li::marker {
    color: var(--color-rose-800);
}

.attribution {
    margin-block-start: 20px;
    font-size: 11px;
    text-align: center;
}

.attribution a {
    color: hsl(228, 45%, 44%);
}

@media (width < 376px) {
    .recipe-page {
        padding: 0;
        border-radius: 0;
        margin-block: 0;
    }

    header img {
        border-radius: 0;
    }

    .recipe-page main {
        padding: 20px;
    }
}