main {
    padding-block-start: var(--space-xl);
    position: relative;
}

article {
    display: flex;
    flex-direction: column;
    width: 90%;
    padding-block: var(--space-block);
    max-width: var(--container-xl);
    margin-inline: auto;
    gap: var(--space-l);
}

article h1 {
    font-size: clamp(2.75rem, 2.25rem + 1.5vw, 3.75rem)
}

article h2 {
    font-family: var(--font-display);
    font-size: clamp(1.825rem, 1rem + 1vw, 2rem);
    line-height: var(--leading-snug);
    margin-block: 1.25em .375em;
    font-weight: var(--font-semibold);
}

article p {
    font-size: clamp(1.05rem, 1rem + .25vw, 1.175rem);
    line-height: var(--leading-relaxed);
}

.post__header {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: var(--space-m);
    max-width: var(--container-lg);
    margin: 0 auto;
}

.post__meta time {
    font-size: var(--font-size-negative);
    color: var(--color-lime);
    background-color: var(--color-dark);
    padding: .325em .5em;
    border-radius: 3px;
    text-transform: uppercase;
    letter-spacing: .05em;
    font-weight: 300;
}

.post__description {
    font-size: var(--font-size-body);
    line-height: var(--leading-normal);
    max-width: var(--container-sm);
    margin: 0 auto;
}

.post__featured-image {
    aspect-ratio: 16/9;
    overflow: hidden;
}

.post__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.post__meta-bar {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    row-gap: .75em;
    padding: 1em;
    color: white;
    column-gap: 1em;
    border-radius: 5px;
    background-color: var(--color-dark);
}

.post__separator {
    display: block;
    width: 1px;
    background-color: var(--color-dark-gray);
}

.post__meta-item {
    font-size: clamp(.85rem, .5rem + .5vw, .875rem);
    text-transform: uppercase;
    letter-spacing: .03em;
    display: flex;
    justify-content: center;
    column-gap: .5em;
}

.post__meta-label {
    color: #ABABAB;
}

.post__content {
    max-width: var(--container-lg);
}

.post__content ul {
    list-style: none;
    margin: .5em .25em;
}

.post__content li {
    position: relative;
    font-size: var(--font-size-base);
    padding-left: 1em;
}

.post__content li::before {
    content: '';
    position: absolute;
    width: .325em;
    aspect-ratio: 1/1;
    background-color: var(--color-dark-gray);
    border-radius: 50%;
    top: .7em;
    left: .125em;
}

.post__body {
    display: flex;
    row-gap: var(--space-inline);
    flex-direction: column-reverse;
    align-items: start;
    column-gap: var(--space-l);
}

.post__share {
    background-color: var(--color-dark);
    display: flex;
    flex-direction: row;
    row-gap: .325em;
    column-gap: .5em;
    padding: .25em;
    align-items: center;
    border-radius: 6px;
    margin-top: 2em;
}

.post__share-link {
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1/1;
    min-width: clamp(2rem, 1.5rem + .75vw, 2.25rem);
    border-radius: 6px;
    border: none;
    transition: color .35s ease, background-color .35s ease;
}

.post__share-icon {
    width: 1.125em;
    aspect-ratio: 1/1;
}
.post__share-link:first-child .post__share-icon {
    width:.9375rem;
}

.post__copy-link {
    position: relative;
    background-color: transparent;
}

@media (min-width:40rem) {
    .post__meta-bar {
        flex-direction: row;
        width: max-content;
        margin: 0 auto;
    }

    .post__body {
        flex-direction: row;
    }
    .post__share {
        position: sticky;
        top: var(--space-3xl);
        margin-top: 0;
        flex-direction: column;
        padding: .5em .425em .425em
    }
}
@media (min-width:48rem) {
    .post__body {
        column-gap: var(--space-xl);
    }
}

@media (min-width:100rem) {
    article h1 {
        font-size: clamp(3.5rem, 2rem + 2vw, 4rem)
    }
}

@media (hover:hover) {
    .post__copy-link::after {
        opacity: 0;
        position: absolute;
        top: 100%;
        left: 50%;
        color:white;
        font-family: inherit;
        font-weight: var(--font-medium);
        content: "Copy This Post";
        background-color: hsla(0, 0%, 0%, .75);
        padding: .5em;
        width: max-content;
        transform: translate3d(-50%, 0, 0);
        border-radius: 3px;
        transition: transform .35s ease, opacity .35s ease;
    }

    .post__copy-link:hover::after {
        opacity: 1;
    }

    .post__copy-link.is-copied::after {
        content: "Copied!";
    }

    .post__share-link:hover {
        color:var(--color-lime);
        background-color: hsla(0,0%,100%,.1);
    }
}