/**
 * Articles Block Styles [Author Pro]
 * Strictly isolated BEM classes with awt- namespace
 */

@use '../../../styles/variables' as *;
@use '../../../styles/mixins' as *;

.awt-articles {
    position: relative;
    width: 100%;
    box-sizing: border-box;
    padding-top: var(--awt-articles-pt, 6rem);
    padding-bottom: var(--awt-articles-pb, 6rem);
    background-color: var(--awt-articles-bg, #f3f4f6);

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

    &__container {
        @include awt-container-styles;
    }

    &__header {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: flex-start;
        gap: 1rem;
        margin-bottom: 3rem;

        @include md {
            flex-direction: row;
            align-items: flex-end;
        }
    }

    &__header-info {
        display: flex;
        flex-direction: column;
    }

    &__badge {
        font-family: $awt-font-sans;
        font-size: 0.75rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.125em;
        color: var(--awt-articles-accent, #{$awt-color-accent});
        margin-bottom: 0.5rem;
    }

    &__title {
        font-family: $awt-font-serif;
        font-size: clamp(1.75rem, 3vw, 2.25rem);
        font-weight: 700;
        line-height: 1.25;
        color: var(--awt-articles-title-color, #{$awt-color-primary});
        margin: 0;
    }

    &__view-all {
        font-family: $awt-font-sans;
        font-size: 0.875rem;
        font-weight: 700;
        color: var(--awt-articles-title-color, #{$awt-color-primary});
        text-decoration: none;
        border-bottom: 1px solid currentColor;
        padding-bottom: 2px;
        transition: color $awt-transition-fast, border-color $awt-transition-fast;

        &:hover {
            color: var(--awt-articles-accent, #{$awt-color-accent});
            border-bottom-color: var(--awt-articles-accent, #{$awt-color-accent});
        }
    }

    &__grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 2rem;

        @include md {
            grid-template-columns: repeat(2, 1fr);
        }

        @include lg {
            grid-template-columns: repeat(3, 1fr);
        }
    }

    &__item {
        background-color: #ffffff;
        border-radius: $awt-radius-xl;
        overflow: hidden;
        box-shadow: $awt-shadow-sm;
        display: flex;
        flex-direction: column;
        transition: box-shadow $awt-transition-normal, transform $awt-transition-normal;

        &:hover {
            box-shadow: $awt-shadow-lg;
            transform: translateY(-3px);

            .awt-articles__image {
                transform: scale(1.05);
            }

            .awt-articles__item-title-link {
                color: var(--awt-articles-accent, #{$awt-color-accent});
            }
        }
    }

    &__thumbnail-wrap {
        position: relative;
        width: 100%;
        height: 12rem;
        overflow: hidden;
        background-color: #f1f5f9;
    }

    &__thumbnail-link {
        display: block;
        width: 100%;
        height: 100%;
    }

    &__image {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform $awt-transition-slow;
    }

    &__content {
        padding: 1.5rem;
        display: flex;
        flex-direction: column;
        flex-grow: 1;
    }

    &__meta {
        font-family: $awt-font-sans;
        font-size: 0.75rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: var(--awt-articles-accent, #{$awt-color-accent});
        margin-bottom: 0.5rem;
    }

    &__item-title {
        font-family: $awt-font-sans;
        font-size: 1.125rem;
        font-weight: 700;
        line-height: 1.4;
        margin-top: 0;
        margin-bottom: 0.75rem;
    }

    &__item-title-link {
        color: var(--awt-articles-title-color, #{$awt-color-primary});
        text-decoration: none;
        transition: color $awt-transition-fast;
    }

    &__excerpt {
        font-family: $awt-font-sans;
        font-size: 0.875rem;
        line-height: 1.6;
        color: var(--awt-articles-text-color, #4b5563);
        margin-top: 0;
        margin-bottom: 1rem;
        @include line-clamp(2);
    }

    &__read-more {
        margin-top: auto;
        font-family: $awt-font-sans;
        font-size: 0.75rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        color: var(--awt-articles-title-color, #{$awt-color-primary});
        text-decoration: underline;
        text-underline-offset: 3px;
        transition: color $awt-transition-fast;

        &:hover {
            color: var(--awt-articles-accent, #{$awt-color-accent});
        }
    }

    &__empty {
        font-family: $awt-font-sans;
        font-size: 1rem;
        font-style: italic;
        color: var(--awt-articles-text-color, #4b5563);
        text-align: center;
        padding: 2rem 0;
        margin: 0;
    }
}
