.bh-magazine,
.bh-magazine-single {
    --bh-magazine-fixed-header-offset: 110px;

    color: #1b1b1b;
    background: #ffffff;
}

.bh-magazine *,
.bh-magazine *::before,
.bh-magazine *::after,
.bh-magazine-single *,
.bh-magazine-single *::before,
.bh-magazine-single *::after {
    box-sizing: border-box;
}

.bh-magazine__inner,
.bh-magazine-single__inner {
    width: min(1120px, calc(100% - 40px));
    margin: 0 auto;
    padding: calc(72px + var(--bh-magazine-fixed-header-offset)) 0 88px;
}

.bh-magazine__header,
.bh-magazine-single__header {
    margin: 0 0 40px;
    text-align: center;
}

.bh-magazine__eyebrow,
.bh-magazine-single__eyebrow {
    margin: 0 0 10px;
    color: #74664f;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0;
}

.bh-magazine__title,
.bh-magazine-single__title {
    margin: 0;
    color: #111111;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0;
}

.bh-magazine__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 34px 24px;
}

.bh-magazine-card {
    min-width: 0;
}

.bh-magazine-card__image-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.bh-magazine-card__image {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: #f2f0ec;
}

.bh-magazine-card__image--placeholder {
    display: grid;
    place-items: center;
    color: #8d806c;
    font-size: 13px;
    font-weight: 700;
}

.bh-magazine-card__body {
    padding-top: 16px;
}

.bh-magazine-card__title {
    display: -webkit-box;
    min-height: 3.1em;
    margin: 0 0 16px;
    overflow: hidden;
    color: #111111;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.55;
    letter-spacing: 0;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.bh-magazine-card__title a {
    color: inherit;
    text-decoration: none;
}

.bh-magazine-card__title a:hover,
.bh-magazine-card__title a:focus-visible {
    text-decoration: underline;
}

.bh-magazine-card__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 20px;
    border: 1px solid #1b1b1b;
    color: #1b1b1b;
    background: #ffffff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0;
    text-decoration: none;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.bh-magazine-card__button:hover,
.bh-magazine-card__button:focus-visible {
    color: #ffffff;
    background: #1b1b1b;
}

.bh-magazine-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: center;
    margin-top: 54px;
}

.bh-magazine-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 40px;
    padding: 8px 12px;
    border: 1px solid #d7d2ca;
    color: #1b1b1b;
    background: #ffffff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
}

.bh-magazine-pagination .page-numbers.current,
.bh-magazine-pagination .page-numbers:hover,
.bh-magazine-pagination .page-numbers:focus-visible {
    border-color: #1b1b1b;
    color: #ffffff;
    background: #1b1b1b;
}

.bh-magazine__empty {
    margin: 48px 0 0;
    text-align: center;
}

.bh-magazine-single__date {
    display: block;
    margin-top: 14px;
    color: #777777;
    font-size: 14px;
}

.bh-magazine-single__thumbnail {
    margin: 0 0 42px;
}

.bh-magazine-single__thumbnail img {
    display: block;
    width: 100%;
    height: auto;
}

.bh-magazine-single__content {
    width: min(760px, 100%);
    margin: 0 auto;
    font-size: 16px;
    line-height: 1.9;
}

.bh-magazine-single__content > *:first-child {
    margin-top: 0;
}

.bh-magazine-single__content img {
    max-width: 100%;
    height: auto;
}


.bh-related-posts {
    width: min(980px, 100%);
    margin: 56px auto 0;
    padding: 34px;
    border: 1px solid #dbe9e2;
    background: #f8fcfa;
}

.bh-related-posts__header {
    margin: 0 0 24px;
    text-align: center;
}

.bh-related-posts__eyebrow {
    margin: 0 0 8px;
    color: #1f8a5b;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0;
}

.bh-related-posts__title {
    margin: 0;
    color: #111111;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: 0;
}

.bh-related-posts__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

.bh-related-posts__card {
    display: flex;
    min-width: 0;
    height: 100%;
    overflow: hidden;
    border: 1px solid #e3ebe7;
    background: #ffffff;
    box-shadow: 0 10px 28px rgba(27, 73, 54, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    flex-direction: column;
}

.bh-related-posts__card:hover {
    border-color: #9cd6bf;
    box-shadow: 0 14px 34px rgba(27, 73, 54, 0.13);
    transform: translateY(-3px);
}

.bh-related-posts__image-link {
    display: block;
    color: inherit;
    text-decoration: none;
}

.bh-related-posts__image {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    background: #eef7f3;
}

.bh-related-posts__image--placeholder {
    display: grid;
    place-items: center;
    color: #1f8a5b;
    font-size: 13px;
    font-weight: 700;
}

.bh-related-posts__body {
    display: flex;
    padding: 18px;
    flex: 1;
    flex-direction: column;
}

.bh-related-posts__card-title {
    display: -webkit-box;
    min-height: 3.1em;
    margin: 0 0 10px;
    overflow: hidden;
    color: #111111;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.55;
    letter-spacing: 0;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.bh-related-posts__card-title a {
    color: inherit;
    text-decoration: none;
}

.bh-related-posts__card-title a:hover,
.bh-related-posts__card-title a:focus-visible {
    color: #1f8a5b;
}

.bh-related-posts__excerpt {
    display: -webkit-box;
    margin: 0 0 16px;
    overflow: hidden;
    color: #555555;
    font-size: 13px;
    line-height: 1.75;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.bh-related-posts__more {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    justify-content: center;
    min-height: 38px;
    margin-top: auto;
    padding: 9px 18px;
    border: 1px solid #1f8a5b;
    color: #1f8a5b;
    background: #ffffff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0;
    text-decoration: none;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.bh-related-posts__more:hover,
.bh-related-posts__more:focus-visible {
    color: #ffffff;
    background: #1f8a5b;
}

.bh-magazine-single__footer {
    width: min(760px, 100%);
    margin: 48px auto 0;
    text-align: center;
}

.bh-magazine-single__back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 12px 28px;
    border: 1px solid #1b1b1b;
    color: #ffffff;
    background: #1b1b1b;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0;
    text-decoration: none;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.bh-magazine-single__back:hover,
.bh-magazine-single__back:focus-visible {
    color: #1b1b1b;
    background: #ffffff;
}

@media (max-width: 1024px) {
    .bh-magazine__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .bh-magazine__inner,
    .bh-magazine-single__inner {
        --bh-magazine-fixed-header-offset: 82px;

        width: min(100% - 28px, 560px);
        padding: calc(48px + var(--bh-magazine-fixed-header-offset)) 0 64px;
    }

    .bh-magazine__header,
    .bh-magazine-single__header {
        margin-bottom: 30px;
    }

    .bh-magazine__title,
    .bh-magazine-single__title {
        font-size: 26px;
    }

    .bh-magazine__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 16px;
    }

    .bh-magazine-card__title {
        font-size: 15px;
    }

    .bh-related-posts {
        width: min(100%, 560px);
        margin-top: 42px;
        padding: 24px 18px;
    }

    .bh-related-posts__title {
        font-size: 21px;
    }

    .bh-related-posts__grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }
}

@media (max-width: 480px) {
    .bh-magazine__grid {
        grid-template-columns: 1fr;
    }
}
