/* Small extras theme.json can't express. Colors and radius come from the active style variation. */

/* Sections with their own text color (hero, dark bands, footer): headings and links follow it
   instead of the global heading/link colors. A heading or link with its own color still wins. */
.has-text-color :is(h1, h2, h3, h4, h5, h6):not(.has-text-color),
.has-text-color a:where(:not(.wp-element-button)):not(.has-text-color) {
	color: inherit;
}

.glows-card {
	background: var(--wp--preset--color--base);
	border: 2px solid var(--wp--preset--color--accent);
	border-radius: var(--wp--custom--radius);
	padding: var(--wp--preset--spacing--40);
}
.has-tint-background-color .glows-card { border-color: transparent; }

.glows-eyebrow {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	opacity: 0.85;
}

.glows-columns-list { columns: 3 16rem; column-gap: 2rem; }
.glows-columns-list li { break-inside: avoid; margin-bottom: 0.35rem; }

.wp-block-button.is-style-outline > .wp-block-button__link { border-width: 2px; }

:where(h2, h3)[id] { scroll-margin-top: 1.5rem; }

.skip-link:focus {
	background: var(--wp--preset--color--base);
	padding: 0.75rem 1rem;
	z-index: 100000;
}

/* ---------- Commons: full-width layout ---------- */

/* Readable line length for running text even when the section is 1500px wide. */
.wp-block-group.is-layout-constrained > :is(p, .wp-block-list):not(.has-text-align-center):not(.glows-columns-list) {
	max-width: min(var(--wp--custom--prose), var(--wp--style--global--content-size));
	margin-left: max(0px, calc((100% - var(--wp--style--global--content-size)) / 2)) !important;
	margin-right: auto !important;
}

.glows-card { color: var(--wp--preset--color--contrast); }
.has-text-color .glows-card :is(h1, h2, h3, h4) { color: var(--wp--preset--color--primary-dark); }
.has-text-color .glows-card a:where(:not(.wp-element-button)) { color: var(--wp--preset--color--primary); }
.glows-card > .wp-block-buttons { margin-top: auto; }
/* Cards made from columns: stack with even spacing like grid cards, button pinned to the bottom so
   buttons line up across a row of cards. */
.wp-block-column.glows-card { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--30); }
.wp-block-column.glows-card > * { margin-block: 0; }
.wp-block-column.glows-card > .wp-block-buttons { margin-top: auto; padding-top: var(--wp--preset--spacing--20); }
.wp-block-column.glows-card > .glows-account-cta { flex: 1; display: flex; flex-direction: column; gap: var(--wp--preset--spacing--30); }
.glows-account-cta > * { margin-block: 0; }
.wp-block-column.glows-card > .glows-account-cta > .wp-block-buttons { margin-top: auto; padding-top: var(--wp--preset--spacing--20); }

.glows-announce { font-size: 0.95rem; }
.glows-announce p { margin: 0; }
.glows-announce .glows-account-link { gap: 0.5rem; font-weight: 700; }
.glows-announce .glows-account-link a {
	border: 1.5px solid currentColor;
	border-radius: 999px;
	padding: 0.15rem 0.85rem;
	white-space: nowrap;
	text-decoration: none;
}
.glows-announce .glows-account-link a:hover { background: var(--wp--preset--color--base); color: var(--wp--preset--color--primary-dark); text-decoration: none; }

.glows-stat { text-align: center; border: 0; background: transparent; }
.glows-stat__num {
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(2.5rem, 2rem + 2vw, 3.75rem);
	font-weight: 800;
	line-height: 1;
	color: var(--wp--preset--color--primary);
	margin: 0;
}

.glows-partner { display: flex; align-items: center; justify-content: center; text-align: center; font-weight: 700; min-height: 5.5rem; }
.glows-partner p { margin: 0; }
.glows-partner a { text-decoration: none; }

.glows-footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.25); font-size: 0.9rem; opacity: 0.9; }
.glows-footer-links { list-style: none; padding-left: 0; }
.glows-footer-links li { margin-bottom: 0.4rem; }

/* Photos: fill their box at a steady shape so any uploaded photo lines up. */
.glows-photo { margin: 0 0 1rem; }
.glows-photo img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--wp--custom--radius); display: block; }
.glows-card > .glows-photo { margin: calc(-1 * var(--wp--preset--spacing--40)) calc(-1 * var(--wp--preset--spacing--40)) 0.5rem; align-self: stretch; }
.glows-card > .glows-photo img { border-radius: calc(var(--wp--custom--radius) - 2px) calc(var(--wp--custom--radius) - 2px) 0 0; }

/* Resource tables */
.wp-block-table { margin: 1rem 0 0; overflow-x: auto; }
.wp-block-table table { width: 100%; border-collapse: collapse; background: #fff; border-radius: var(--wp--custom--radius, 8px); overflow: hidden; }
.wp-block-table th, .wp-block-table td { border: 0; border-bottom: 1px solid rgba(0,0,0,.08); padding: .75rem 1rem; text-align: left; vertical-align: top; }
.wp-block-table thead th { background: var(--wp--preset--color--primary, #1a3a5c); color: #fff; font-weight: 600; }
.wp-block-table tbody tr:last-child td { border-bottom: 0; }
@media (max-width: 640px) {
	.wp-block-table table.has-fixed-layout { table-layout: auto; }
	.wp-block-table thead { display: none; }
	.wp-block-table tr { display: block; border-bottom: 1px solid rgba(0,0,0,.12); padding: .5rem 0; }
	.wp-block-table td { display: block; border: 0; padding: .2rem 1rem; }
}
.wp-block-table + p { margin-top: 1.25rem; }
.wp-block-table + .wp-block-heading { margin-top: 2rem; }
