/* =========================
   Common Page Heading
   ========================= */

.page-heading {
    border: 1px solid var(--color-border-card);
    border-radius: var(--radius-base);
    background: var(--color-surface);
    overflow: hidden;
}

.page-heading__title-block {
    padding: var(--responsive-page-heading-padding);
    background: var(--color-title-block);
    color: var(--color-primary-text-inverse);
}

.page-heading__title {
    margin: 0;
    font-size: var(--responsive-page-heading-title-size);
    line-height: 1.25;
    letter-spacing: 0.04em;
}

.page-heading__extra {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: var(--responsive-page-heading-padding);
}

.page-heading__description {
    margin: 0;
    line-height: 1.7;
    color: var(--color-text-muted);
}

.page-heading__summary {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.page-heading__summary-short {
    margin: 0;
    line-height: 1.7;
    color: var(--color-text-main);
}

.page-heading__summary-detail {
    border: 1px solid var(--color-border-card);
    border-radius: var(--radius-base);
    background: var(--color-surface-soft);
}

.page-heading__summary-detail > summary {
    cursor: pointer;
    padding: 10px 12px;
    font-weight: 600;
}

.page-heading__summary-detail > div {
    padding: 0 12px 12px;
    line-height: 1.7;
}

/* =========================
   Section Accent Title
   - 副題（新規投稿など）
   ========================= */

.section-accent-title {
    display: flex;
    align-items: center;
    gap: 10px;
}

.section-accent-title::before {
    content: '';
    display: inline-block;
    width: 4px;
    height: 1em;
    background: var(--color-section-title-accent);
    border-radius: 1px;
}
@media (max-width: 767px) {
    .page-heading__description,
    .page-heading__summary-short {
        font-size: var(--responsive-page-font-size);
    }

    .section-accent-title {
        gap: 8px;
    }
}

@media (max-width: 480px) {
    .page-heading__summary-detail > summary {
        padding: 9px 10px;
    }

    .page-heading__summary-detail > div {
        padding: 0 10px 10px;
    }
}
