/* Hello/Elementor remain owners of public markup, logo assets, menu state and content.
 * The only WooCommerce adaptation is the bounded empty-cart alignment rule below.
 * No form, portal, payment or print selector is restyled here.
 * The black/orange public brand stays fixed in light/dark/system; RC tokens supply
 * shared geometry and focus, not automatic recolouring of unverified page content.
 */
body.rcrp-public-site #site-header.dynamic-header,
body.rcrp-public-site #site-footer.dynamic-footer {
	--rcrp-public-focus: #ffb275;
	box-sizing: border-box;
	font-size: 1rem;
	line-height: 1.5;
}
body.rcrp-public-site #site-header.dynamic-header {
	padding: 12px 16px;
	background-color: #000;
	background-position: 16px center;
	background-size: clamp(160px, 25vw, 330px) auto;
	/* The existing kit-owned background logo is not replaced with a new image. */
}
body.rcrp-public-site #site-header.dynamic-header .header-inner {
	display: grid;
	grid-template-columns: clamp(160px, 25vw, 330px) minmax(0, 1fr);
	align-items: center;
	gap: 16px;
	min-height: 48px;
	width: 100%;
	max-width: 100%;
}
body.rcrp-public-site :is(#site-header.dynamic-header, #site-footer.dynamic-footer) :is(nav, ul, li, .footer-inner, .site-branding, .copyright) {
	min-width: 0;
	max-width: 100%;
}
body.rcrp-public-site #site-header.dynamic-header .site-navigation.show { justify-content: flex-end; }
body.rcrp-public-site :is(#site-header.dynamic-header, #site-footer.dynamic-footer) .site-navigation ul.menu {
	gap: 4px;
	margin-block: 0;
	justify-content: flex-end;
}
body.rcrp-public-site :is(#site-header.dynamic-header, #site-footer.dynamic-footer) .site-navigation a,
body.rcrp-public-site #site-header.dynamic-header .site-navigation-dropdown a {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	min-height: var(--rcrp-control-min, 46px);
	min-width: 44px;
	padding: 10px 12px;
	border-radius: var(--rcrp-radius-xs, 8px);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.5;
	overflow-wrap: anywhere;
	white-space: normal;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}
body.rcrp-public-site #site-header.dynamic-header .site-navigation a { color: #fff; }
body.rcrp-public-site #site-header.dynamic-header .site-navigation a:hover,
body.rcrp-public-site #site-header.dynamic-header .site-navigation a[aria-current="page"] {
	color: #fff;
	background: #262626;
	text-decoration: underline;
}
body.rcrp-public-site #site-header.dynamic-header .site-navigation-toggle-holder { justify-content: flex-end; padding: 0; }
body.rcrp-public-site #site-header.dynamic-header .site-navigation-toggle {
	min-width: 48px;
	min-height: 48px;
	border: 1px solid #8e8e8e;
	color: #fff;
	background: #171717;
}
body.rcrp-public-site #site-header.dynamic-header .site-navigation-dropdown {
	/* State/class/aria/inert still come exclusively from the native theme. */
	top: 100%;
	bottom: auto;
	margin-block-start: 0;
}
body.rcrp-public-site #site-header.dynamic-header .site-navigation-dropdown ul.menu {
	box-sizing: border-box;
	max-height: calc(100vh - 100px);
	max-height: calc(100dvh - 100px);
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 8px;
	background: #fff;
	border: 1px solid #777;
	box-shadow: var(--rcrp-shadow-md, 0 14px 38px #06182f1a);
}
body.rcrp-public-site #site-header.dynamic-header .site-navigation-dropdown a { color: #202020; background: #fff; }
body.rcrp-public-site #site-header.dynamic-header .site-navigation-dropdown a:hover,
body.rcrp-public-site #site-header.dynamic-header .site-navigation-dropdown a[aria-current="page"] {
	color: #000;
	background: #ffefe3;
	text-decoration: underline;
}
body.rcrp-public-site #site-footer.dynamic-footer {
	padding: 28px 16px;
	background-color: #ff6900;
	color: #171717;
	--rcrp-public-focus: #000;
}
body.rcrp-public-site #site-footer.dynamic-footer .footer-inner { gap: 20px; }
body.rcrp-public-site #site-footer.dynamic-footer .site-navigation ul.menu { justify-content: center; }
body.rcrp-public-site #site-footer.dynamic-footer :is(.site-navigation a, .copyright p, .copyright a) { color: #171717; }
body.rcrp-public-site #site-footer.dynamic-footer .site-navigation a:hover,
body.rcrp-public-site #site-footer.dynamic-footer .site-navigation a[aria-current="page"] { color: #000; background: #ffae75; text-decoration: underline; }
body.rcrp-public-site #site-footer.dynamic-footer .custom-logo { width: min(360px, 100%); height: auto; }
body.rcrp-public-site #site-footer.dynamic-footer .copyright :is(p, a) { font-size: 1rem; line-height: 1.6; overflow-wrap: anywhere; }
body.rcrp-public-site #site-footer.dynamic-footer .copyright a { display: inline-flex; align-items: center; min-height: 44px; }
body.rcrp-public-site :is(#site-header.dynamic-header, #site-footer.dynamic-footer) :is(a, button):focus-visible {
	outline: 3px solid var(--rcrp-public-focus);
	outline-offset: 2px;
	box-shadow: none;
}
body.rcrp-public-site #site-header.dynamic-header .site-navigation-dropdown a:focus-visible { outline-color: #075f8c; }
@media (max-width: 992px) {
	/* Hello 3.5.1 hides both controls at exactly 992px: give the native toggle ownership. */
	body.rcrp-public-site #site-header.dynamic-header.menu-dropdown-tablet:not(.menu-layout-dropdown) .site-navigation-toggle-holder.show { display: flex !important; }
}
@media (max-width: 420px) {
	body.rcrp-public-site #site-footer.dynamic-footer .site-navigation ul.menu { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; }
	body.rcrp-public-site #site-footer.dynamic-footer .site-navigation ul.menu li { display: flex; }
	body.rcrp-public-site #site-footer.dynamic-footer .site-navigation a { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
	body.rcrp-public-site :is(#site-header.dynamic-header, #site-footer.dynamic-footer) *,
	body.rcrp-public-site #site-header.dynamic-header .site-navigation-toggle-icon::before,
	body.rcrp-public-site #site-header.dynamic-header .site-navigation-toggle-icon::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
	body.rcrp-public-site :is(#site-header.dynamic-header, #site-footer.dynamic-footer) :is(a, button):focus-visible { outline-color: Highlight; }
	body.rcrp-public-site #site-header.dynamic-header .site-navigation-toggle { border-color: ButtonText; }
}

/* The Hello wide-block gutter was pushing an empty cart left of the viewport.
   Scope to the actual empty block and its cart parent; populated carts keep
   their native layout. Loading this on cart requires owner request A-SCR-02. */
body.woocommerce-cart .wp-block-woocommerce-cart:has(.wp-block-woocommerce-empty-cart-block):not(:has(.wp-block-woocommerce-filled-cart-block)) {
	margin-inline: 0;
	max-inline-size: 100%;
	inline-size: 100%;
	min-inline-size: 0;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
	margin-inline: 0;
	max-inline-size: 100%;
	inline-size: 100%;
	min-inline-size: 0;
	box-sizing: border-box;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block :is(h2, p) { overflow-wrap: anywhere; }
