/*
 * Leone Centre Resources: base layout only.
 * Fonts and colours are inherited from the theme. Adjust widths and spacing
 * here, or add overrides in the theme's stylesheet.
 */
:root { --lcr-width: 1140px; } /* Match the theme's page width here if it differs. */
.lcr-wrap { max-width: var(--lcr-width); margin: 0 auto; padding: 2rem 16px 4rem; box-sizing: border-box; }

/* Guard against theme rules aimed at the site header and navigation. */
.lcr .lcr-header, .lcr .lcr-jump, .lcr .lcr-jump ul, .lcr .lcr-breadcrumbs {
	position: static; height: auto; max-height: none; overflow: visible; float: none; clear: both; transform: none;
}
.lcr h1 { white-space: normal; overflow: visible; text-overflow: clip; height: auto; }

.lcr-breadcrumbs ol { list-style: none; margin: 0 0 1.5rem; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem; font-size: .875rem; }
.lcr-breadcrumbs li + li::before { content: "/"; margin-right: .25rem; opacity: .5; }

.lcr-header { margin-bottom: 2rem; }
.lcr-header h1 { margin: 0 0 .75rem; }
.lcr-intro { max-width: 70ch; }
.lcr-eyebrow { margin: 0 0 .5rem; font-size: .875rem; text-transform: uppercase; letter-spacing: .05em; }
.lcr-meta { margin: 0; font-size: .875rem; opacity: .75; }
.lcr-meta a { opacity: 1; }

.lcr-jump ul { list-style: none; margin: 0 0 2.5rem; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.lcr-jump a { display: inline-block; padding: .35rem .8rem; border: 1px solid currentColor; border-radius: 999px; font-size: .875rem; text-decoration: none; }

.lcr-category { padding: 2rem 0; border-top: 1px solid rgba(0, 0, 0, .1); }
.lcr-category-head h2 { margin: 0 0 .5rem; }
.lcr-category-head h2 a { text-decoration: none; }
.lcr-category-head { padding-bottom: 1.5rem; }
.lcr .lcr-category-desc { margin: 0; max-width: 70ch; }

.lcr-cards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1.25rem; }
.lcr-card { padding: 1.25rem; border: 1px solid rgba(0, 0, 0, .1); border-radius: 8px; }
.lcr-card h3 { margin: 0 0 .5rem; font-size: 1.1rem; line-height: 1.35; }
.lcr-card p { margin: 0; font-size: .95rem; }
.lcr-view-all { margin: 1rem 0 0; font-weight: 600; }

.lcr-list { list-style: none; margin: 0; padding: 0; }
.lcr-list-item { padding: 1.5rem 0; border-bottom: 1px solid rgba(0, 0, 0, .1); }
.lcr-list-item h2 { margin: 0 0 .5rem; font-size: 1.3rem; }
.lcr-list-item p { margin: 0 0 .5rem; max-width: 70ch; }
.lcr-read-more { font-weight: 600; }

.lcr-featured-image { margin: 0 0 2rem; }
.lcr-featured-image img { width: 100%; height: auto; border-radius: 8px; }

.lcr-services { margin: 3rem 0; padding: 1.5rem; border-radius: 8px; background: rgba(0, 0, 0, .04); }
.lcr-services h2 { margin: 0 0 .75rem; font-size: 1.2rem; }
.lcr-services ul { margin: 0; padding-left: 1.2rem; }

.lcr-related { margin-top: 3rem; }
.lcr-related h2 { font-size: 1.3rem; }

.lcr .navigation.pagination { margin-top: 2rem; }
.lcr-back { margin-top: 2.5rem; }

@media (max-width: 600px) {
	.lcr-wrap { padding-top: 1.25rem; }
	.lcr-cards { grid-template-columns: 1fr; }
}

/* Article headings in cards and lists: bolder for readability on the light link colour. */
.lcr .lcr-card h3, .lcr .lcr-card h3 a,
.lcr .lcr-list-item h2, .lcr .lcr-list-item h2 a { font-weight: 600; }
