/* manrope-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: "Manrope";
    font-style: normal;
    font-weight: 500;
    src: url("./assets/fonts/manrope-v19-latin-500.woff2") format("woff2"),
        /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ url("./assets/fonts/manrope-v19-latin-500.ttf")
            format("truetype"); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* manrope-700 - 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: "Manrope";
    font-style: normal;
    font-weight: 700;
    src: url("./assets/fonts/manrope-v19-latin-700.woff2") format("woff2"),
        /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ url("./assets/fonts/manrope-v19-latin-700.ttf")
            format("truetype"); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
:root {
    --color-blue-500: hsl(217, 19%, 35%);
    --color-blue-300: hsl(214, 17%, 51%);
    --color-blue-100: hsl(212, 23%, 69%);
    --color-blue-50: hsl(210, 46%, 95%);
    --color-white: #fff;

    --font-sans: Manrope, sans-serif;
    --font-medium: 500;
    --font-bold: 700;

    --text-sm: 0.75rem;
    --text-md: 1rem;
    --text-lg: 1.25rem;

    --leading-none: 1;
    --leading-1: 0.25rem;
    --leading-5: 1.25rem;
    --leading-6: 1.5rem;
    --leading-7: 1.75rem;

    --tracking-loose: 0.01em;

    --rounded-full: 999px;
    --rounded-md: 0.625rem;
}
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
}
img,
picture,
video,
canvas,
svg {
    display: block;
    max-width: 100%;
}
button {
    font: inherit;
}
p,
h1,
h2,
h3,
h4,
h5,
h6 {
    overflow-wrap: break-word;
}
body {
    -webkit-font-smoothing: antialiased;
    line-height: var(--leading-none);
}
.sr-only {
    position: absolute;
    width: 0.1rem;
    height: 0.1rem;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0;
}
main {
    font-family: var(--font-sans);
    font-weight: var(--font-medium);
    letter-spacing: var(--tracking-main);
    background-color: var(--color-blue-50);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: 1.5rem;
}
.article__card {
    width: 100%;
    max-width: 25rem;
    background-color: var(--color-white);
    color: var(--color-blue-300);
    border-radius: var(--rounded-md);
    box-shadow: hsla(217, 19%, 35%, 10%) 0px 16px 48px 8px;
}
.article__image {
    width: 100%;
    max-height: 12.5rem;
    object-fit: cover;
    border-radius: var(--rounded-md) var(--rounded-md) 0 0;
}
.article__content {
    position: relative;
    letter-spacing: var(--tracking-loose);
    font-size: calc(var(--text-sm) + 1px);
    padding-inline: clamp(2rem, 2.036vw + 1.523rem, 2.5rem);
    padding-block: 2.25rem 1.25rem;
}
.article__title {
    color: var(--color-blue-500);
    margin-bottom: 0.75rem;
    line-height: calc(1em + 0.5rem);
    font-size: clamp(var(--text-md), 1.018vw + 0.761rem, var(--text-lg));
}
.article__description {
    margin-bottom: 2rem;
    line-height: var(--leading-5);
}
.article__footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.article-author__wrapper {
    display: flex;
    align-items: center;
}
.article-author__avatar {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: var(--rounded-full);
    margin-right: 1rem;
}
.article-author__name {
    color: var(--color-blue-500);
    font-weight: var(--font-bold);
    margin-bottom: 0.4375rem;
}
.article-share__content {
    border-radius: var(--rounded-md);
    position: absolute;
    display: none;
    align-items: center;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 1.375rem 2rem;
    background-color: var(--color-blue-500);
    transition: opacity 200ms ease;
    box-shadow: hsla(217, 19%, 35%, 10%) 0px 12px 24px 12px;
}
.article-share__label {
    color: var(--color-white);
    text-transform: uppercase;
    letter-spacing: 0.47em;
    font-size: 0.75rem;
    margin-right: 1.5rem;
}
.article-share__list {
    position: relative;
    z-index: 999;
    list-style: none;
    padding: 0;
    display: flex;
    gap: 1rem;
}
.article-share__link {
    width: 1.25rem;
    height: 1.25rem;
    display: flex;
    align-items: center;
}
.article-share__item a:focus-visible {
    outline: 2px dashed var(--color-white);
    outline-offset: 4px;
}
.article-share__btn {
    position: relative;
    z-index: 999;
    width: 2rem;
    height: 2rem;
    padding: 0.5625rem 0 0.625rem 0;
    border: none;
    cursor: pointer;
    background-color: var(--color-blue-50);
    border-radius: var(--rounded-full);
    display: flex;
    justify-content: center;
    transition-property: background-color, transform;
    transition-duration: 200ms;
    transition-timing-function: ease;
}
.article-share__btn svg {
    pointer-events: none;
}
.article-share__btn svg path {
    transition: fill 200ms ease;
}
.article-share__btn:focus-visible {
    outline: 2px dashed var(--color-blue-500);
    outline-offset: 4px;
}
.article-share__btn:active {
    transform: scale(0.95);
}
.article-share__btn[aria-expanded="true"] {
    background-color: var(--color-blue-300);
    transform: translateY(8px);
}
.article-share__btn[aria-expanded="true"] svg path {
    fill: var(--color-blue-50);
}
.article-share__btn[aria-expanded="true"] + .article-share__content {
    display: flex;
}
@media (prefers-reduced-motion) {
    .article-share__content {
        transition: none;
    }
    .article-share__btn {
        transition: none;
    }
    .article-share__btn svg path {
        transition: none;
    }
}
@media (hover: hover) {
    .article-share__btn:hover {
        background-color: var(--color-blue-500);
    }
    .article-share__btn[aria-expanded="true"]:hover {
        background-color: var(--color-blue-50);
    }
    .article-share__btn:hover svg path {
        fill: var(--color-white);
    }
    .article-share__btn[aria-expanded="true"]:hover svg path {
        fill: var(--color-blue-500);
    }
}
@media screen and (min-width: 42em) {
    .article__card {
        max-width: 45.625rem;
        display: flex;
    }
    .article__content {
        padding-block: 2rem;
    }
    .article__image {
        border-radius: var(--rounded-md) 0 0 var(--rounded-md);
        max-height: 100%;
        max-width: 17.8125rem;
        object-position: left;
    }
    .article__description {
        margin-bottom: 1.25rem;
    }
    .article-share__wrapper {
        position: relative;
    }
    .article-share__content {
        top: initial;
        left: initial;
        bottom: calc(100% + 1.75rem);
        right: 50%;
        transform: translateX(50%);
    }
    .article-share__content--shape {
        display: block;
        bottom: -0.5rem;
        position: absolute;
        width: 1.25rem;
        height: 1.25rem;
        left: 50%;
        transform: translateX(-50%) rotate(45deg);
        background-color: var(--color-blue-500);
    }
    .article-share__btn[aria-expanded="true"] {
        transform: none;
    }
}
