.cd-screen-reader {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}
.cd-skip-link { position: absolute; inset-inline-start: var(--cd-gutter); top: var(--cd-space-4); z-index: 10; }
.cd-skip-link:not(:focus) { clip-path: inset(50%); width: 1px; height: 1px; overflow: hidden; }
.cd-site-header { padding-bottom: var(--cd-space-2); }
.cd-header-utility, .cd-header-main {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--cd-space-6);
}
.cd-header-utility { width: fit-content; max-width: 100%; margin-inline-start: auto; justify-content: flex-end; gap: var(--cd-space-2); flex-wrap: wrap; padding-block: var(--cd-space-2); font-size: var(--cd-font-sm); color: var(--cd-color-muted); }
.cd-header-utility > :not(:first-child)::before { content: "·"; margin-inline-end: var(--cd-space-2); color: var(--cd-color-muted); }
.cd-header-utility:empty { display: none; }
.cd-header-utility a { color: inherit; text-decoration: none; }
.cd-header-utility a:hover { color: var(--cd-color-accent); text-decoration: underline; }
.cd-header-main { padding-block: var(--cd-space-3); gap: var(--cd-space-4); }
.cd-logo { flex-shrink: 0; max-width: 100%; }
.cd-brand { color: var(--cd-color-text); font-size: var(--cd-font-xl); font-weight: var(--cd-weight-bold); text-decoration: none; }
.cd-logo .custom-logo-link { display: inline-flex; align-items: center; }
.cd-logo .custom-logo { display: block; width: auto; max-width: 12rem; max-height: var(--cd-space-12); object-fit: contain; }
.cd-product-search { display: flex; align-items: center; gap: var(--cd-space-2); flex: 1; min-width: 0; max-width: var(--cd-container-narrow); }
.cd-product-search input[type="search"] {
	width: 100%; min-width: 0; min-height: var(--cd-control-size);
	padding: var(--cd-space-3) var(--cd-space-4);
	border: 1px solid var(--cd-color-border); border-radius: var(--cd-radius-pill);
	background: var(--cd-color-background); color: var(--cd-color-text); box-shadow: var(--cd-shadow-inset);
}
.cd-product-search input::placeholder { color: var(--cd-color-muted); opacity: 1; }
.cd-header-contacts { display: none; }
.cd-header-cart { flex-shrink: 0; }
.cd-header-cart svg { width: var(--cd-icon-size); height: var(--cd-icon-size); fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.cd-social-links { display: flex; flex-wrap: wrap; gap: var(--cd-space-3); list-style: none; margin: 0; padding: 0; }
@media (max-width: 40rem) {
	.cd-header-hours { display: none; }
	.cd-header-main { padding-block: var(--cd-space-4); }
	.cd-cart-text { display: none; }
	.cd-header-cart { padding-inline: var(--cd-space-3); }
	.cd-logo .custom-logo { max-width: 9rem; }
	.cd-primary-desktop { display: none; }
}

/* Menu and search share one flexible slot; cart and toggle keep their width. */
.cd-header-center { flex: 1; min-width: 0; position: relative; }
.cd-header-center .cd-product-search { max-width: none; }
.cd-search-toggle[hidden], .cd-search-close[hidden] { display: none; }
.cd-search-ready .cd-header-center { display: grid; align-items: center; }
.cd-search-ready .cd-primary-desktop, .cd-search-ready .cd-product-search { grid-area: 1 / 1; }
.cd-search-ready .cd-primary-desktop { transition: opacity var(--cd-transition-search), visibility var(--cd-transition-search); }
.cd-search-ready .cd-product-search {
	width: 100%; opacity: 0; visibility: hidden; pointer-events: none;
	clip-path: inset(-12px -12px -12px 100%);
	transition: opacity var(--cd-transition-search), clip-path var(--cd-transition-search), visibility var(--cd-transition-search);
}
.cd-search-open .cd-primary-desktop { opacity: 0; visibility: hidden; pointer-events: none; }
.cd-search-open .cd-product-search { opacity: 1; visibility: visible; pointer-events: auto; clip-path: inset(-12px); }
@media (max-width: 64rem) {
	.cd-has-mobile-nav .cd-header-utility { display: none; }
	.cd-has-mobile-nav .cd-header-contacts { display: flex; flex-direction: column; gap: var(--cd-space-1); min-width: 0; flex: 0 1 50%; text-align: right; line-height: var(--cd-line-height-heading); }
	.cd-header-contacts a { color: var(--cd-color-text); font-size: calc(var(--cd-font-sm) - 0.0625rem); font-weight: var(--cd-weight-semibold); text-decoration: none; }
	.cd-header-contacts span { color: var(--cd-color-muted); font-size: var(--cd-space-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.cd-has-mobile-nav .cd-site-header { padding-bottom: 0; }
	.cd-has-mobile-nav .cd-header-main { padding-block: var(--cd-space-2); }
	.cd-has-mobile-nav .cd-header-main > :is(.cd-search-toggle, .cd-header-account, .cd-header-cart) { display: none; }
	.cd-header-utility { padding-block: var(--cd-space-2); gap: var(--cd-space-2); }
	.cd-header-utility > :not(:first-child)::before { margin-inline-end: var(--cd-space-2); }
	.cd-header-main { flex-wrap: wrap; }
	.cd-header-main > .cd-logo { margin-inline-end: auto; }
	.cd-header-center { order: 4; flex-basis: 100%; }
	.cd-primary-desktop { display: none; }
	.cd-search-ready .cd-header-center { flex-basis: auto; position: absolute; width: 0; height: 0; overflow: hidden; }
	.cd-search-open .cd-header-center { position: relative; flex-basis: 100%; width: 100%; height: auto; overflow: visible; }
}
@media (prefers-reduced-motion: reduce) {
	.cd-search-ready .cd-primary-desktop, .cd-search-ready .cd-product-search { transition: none; }
}

/* Desktop: the original toggle becomes the submit end of one expanding control.
 * Mobile retains its separate full-width form and submit button. */
@media (min-width: 64.001rem) {
	.cd-header-main {
		--cd-control-size: calc(var(--cd-space-8) + var(--cd-space-3) / 2);
		padding: var(--cd-space-2) var(--cd-space-3);
		border-radius: var(--cd-radius-card);
		background: var(--cd-gradient-raised);
		box-shadow: var(--cd-shadow-raised);
	}
	.cd-header-main > :is(.cd-search-toggle, .cd-header-account, .cd-header-cart) {
		min-height: var(--cd-control-size);
		padding: var(--cd-space-1);
		font-size: var(--cd-font-sm);
		box-shadow: var(--cd-shadow-raised-soft);
	}
	.cd-header-main > .cd-header-cart { padding-inline: var(--cd-space-3); }
	.cd-header-main > .cd-button:focus-visible { outline-color: var(--cd-color-muted); }
	.cd-search-ready .cd-header-center { min-height: var(--cd-control-size); }
	.cd-search-ready .cd-product-search {
		position: absolute;
		inset-inline-end: calc(-1 * (var(--cd-space-4) + var(--cd-control-size)));
		width: var(--cd-control-size);
		height: var(--cd-control-size);
		padding-inline-end: var(--cd-control-size);
		gap: 0;
		border-radius: var(--cd-radius-pill);
		background: var(--cd-color-background);
		box-shadow: var(--cd-shadow-inset);
		clip-path: none;
		transition: width var(--cd-transition-search), opacity var(--cd-transition-search), visibility var(--cd-transition-search);
	}
	.cd-search-open .cd-product-search {
		width: calc(100% + var(--cd-space-4) + var(--cd-control-size));
	}
	.cd-search-ready .cd-product-search input[type="search"] {
		height: 100%;
		padding-block: var(--cd-space-2);
		padding-inline-end: var(--cd-control-size);
		border: 0;
		background: transparent;
		box-shadow: none;
	}
	.cd-search-ready .cd-product-search input[type="search"]::-webkit-search-cancel-button { display: none; }
	.cd-search-ready .cd-search-mobile-submit { display: none; }
	.cd-search-ready .cd-search-toggle { position: relative; z-index: 1; }
	.cd-search-open .cd-search-toggle {
		background: transparent;
		border-color: transparent;
		box-shadow: none;
		transform: none;
	}
	.cd-search-ready .cd-search-close {
		position: absolute;
		inset-inline-end: var(--cd-control-size);
		width: var(--cd-space-8);
		min-height: var(--cd-space-8);
		padding: var(--cd-space-1);
		background: transparent;
		border: 0;
		box-shadow: none;
		transform: none;
	}
}
@media (prefers-reduced-motion: reduce) {
	.cd-search-ready .cd-product-search { transition: none; }
}
