/********************
* FONTS
********************/

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

/********************
* RESET
********************/

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

img {
    max-width: 100%;
    display: block;
}

/********************
* VARIABLES
********************/

:root {
    /* Colours */
    --yellow: #f4d04e;
    --grey-500: #6b6b6b;
    --grey-950: #111;
    --white: #fff;
    /* Typography: Font sizes */
    --font-fs-xs: 0.75rem;
    --font-fs-sm: 0.875rem;
    --font-fs-md: 1rem;
    --font-fs-lg: 1.25rem;
    --font-fs-xl: 1.5rem;
    /* Typography: Font weights */
    --font-fw-md: 500;
    --font-fw-xb: 800;
    /* Spacing */
    --spacing-50: 0.25rem;
    --spacing-100: 0.5rem;
    --spacing-150: 0.75rem;
    --spacing-300: 1.5rem;
}

/********************
* BASE
********************/

body {
    background-color: var(--yellow);
    font-family: "Figtree", sans-serif;
    line-height: 150%;
    font-weight: var(--font-fw-md);
    letter-spacing: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.main {
    margin-block: auto;
}

/********************
* CARD
********************/

.card {
    background-color: var(--white);
    padding: 1.5rem;
    border-radius: 20px;
    width: clamp(327px, 87.2vw, 384px);
    color: var(--grey-950);
    border: solid 1px var(--grey-950);
    box-shadow: #000 8px 8px;
}

.card-main-img,
.card-category,
.card-pub-date,
.card-title {
    margin-bottom: var(--spacing-150);
}

.card-category,
.card-pub-date {
    /* 12px -> 14px */
    font-size: clamp(var(--font-fs-xs), 3.2vw, var(--font-fs-sm));
}

.card-main-img {
    border-radius: 10px;
    margin-bottom: var(--spacing-300);
}

.card-category {
    display: inline-block;
    background-color: var(--yellow);
    padding: var(--spacing-50) var(--spacing-150);
    border-radius: 4px;
}

.card-title a {
    text-decoration: none;
    color: var(--grey-950);
    /* 20px -> 24px */
    font-size: clamp(var(--font-fs-lg), 5.3vw, var(--font-fs-xl));
}

@media (hover: hover) {
    /* Only apply when hover is supported */
    .card-title a:hover {
        color: var(--yellow);
        cursor: pointer;
    }
}

.card-description {
    color: var(--grey-500);
    margin-bottom: var(--spacing-300);
    /* 14px -> 16px */
    font-size: clamp(var(--font-fs-sm), 3.7vw, var(--font-fs-md));
}

.footer-card {
    display: flex;
    align-items: center;
    gap: var(--spacing-150);
}

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

.card-author {
    font-weight: var(--font-fw-xb);
    font-size: var(--font-fs-sm);
}

/********************
* FOOTER
********************/

.footer-main {
    margin-bottom: 1rem;
    text-align: center;
}

.attribution {
    font-size: 0.75rem;
}
.attribution a {
    color: hsl(228, 45%, 44%);
}
