/* MCF 本會動態單篇 — 內容組版式（前綴 mcfc-，沿用主題變數） */

.mcfc-single {
    max-width: var(--container, 1200px);
    margin: 0 auto;
    padding: 48px 20px 72px;
}

/* 提高特異性：蓋過主題 `.container` 的 padding（否則內容貼著頁首） */
.mcfc-single.container {
    padding: 48px 20px 72px;
}

.mcfc-single__head {
    margin-bottom: 32px;
}

.mcfc-single__cat {
    display: inline-block;
    background: var(--primary-red, #9E1B1B);
    color: #fff;
    font-size: 12px;
    line-height: 1;
    padding: 6px 11px;
    border-radius: 3px;
    text-decoration: none;
    margin-bottom: 12px;
}

.mcfc-single__title {
    font-size: clamp(24px, 3.4vw, 34px);
    line-height: 1.35;
    color: #1a1a1a;
    margin: 0 0 10px;
    letter-spacing: .02em;
}

.mcfc-single__date {
    color: rgba(0, 0, 0, .55);
    font-size: 14px;
}

/* 每組往下排；組與組之間留白 */
.mcfc-block {
    margin: 0 0 44px;
}

.mcfc-block:last-child {
    margin-bottom: 0;
}

.mcfc-fig {
    margin: 0;
}

.mcfc-fig__img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
}

.mcfc-fig__cap {
    font-size: 13px;
    line-height: 1.6;
    color: rgba(0, 0, 0, .55);
    margin-top: 6px;
}

.mcfc-block__text {
    font-size: 16px;
    line-height: 1.9;
    color: #222;
}

.mcfc-block__text p {
    margin: 0 0 1em;
}

.mcfc-block__text p:last-child {
    margin-bottom: 0;
}

/* stack：圖在上（多圖橫向等高列，最多 3 欄），文在下 */
.mcfc-block--stack .mcfc-block__media {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.mcfc-block--stack .mcfc-block__media[data-count="1"] {
    grid-template-columns: 1fr;
}

.mcfc-block--stack .mcfc-block__media[data-count="2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* side：圖左 48%／文右 52%，垂直居中 */
.mcfc-block--side {
    display: grid;
    grid-template-columns: 48% 52%;
    gap: 28px;
    align-items: center;
}

.mcfc-block--side .mcfc-block__media {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

/* gallery：多圖橫排（最多 4 欄），文在下；單圖退化為大圖 */
.mcfc-block--gallery .mcfc-block__media {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.mcfc-block--gallery .mcfc-block__media[data-count="1"] {
    grid-template-columns: 1fr;
}

.mcfc-block--gallery .mcfc-block__media[data-count="2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mcfc-block--gallery .mcfc-block__media[data-count="3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* ≤768px：全部退化為單欄垂直流（圖組 → 文字，逐組往下） */
@media (max-width: 768px) {
    .mcfc-single,
    .mcfc-single.container {
        padding: 32px 16px 56px;
    }

    .mcfc-block,
    .mcfc-block--side {
        display: block;
        margin-bottom: 36px;
    }

    .mcfc-block--stack .mcfc-block__media,
    .mcfc-block--side .mcfc-block__media,
    .mcfc-block--gallery .mcfc-block__media {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        margin-bottom: 14px;
    }

    /* 此三條必須在最後：外部 [data-count="2"/"3"] 特異性同為 0,3,0，
       放在本媒體查詢之後才壓得住，否則窄視窗仍會並排（1.0.4 實測發現） */
    .mcfc-block--stack .mcfc-block__media[data-count],
    .mcfc-block--gallery .mcfc-block__media[data-count] {
        grid-template-columns: 1fr;
    }

    .mcfc-block__text {
        font-size: 15px;
        line-height: 1.85;
    }

    .mcfc-fig__img {
        width: 100%;
        height: auto;
    }
}
