:root {
    --yellow: hsl(47, 88%, 63%);
    --white: hsl(0, 0%, 100%);
    --gray-500: hsl(0, 0%, 42%);
    --gray-950: hsl(0, 0%, 7%);
}

@font-face {
    font-family: 'Figtree';
    src: url('./assets/fonts/Figtree-VariableFont_wght.ttf') format('truetype');
}

body {
    background-color: var(--yellow);
    font-family: 'Figtree', serif;
    font-style: normal;
    line-height: 150%;
}

.attribution {
    font-size: 0.8rem;
    text-align: center;
    bottom: 0.5vh;
    width: 100%;
}

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

.container {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 95vh;
    gap: 2rem;
}

.card {
    box-shadow: 0.5rem 0.5rem 0 #000000;
    border-radius: 1.25rem;
    border: 0.0625rem solid #111111;
    background-color: var(--white);
    display: flex;
    width: min-content;
    flex-direction: column;
    justify-content: center;
    gap: 1.5rem;
    padding: 1.5rem;
}

.card-image {
    width: clamp(17.4375rem, 74vw, 21rem);
    height: 12.5rem;
    border-radius: 0.625rem;
    object-fit: cover;
}

.card-content {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.card-heading, .card-description {
    margin: 0;
}

.card-category {
    background: var(--yellow);
    border-radius: 0.25rem;
    padding: 0.25rem 0.75rem;
    align-self: start;
    font-weight: 700;
    font-size: clamp(0.75rem, 3vw, 0.875rem);
    color: var(--gray-950);
}

.card-published {
    font-weight: 400;
    font-size: clamp(0.75rem, 3vw, 0.875rem);
    color: var(--gray-950);
}

.card-heading a {
    font-weight: 800;
    font-size: clamp(1.25rem, 4vw, 1.5rem);
    color: var(--gray-950);
    text-decoration: none;
}

.card-heading a:hover {
    color: var(--yellow);
}

.card-description {
    font-weight: 400;
    font-size: clamp(0.875rem, 3vw, 1rem);
    color: var(--gray-500);
}

.card-author {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.card-author img {
    width: 32px;
    height: 32px;
}

.author-name {
    font-weight: 700;
    font-size: 0.875rem;
    color: var(--gray-950);
}
