/*
Theme Name:   SynerImages
Theme URI:    https://synerimages.com/
Template:     twentytwentyfive
Author:       SynerImages Healthcare Consulting, LLC
Author URI:   https://synerimages.com/
Description:  Child theme of Twenty Twenty-Five for SynerImages Healthcare Consulting. Ships nine image-free block patterns (hero, credential band, service cards, process steps, client quote, CTA band, leadership cards, split intro, affiliates) under a SynerImages category in the inserter. Brand palette checked to WCAG 2.1 AA contrast, a readable measure for long-form regulatory content, and typography tuned for scanning. All colour and type tokens live in theme.json so they can be edited in Appearance → Editor → Styles without touching CSS.
Version:      1.1.0
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 7.4
License:      GNU General Public License v2 or later
License URI:  https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  synerimages
Tags:         business, professional, accessibility-ready
*/

/* Long-form readability: cap the measure on prose, but let cards and grids breathe. */
.wp-block-post-content > p,
.entry-content > p,
.wp-block-post-content > ul,
.wp-block-post-content > ol {
	max-width: 42rem;
}

/* Lead paragraph used at the top of every page. */
.si-lead {
	color: var(--wp--preset--color--ink);
	font-size: 1.2rem;
	line-height: 1.6;
	max-width: 44rem;
}

/* Card columns get a subtle rule so scanning is easier than a wall of text. */
.wp-block-columns .wp-block-column > h3:first-child {
	margin-top: 0;
	padding-top: 0.9rem;
	border-top: 3px solid var(--wp--preset--color--brand-blue);
}

.wp-block-columns .wp-block-column > h3:first-child a {
	text-decoration: none;
}

.wp-block-columns .wp-block-column > h3:first-child a:hover,
.wp-block-columns .wp-block-column > h3:first-child a:focus-visible {
	text-decoration: underline;
}

/* FAQ questions read better slightly tighter than a normal H3. */
#faq ~ h3 {
	font-size: 1.15rem;
}

/* Details/accordion */
.wp-block-details {
	border: 1px solid var(--wp--preset--color--surface-alt);
	border-radius: 8px;
	padding: 0.9rem 1.1rem;
}

.wp-block-details summary {
	font-weight: 600;
	cursor: pointer;
	min-height: 44px;
	display: flex;
	align-items: center;
}

/* Tables: make them survive small screens. */
.wp-block-table {
	overflow-x: auto;
}

.wp-block-table td,
.wp-block-table th {
	padding: 0.6rem 0.8rem;
	border-bottom: 1px solid var(--wp--preset--color--surface-alt);
}

/* Touch targets: WCAG target size. */
.wp-block-navigation a,
.wp-element-button,
.wp-block-button__link {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}

/* Print: regulatory pages get printed and taken into meetings. */
@media print {
	.wp-block-navigation,
	.si-skip-link,
	.si-contact-form,
	.wp-block-buttons {
		display: none !important;
	}

	body {
		font-size: 11pt;
		color: #000;
	}

	a[href^="http"]::after {
		content: " (" attr(href) ")";
		font-size: 9pt;
	}
}


/* =========================================================================
   Block patterns
   A site with no photography earns its presence through typography, colour
   blocks and numerals. Everything below is image-free by design.
   ====================================================================== */

/* Eyebrow label above a heading */
.si-eyebrow {
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	margin-block-end: 0.6rem;
}

/* ---- Hero ---- */
.si-hero {
	background-color: var(--wp--preset--color--surface);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Ccircle cx='2' cy='2' r='1.4' fill='%234683B4' fill-opacity='0.22'/%3E%3C/svg%3E");
	border-block-end: 1px solid var(--wp--preset--color--surface-alt);
}

.si-hero__title {
	font-size: clamp(2.1rem, 5.2vw, 3.4rem);
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin-block: 0 1rem;
}

.si-hero .si-lead {
	color: var(--wp--preset--color--contrast);
	font-size: clamp(1.1rem, 2.2vw, 1.3rem);
}

/* ---- Page header (interior pages) ---- */
.si-pagehead {
	border-block-end: 3px solid var(--wp--preset--color--brand-blue);
	margin-block-end: var(--wp--preset--spacing--40);
}

/* ---- Credential / stat band ---- */
.si-statband .si-stat__figure {
	font-size: clamp(2.4rem, 5vw, 3.6rem);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.03em;
	margin: 0 0 0.5rem;
	color: var(--wp--preset--color--white);
	font-variant-numeric: tabular-nums;
}

.si-statband .si-stat__label {
	font-size: 0.95rem;
	line-height: 1.5;
	margin: 0;
	color: #D8E4EE;
	max-width: 20rem;
}

.si-statband .wp-block-column {
	border-block-start: 3px solid var(--wp--preset--color--brand-blue);
	padding-block-start: 1rem;
}

/* ---- Service / generic cards ---- */
.si-cards .si-card {
	border-block-start: 3px solid var(--wp--preset--color--brand-blue);
	padding-block-start: 1rem;
}

.si-cards .si-card > h3:first-of-type {
	margin-block-start: 0;
	border: 0;
	padding-block-start: 0;
	font-size: 1.2rem;
}

.si-card__link a {
	font-weight: 600;
	text-decoration: none;
}

.si-card__link a::after {
	content: " \2192";
}

.si-card__link a:hover,
.si-card__link a:focus-visible {
	text-decoration: underline;
}

/* ---- Process steps ---- */
.si-steps .si-step {
	position: relative;
	padding-inline-start: 4.2rem;
	padding-block: 0.4rem 1.4rem;
	border-inline-start: 2px solid var(--wp--preset--color--surface-alt);
	margin-inline-start: 1.2rem;
}

.si-steps .si-step:last-child {
	border-inline-start-color: transparent;
}

.si-step__n {
	position: absolute;
	inset-inline-start: -1.35rem;
	inset-block-start: 0.25rem;
	width: 2.6rem;
	height: 2.6rem;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--white);
	font-weight: 700;
	font-size: 1rem;
	font-variant-numeric: tabular-nums;
}

.si-steps .si-step h3 {
	margin-block: 0 0.4rem;
	font-size: 1.15rem;
}

.si-steps .si-step p:not(.si-step__n) {
	margin-block-end: 0;
}

/* ---- Client quote ---- */
.si-quote {
	border-inline-start: 5px solid var(--wp--preset--color--brand-blue);
	border-radius: 0 10px 10px 0;
}

.si-quote__text {
	font-size: clamp(1.25rem, 2.6vw, 1.6rem);
	line-height: 1.45;
	color: var(--wp--preset--color--ink);
	margin-block: 0 1.2rem;
	max-width: 40rem;
}

.si-quote__text::before {
	content: "\201C";
	color: var(--wp--preset--color--brand-blue);
	font-size: 1.4em;
	line-height: 0;
	vertical-align: -0.15em;
	margin-inline-end: 0.08em;
}

.si-quote__cite {
	font-size: 0.95rem;
	color: var(--wp--preset--color--muted);
	margin: 0;
}

/* ---- CTA band ---- */
.si-ctaband__title {
	font-size: clamp(1.5rem, 3.4vw, 2.1rem);
	margin-block: 0 0.75rem;
	max-width: 34rem;
}

.si-ctaband__text {
	color: #D8E4EE;
	max-width: 40rem;
	margin-block-end: 1.6rem;
}

/* ---- Leadership cards ---- */
.si-team .si-person {
	border-block-start: 3px solid var(--wp--preset--color--brand-blue);
	padding-block-start: 1rem;
}

.si-person__creds {
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	margin: 0 0 0.3rem;
}

.si-team .si-person > h3 {
	margin-block: 0 0.2rem;
	border: 0;
	padding-block-start: 0;
	font-size: 1.2rem;
}

.si-person__role {
	font-size: 0.95rem;
	color: var(--wp--preset--color--muted);
	margin-block: 0 0.9rem;
}

/* ---- Split intro ---- */
.si-split__title {
	margin-block-start: 0;
	font-size: clamp(1.4rem, 3vw, 1.9rem);
}

/* ---- Affiliates ---- */
.si-affiliate {
	background: var(--wp--preset--color--surface);
	border-radius: 10px;
	padding: 1.4rem 1.5rem;
}

.si-affiliate__mark {
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--wp--preset--color--primary-dark);
	margin: 0 0 0.6rem;
}

/* ---- Responsive: columns stack below 782px in core, tighten spacing ---- */
@media (max-width: 781px) {
	.si-statband .wp-block-column + .wp-block-column,
	.si-cards .si-card + .si-card,
	.si-team .si-person + .si-person {
		margin-block-start: 1.8rem;
	}

	.si-steps .si-step {
		padding-inline-start: 3.6rem;
	}
}
