/**
 * WordPress bridge styles — keep demo chrome intact.
 * Do not invent a second design system here.
 */

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background: #fff;
	clip: auto !important;
	clip-path: none;
	color: var(--ink);
	display: block;
	font-size: 14px;
	font-weight: 700;
	height: auto;
	left: 12px;
	line-height: normal;
	padding: 12px 16px;
	text-decoration: none;
	top: 12px;
	width: auto;
	z-index: 100000;
}

/* WP menu → demo .nav flat link rhythm */
.nav .menu {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 30px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.nav .menu li {
	margin: 0;
}

.nav .menu a {
	color: #2f3a45;
	font-size: 14px;
	font-weight: 700;
}

.nav .menu a:hover,
.nav .menu .current-menu-item > a,
.nav .menu .current_page_item > a {
	color: var(--blue);
}

.nav-toggle {
	display: none;
	min-height: 44px;
	padding: 0 14px;
	border: 1px solid var(--line);
	background: #fff;
	font: inherit;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	cursor: pointer;
	color: var(--ink);
}

@media (max-width: 980px) {
	.nav-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.header-inner {
		grid-template-columns: 1fr auto auto;
	}

	.nav {
		display: none;
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		background: #fff;
		border-bottom: 1px solid var(--line);
		padding: 16px 20px 20px;
		z-index: 50;
	}

	.header.is-nav-open .nav {
		display: block;
	}

	.nav .menu {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}
}

.header {
	position: relative;
}

/* Soften WP admin chrome clash */
body.admin-bar .header {
	top: 0;
}

/* Align legacy theme utility classes if still referenced */
.cwrs-container {
	width: min(var(--max), calc(100% - 40px));
	margin: auto;
}

.site-main--flush {
	padding: 0;
}

.ct-todo-note {
	margin: 0 0 18px;
	padding: 10px 12px;
	background: var(--soft);
	border-left: 3px solid var(--blue);
	font-size: 13px;
	color: var(--text);
}
