/**
 * "Featured in this article" panel at the end of an Insights article
 * (single.php only). Fully custom classes (rec-panel-section, rec-panel,
 * rec-row, ...) — none of this reuses the site's shared .flat-card-block /
 * .section-flat-cards / .p-0 classes, so there's no risk of colliding with
 * (or losing to) whatever global rules those carry elsewhere on the site
 * — e.g. css/main-lk.css defines ".no-padding,.p-0{padding:0!important}",
 * which is why an earlier version of this file (targeting .section-flat-cards)
 * had its padding silently discarded.
 *
 * A compact row list, not a card grid: a "shop this formula" card grid kept
 * fighting the page at every product count (1 recommended product stretching
 * to fill a whole grid row, 4 wrapping oddly, uneven card heights). A list
 * sidesteps all of that — it's the same shape at 1 row or 5.
 */

/**
 * Article hero (block-single-article_hero.php) — single.php only, not
 * shared with the other 4 pages using block-single-blog_banner.php
 * (category.php, archive.php, tpl-contact.php, tpl-acf.php), so this is
 * free to look nothing like that shared banner.
 */
.article-hero--plain {
    background: var(--Bg-Radial);
    padding: 72px 0;
}

.article-hero__eyebrow {
    display: block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    margin: 0 0 14px;
    background: var(--Pure-gold);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.article-hero__title {
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 700;
    line-height: 1.18;
    color: #fff;
    max-width: 900px;
    margin: 0;
}

.article-hero--photo {
    line-height: 0;
}

.article-hero__img {
    width: 100%;
    max-height: 460px;
    object-fit: cover;
}

.article-hero__img.mobile-only {
    display: none;
}

.article__title {
    font-size: clamp(26px, 3.4vw, 38px);
    font-weight: 700;
    line-height: 1.22;
    color: #072650;
    margin: 40px 0 8px;
}

@media (max-width: 640px) {
    .article-hero--plain {
        padding: 48px 0;
    }

    .article-hero__img {
        max-height: 280px;
    }

    .article-hero__img.desktop-only {
        display: none;
    }

    .article-hero__img.mobile-only {
        display: block;
    }

    .article__title {
        margin-top: 28px;
    }
}

.rec-panel-section {
    padding: 0 0 72px;
}

.rec-panel {
    background: #FFFFFF;
    border: 1px solid #E4DCC8;
    border-image: var(--Pure-gold) 1;
    border-radius: 4px;
    padding: 36px 40px 8px;
}

.rec-panel__eyebrow {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    margin: 0 0 6px;
    background: var(--Pure-gold);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.rec-panel__list {
    display: flex;
    flex-direction: column;
}

.rec-row {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 24px 0;
    border-top: 1px solid #EDE7D8;
}

.rec-row__thumb {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
    border-radius: 10px;
    overflow: hidden;
}

.rec-row__thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.rec-row__info {
    flex: 1;
    min-width: 0;
}

.rec-row__name {
    display: block;
    font-size: 17px;
    font-weight: 700;
    color: #072650;
    text-decoration: none;
    margin: 0 0 4px;
}

.rec-row__name:hover {
    text-decoration: underline;
}

.rec-row__meta {
    font-size: 13.5px;
    line-height: 1.5;
    color: rgba(7, 38, 80, .56);
    margin: 0;
}

.rec-row__contains {
    display: block;
    font-size: 12px;
    color: rgba(7, 38, 80, .42);
    margin-top: 2px;
}

.rec-row__cta {
    flex: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 18px;
    border: 1px solid #072650;
    border-radius: 100px;
    color: #072650;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: background-color .2s ease, color .2s ease;
}

.rec-row__cta:hover {
    background: #072650;
    color: #fff;
}

@media (max-width: 640px) {
    .rec-panel-section {
        padding: 0 0 52px;
    }

    .rec-panel {
        padding: 28px 20px 4px;
    }

    .rec-row {
        gap: 14px;
    }

    .rec-row__thumb {
        width: 60px;
        height: 60px;
    }

    .rec-row__cta span {
        display: none;
    }
}
