/* Individually editable layouts for the association's content pages. */
.portal-content-layout { margin-top: 28px; margin-bottom: 28px; }
.portal-columns-three { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
.portal-columns-two { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
.portal-faq-layout { gap:24px; }
.portal-faq-layout .document-detail { margin:0; }
.portal-content-layout .course-card,
.portal-content-layout .person,
.portal-content-layout .document-card,
.portal-content-layout .contact-card,
.portal-gallery-layout figure { height: 100%; }
.portal-content-layout .course-card { padding: 27px; }
.portal-content-layout .course-card h2 { font-size: 25px; }
.portal-content-layout .course-card .status { margin-top: 20px; }
.portal-gallery-layout figure { margin: 0; }
.portal-gallery-layout img { width: 100%; }
.portal-links-layout > .ccm-layout-column > .ccm-layout-column-inner > a {
 display: block; height: 100%; padding: 32px; border: 1px solid var(--line); background: #fafbf9; border-radius: 3px;
}
.portal-reading-layout { grid-template-columns: minmax(0,1fr) !important; gap: 0; }
.portal-reading-layout .ccm-layout-column-inner > p { margin-bottom: 20px; }
.portal-reading-layout .ccm-layout-column-inner > img { display:block; margin:22px auto; max-height:900px; width:auto; object-fit:contain; }
.native-article-intro { max-width:1000px; }
.native-article-intro h1 { font-size:clamp(30px,3.2vw,46px); line-height:1.25; }
@media (max-width:900px) {
 .portal-columns-three { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
 .portal-columns-three > .ccm-layout-column:last-child:nth-child(3) { grid-column:1 / -1; }
}
@media (max-width:600px) {
 .portal-columns-three, .portal-columns-two { grid-template-columns:minmax(0,1fr) !important; gap:23px; }
 .portal-columns-three > .ccm-layout-column:last-child:nth-child(3) { grid-column:auto; }
 .portal-content-layout .course-card { padding:25px; }
 .portal-content-layout { margin-top:23px; margin-bottom:23px; }
}
/* Empty trailing native columns remain available to editors, without a public gap. */
body:not(.ccm-edit-mode) .portal-content-layout > .ccm-layout-column:has(> .ccm-layout-column-inner:not(:has(*))) { display:none; }
