/*
Theme Name: Stand Down for Safety
Theme URI: https://standdownforsafety.com
Author: Stand Down for Safety
Description: Child theme of Twenty Twenty-Five for standdownforsafety.com. Brand colors, type, header, footer, and patterns for kits, demos, and the vendor directory.
Template: twentytwentyfive
Version: 1.4.1
Requires at least: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: standdown
*/

/* ---------- Header ---------- */
.sdfs-header .wp-block-navigation a { font-weight: 600; }
.sdfs-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--white);
}
.sdfs-wordmark a { text-decoration: none; }
.sdfs-wordmark a:hover { color: var(--wp--preset--color--orange); }

/* ---------- Eyebrows and badges ---------- */
.sdfs-eyebrow {
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.sdfs-badge {
	display: inline-block;
	padding: 0.2em 0.65em;
	border-radius: 4px;
	background: var(--wp--preset--color--orange);
	color: var(--wp--preset--color--navy);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.sdfs-badge.is-muted { background: var(--wp--preset--color--tint); color: var(--wp--preset--color--gray); }

/* ---------- Cards ---------- */
.sdfs-card {
	border: 1px solid var(--wp--preset--color--rule);
	border-radius: 10px;
	background: var(--wp--preset--color--white);
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.wp-block-column > .sdfs-card:only-child { height: 100%; }
.sdfs-card:hover { box-shadow: 0 6px 20px rgba(28, 35, 41, 0.08); transform: translateY(-2px); }
.sdfs-card.is-coming-soon { background: var(--wp--preset--color--paper); }
.sdfs-card.is-coming-soon:hover { box-shadow: none; transform: none; }
.sdfs-card h3 a { text-decoration: none; }

/* Left accent stripe used for Safety Moment "say this" text and callouts */
.sdfs-say {
	border-left: 4px solid var(--wp--preset--color--orange);
	background: var(--wp--preset--color--tint);
	border-radius: 0 8px 8px 0;
}

/* Placeholder box for forms that get added after plugins are installed */
.sdfs-placeholder {
	border: 2px dashed var(--wp--preset--color--orange);
	border-radius: 10px;
	background: var(--wp--preset--color--paper);
}

/* ---------- Details (answers, Spanish versions) ---------- */
.wp-block-details {
	border: 1px solid var(--wp--preset--color--rule);
	border-radius: 8px;
	padding: 0.9rem 1.1rem;
	background: var(--wp--preset--color--white);
}
.wp-block-details summary {
	cursor: pointer;
	font-weight: 700;
	color: var(--wp--preset--color--navy);
}
.wp-block-details[open] summary { margin-bottom: 0.75rem; }

/* ---------- Tables ---------- */
.wp-block-table table { border-collapse: collapse; }
.wp-block-table thead { border-bottom: 0; }
.wp-block-table th {
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--white);
	font-size: 0.8rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-align: left;
}
.wp-block-table td, .wp-block-table th {
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--rule);
	padding: 0.7em 0.9em;
}
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background: var(--wp--preset--color--paper); }

/* ---------- Lists with orange markers ---------- */
.sdfs-checklist { list-style: none; padding-left: 0; }
.sdfs-checklist li { position: relative; padding-left: 1.75em; margin-bottom: 0.5em; }
.sdfs-checklist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.25em;
	width: 1.05em;
	height: 1.05em;
	border-radius: 3px;
	background: var(--wp--preset--color--orange)
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%231C2329' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
		center / 80% no-repeat;
}

/* Numbered steps */
.sdfs-steps { counter-reset: step; list-style: none; padding-left: 0; }
.sdfs-steps > li { counter-increment: step; position: relative; padding-left: 3rem; margin-bottom: 1.25rem; }
.sdfs-steps > li::before {
	content: counter(step);
	position: absolute;
	left: 0;
	top: -0.1em;
	width: 2.1rem;
	height: 2.1rem;
	border-radius: 50%;
	background: var(--wp--preset--color--navy);
	color: var(--wp--preset--color--orange);
	font-family: var(--wp--preset--font-family--barlow-condensed);
	font-weight: 800;
	font-size: 1.2rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Post list rows */
.sdfs-post-row { border-bottom: 1px solid var(--wp--preset--color--rule); }
.sdfs-post-row:last-child { border-bottom: 0; }
.sdfs-post-row a { text-decoration: none; }
.sdfs-post-row a:hover { text-decoration: underline; }

/* Category label above post titles */
.taxonomy-category.sdfs-cat a {
	text-decoration: none;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--orange-dark);
}

/* Hero figure stays anchored to the bottom of the hero */
.sdfs-hero-figure { margin-bottom: calc(-1 * var(--wp--preset--spacing--60)) !important; }
.sdfs-hero-figure img { max-height: 520px; width: auto; }
@media (max-width: 781px) {
	.sdfs-hero-figure { margin-bottom: calc(-1 * var(--wp--preset--spacing--60)) !important; }
	.sdfs-hero-figure img { max-height: 300px; }
}

/* Footer */
.sdfs-footer a { color: inherit; text-decoration: none; }
.sdfs-footer a:hover { color: var(--wp--preset--color--orange); text-decoration: underline; }
.sdfs-footer .sdfs-footer-links { list-style: none; padding-left: 0; }
.sdfs-footer .sdfs-footer-links { font-size: 0.95rem; margin-top: 0.75rem; }
.sdfs-footer .sdfs-footer-links li { margin-bottom: 0.45em; white-space: nowrap; }
.sdfs-footer h4 { font-size: 1.15rem; letter-spacing: 0.04em; margin-bottom: 0; }
.sdfs-footer .sdfs-footer-cta .wp-block-button__link { font-size: 0.95rem; padding: 0.7em 1.2em; }
.sdfs-footer .sdfs-footer-cta .wp-block-button__link:hover { color: var(--wp--preset--color--navy); background: #fff; text-decoration: none; }
@media (max-width: 781px) { .sdfs-footer .wp-block-columns { display: grid !important; grid-template-columns: 1fr 1fr; gap: 1.5rem; } .sdfs-footer .wp-block-column:first-child { grid-column: 1 / -1; } }
.sdfs-steps[start="6"] { counter-reset: step 5; }
.sdfs-steps[start="11"] { counter-reset: step 10; }
