/* figtree-500 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: "Figtree";
    font-style: normal;
    font-weight: 500;
    src: url("./assets/fonts/figtree-v8-latin-500.woff2") format("woff2"),
        /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
            url("./assets/fonts/figtree-v8-latin-500.ttf") format("truetype"); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* figtree-800 - latin */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: "Figtree";
    font-style: normal;
    font-weight: 800;
    src: url("./assets/fonts/figtree-v8-latin-800.woff2") format("woff2"),
        /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
            url("./assets/fonts/figtree-v8-latin-800.ttf") format("truetype"); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
:root {
    --clr-yellow: hsl(47, 88%, 63%);
    --clr-white: hsl(0, 0%, 100%);
    --clr-grey: hsl(0, 0%, 50%);
    --clr-black: hsl(0, 0%, 7%);

    --font-main: "Figtree", sans-serif;
    --font-extrabold: 800;
    --font-medium: 500;

    --text-xsm: 0.75rem;
    --text-sm: 0.875rem;
    --text-base: 1rem;
    --text-md: 1.125rem;
    --text-md-2: 1.25rem;

    --leading-none: 1;
    --leading-lg: 1.5;

    --rounded-full: 9999px;
    --rounded-sm: 0.25rem;
    --rounded-md: 0.625rem;
    --rounded-lg: 1.25rem;
}
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
}
body {
    line-height: var(--leading-none);
    -webkit-font-smoothing: antialiased;
    background-color: var(--clr-yellow);
}
img,
picture,
video,
canvas,
svg {
    display: block;
    max-width: 100%;
}
input,
button,
textarea,
select {
    font: inherit;
}
p,
h1,
h2,
h3,
h4,
h5,
h6 {
    overflow-wrap: break-word;
}
.main__container {
    min-height: 100vh;
    padding-top: clamp(9.75rem, 20vw + 4rem, 13.6875rem);
    padding-bottom: clamp(9.6875rem, 20vw + 4rem, 13.6875rem);
    font-weight: var(--font-medium);
    font-family: var(--font-main);
    font-size: var(--text-base);
    line-height: var(--leading-lg);
}
.card {
    position: relative;
    width: min(100vw - 3rem, 24rem);
    margin: 0 auto;
    padding: 1.4375rem;
    border: 1px solid var(--clr-black);
    background-color: var(--clr-white);
    border-radius: var(--rounded-lg);
}
.card > * + * {
    margin-top: 1.5rem;
}
.card__backdrop {
    z-index: -1;
    display: block;
    position: absolute;
    content: "";
    bottom: -0.5625rem;
    right: -0.5625rem;
    width: 100%;
    height: 100%;
    transition: 250ms ease-in-out;
    background-color: var(--clr-black);
    border-radius: var(--rounded-lg);
}
.card__image {
    width: 100%;
    height: 12.5rem;
    object-fit: cover;
    border-radius: var(--rounded-md);
}
.card__content > * + * {
    margin-top: 0.75rem;
}
.card__category {
    display: block;
    width: fit-content;
    border-radius: var(--rounded-sm);
    padding: 0.25rem 0.75rem;
    background-color: var(--clr-yellow);
    font-size: var(--text-xsm);
    font-weight: var(--font-extrabold);
}
.card__publish {
    display: block;
    font-size: 0.75rem;
}
.card__title {
    font-weight: var(--font-extrabold);
    font-size: var(--text-md-2);
}
.card__title--link {
    color: var(--clr-black);
    text-decoration: none;
    transition: color 200ms ease;
}
.card__description {
    font-size: var(--text-sm);
    color: var(--clr-grey);
}
.card__author {
    display: flex;
    align-items: center;
    justify-content: start;
}
.card__author__image {
    width: 2rem;
    height: 2rem;
    margin-right: 0.75rem;
}
.card__author__name {
    font-size: var(--text-sm);
    font-weight: var(--font-extrabold);
    color: var(--clr-black);
}
@supports selector(:focus-visible) {
    a:focus-visible {
        outline: 2px solid var(--clr-black);
        outline-offset: 4px;
        box-shadow: var(--clr-yellow) 0 0 0 2px;
    }
}
@media (hover: hover) {
    .card__title:hover .card__title--link {
        color: var(--clr-yellow);
    }

    .card__title:hover + .card__backdrop {
        right: -1rem;
        bottom: -1rem;
    }
}
@media screen and (min-width: 30em) {
    .card__title {
        font-size: 1.5rem;
    }
    .card__description {
        font-size: 1rem;
    }

    .card__publish,
    .card__category {
        font-size: 0.875rem;
    }
}
