/*
Theme Name: Sparrow's Promise
Theme URI: https://sparrowspromise.org/
Author: Sparrow's Promise
Description: Child theme of Twenty Twenty-Five for Sparrow's Promise. Brand colors and fonts from the 2026 brand guide, a branded header and footer, and ready-made page layouts for Home, Foster With Us, Visit Center, Volunteer, and Meet the Team. Support. Unite. Provide.
Template: twentytwentyfive
Requires at least: 7.0
Tested up to: 7.1
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sparrows-promise
*/

/* Two-line menu labels: "SUPPORT / Foster With Us" */
.sp-nav-eyebrow {
	display: block;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-4);
	line-height: 1.1;
}
.sp-main-nav .wp-block-navigation-item__content { line-height: 1.2; }
.wp-block-navigation__responsive-container.is-menu-open .sp-nav-eyebrow { display: inline; margin-right: 0.5em; }

/* Top bar */
.sp-topbar p { margin: 0; }
.sp-topbar a { text-decoration: none; }
.sp-topbar a:hover { text-decoration: underline; }

/* Footer sits flush under the last section */
.wp-site-blocks > footer.wp-block-template-part { margin-block-start: 0; }

/* Full-width designed pages: stack colored sections with no gaps */
.sp-designed-content > * { margin-block-start: 0; }
.sp-designed-content > .alignfull + .alignfull { margin-block-start: 0; }

/* Numbered steps with Poppy circles */
ol.sp-steps { list-style: none; counter-reset: sp-step; padding-left: 0; }
ol.sp-steps > li { counter-increment: sp-step; position: relative; padding-left: 3.25rem; margin-bottom: 1rem; min-height: 2.5rem; }
ol.sp-steps > li::before {
	content: counter(sp-step);
	position: absolute; left: 0; top: -0.1rem;
	width: 2.4rem; height: 2.4rem; border-radius: 50%;
	background: var(--wp--preset--color--accent-1); color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--urbanist); font-weight: 700;
	display: flex; align-items: center; justify-content: center;
}

/* Plain link lists (page menus) */
ul.sp-plain-list { list-style: none; padding-left: 0; }
ul.sp-plain-list li { margin-bottom: 0.4rem; }

/* FAQ accordions */
.wp-block-details.sp-faq {
	background: var(--wp--preset--color--base);
	border-radius: 16px;
	padding: 1.1rem 1.4rem;
}
.wp-block-details.sp-faq summary {
	font-family: var(--wp--preset--font-family--urbanist);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--large);
	cursor: pointer;
}
.wp-block-details.sp-faq > :not(summary) { margin-top: 0.75rem; }

/* Tables */
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background-color: var(--wp--preset--color--accent-5); }
.wp-block-table thead { border-bottom: 2px solid var(--wp--preset--color--contrast); }
.wp-block-table td, .wp-block-table th { padding: 0.6em 0.8em; text-align: left; vertical-align: top; }

/* Colored words inside headings (e.g. "Provide.") never get a highlight */
mark.has-inline-color { background: transparent; }

/* Outline buttons: transparent with a border in the text color */
.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background-color: transparent;
	border: 2px solid currentColor;
	padding: calc(0.85rem - 2px) calc(1.6rem - 2px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color) { color: var(--wp--preset--color--contrast); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { opacity: 0.8; }

/* Rounded corners clip photos inside cards */
.wp-block-group[style*="border-radius"] { overflow: hidden; }
