/* SEM Global — supplementary styles (cards, hero, utility) */

/* Service / capability cards */
.sem-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--line);
	border-top: 4px solid var(--wp--preset--color--accent);
	border-radius: 6px;
	padding: 2rem 1.75rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.sem-card:hover {
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	transform: translateY(-2px);
}

.sem-card h3 {
	margin-top: 0;
}

/* Hero overlay text legibility */
.sem-hero {
	position: relative;
}

.sem-hero h1,
.sem-hero p {
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
}

/* Eyebrow label above headings */
.sem-eyebrow {
	display: inline-block;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
	margin-bottom: 0.25rem;
}

.has-tertiary-background-color .sem-eyebrow,
.has-base-background-color .sem-eyebrow {
	color: var(--wp--preset--color--secondary);
}

/* Eyebrow legibility on dark (navy/black) backgrounds */
.wp-block-cover .sem-eyebrow,
.has-primary-background-color .sem-eyebrow,
.has-contrast-background-color .sem-eyebrow {
	color: var(--wp--preset--color--line);
}

/* Buttons on dark (navy/black) backgrounds invert to white */
.wp-block-cover .wp-block-button:not(.sem-btn-outline) .wp-block-button__link,
.has-primary-background-color .wp-block-button:not(.sem-btn-outline) .wp-block-button__link,
.has-contrast-background-color .wp-block-button:not(.sem-btn-outline) .wp-block-button__link {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary);
}

.wp-block-cover .wp-block-button:not(.sem-btn-outline) .wp-block-button__link:hover,
.has-primary-background-color .wp-block-button:not(.sem-btn-outline) .wp-block-button__link:hover,
.has-contrast-background-color .wp-block-button:not(.sem-btn-outline) .wp-block-button__link:hover {
	background: var(--wp--preset--color--line);
	color: var(--wp--preset--color--primary);
}

/* Checklist styling for capability lists */
.sem-checklist {
	list-style: none;
	padding-left: 0;
}

.sem-checklist li {
	position: relative;
	padding-left: 1.75rem;
	margin-bottom: 0.6rem;
}

.sem-checklist li::before {
	content: "\2713";
	position: absolute;
	left: 0;
	top: 0;
	font-weight: 700;
	color: var(--wp--preset--color--accent);
}

/* Outline (secondary) button variant */
.sem-btn-outline .wp-block-button__link {
	background: transparent;
	border: 2px solid currentColor;
	color: inherit;
}

.sem-btn-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

/* Outline buttons on dark backgrounds hover to white */
.wp-block-cover .sem-btn-outline .wp-block-button__link:hover,
.has-primary-background-color .sem-btn-outline .wp-block-button__link:hover,
.has-contrast-background-color .sem-btn-outline .wp-block-button__link:hover {
	background: var(--wp--preset--color--base);
	border-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary);
}

/* Header polish */
.sem-header {
	border-bottom: 1px solid var(--wp--preset--color--line);
}

/* Utility bar above header */
.sem-utility-bar a {
	text-decoration: none;
}

/* Footer link colour on dark background */
.sem-footer a {
	color: var(--wp--preset--color--line);
}

.sem-footer a:hover {
	color: var(--wp--preset--color--base);
}

/* Stat / credibility figures */
.sem-stat {
	font-size: 2.5rem;
	font-weight: 800;
	color: var(--wp--preset--color--primary);
	line-height: 1.1;
}
