/* ==========================================================================
   C4 Tuning: storefront design layer (child of auto-parts-garage)
   Loaded after parent + WooCommerce CSS. Every rule is scoped to body.c4-design
   so deactivating the child (or removing the body class) restores the parent.
   Breakpoints: 768 / 1024 / 1280 (mobile-first). Parent's mobile nav switches at 1000.
   ========================================================================== */

/* 1. Tokens ---------------------------------------------------------------- */
:root {
	/* Surfaces: carbon, darkest to lightest */
	--c4-bg: #0b0c0e;
	--c4-surface: #121418;
	--c4-surface-2: #191c21;
	--c4-surface-3: #22262d;
	--c4-line: #2b3038;
	--c4-line-strong: #3d434d;

	/* Text (contrast measured against --c4-surface) */
	--c4-text: #f2f3f5;          /* 17.0:1 */
	--c4-text-muted: #a9aeb8;    /*  8.2:1 */
	--c4-text-subtle: #8c929d;   /*  5.6:1 */

	/* Signature accent: the existing #ff6900 family */
	--c4-accent: #ff6900;        /* 6.6:1 on --c4-bg; used as text, fill, focus */
	--c4-accent-hover: #ff8533;
	--c4-accent-press: #e65f00;
	--c4-on-accent: #0b0c0e;     /* 6.8:1 on accent. White on orange fails AA, so never use it */
	--c4-accent-soft: rgba(255, 105, 0, 0.12);
	--c4-accent-line: rgba(255, 105, 0, 0.45);

	--c4-success: #3ddc84;
	--c4-danger: #ff6b6b;

	/* Type */
	--c4-font-display: "C4 Display", "Space Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--c4-font-text: "C4 Text", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--c4-fs-xs: 0.75rem;
	--c4-fs-sm: 0.875rem;
	--c4-fs-base: 1rem;
	--c4-fs-md: 1.125rem;
	--c4-fs-lg: 1.375rem;
	--c4-fs-xl: clamp(1.5rem, 1.2rem + 1vw, 2rem);
	--c4-fs-2xl: clamp(1.875rem, 1.35rem + 2.2vw, 3rem);
	--c4-fs-3xl: clamp(2.375rem, 1.5rem + 3.9vw, 4.5rem);
	--c4-lh-tight: 1.05;
	--c4-lh-snug: 1.25;
	--c4-lh-body: 1.6;
	--c4-track-display: -0.025em;
	--c4-track-caps: 0.12em;

	/* Space (4px base) */
	--c4-s-1: 0.25rem;
	--c4-s-2: 0.5rem;
	--c4-s-3: 0.75rem;
	--c4-s-4: 1rem;
	--c4-s-5: 1.5rem;
	--c4-s-6: 2rem;
	--c4-s-7: 3rem;
	--c4-s-8: 4rem;
	--c4-s-9: 6rem;

	/* Shape + depth */
	--c4-r-sm: 6px;
	--c4-r-md: 10px;
	--c4-r-lg: 16px;
	--c4-r-pill: 999px;
	--c4-shadow-1: 0 1px 2px rgba(0, 0, 0, 0.4);
	--c4-shadow-2: 0 12px 32px -12px rgba(0, 0, 0, 0.7);
	--c4-focus: 0 0 0 2px var(--c4-bg), 0 0 0 4px var(--c4-accent);

	/* Motion */
	--c4-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
	--c4-dur: 180ms;

	/* Carbon weave used by hero + header */
	/* fine diagonal weave: hairlines read as texture without muddying the surface */
	--c4-carbon:
		repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.032) 0 1px, transparent 1px 7px),
		repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.22) 0 1px, transparent 1px 7px);

	--c4-header-offset: var(--wp-admin--admin-bar--height, 0px);
}

/* 2. Base ------------------------------------------------------------------ */
html { scroll-padding-top: 6rem; }

body.c4-design {
	background: var(--c4-bg);
	color: var(--c4-text);
	font-family: var(--c4-font-text);
	font-size: var(--c4-fs-base);
	line-height: var(--c4-lh-body);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-feature-settings: "cv11", "ss01";
}

body.c4-design h1,
body.c4-design h2,
body.c4-design h3,
body.c4-design h4,
body.c4-design h5,
body.c4-design h6 {
	font-family: var(--c4-font-display);
	color: var(--c4-text);
	letter-spacing: var(--c4-track-display);
	line-height: var(--c4-lh-snug);
	font-weight: 600;
}

body.c4-design p,
body.c4-design li,
body.c4-design td,
body.c4-design th,
body.c4-design label,
body.c4-design dd,
body.c4-design dt { color: inherit; }

body.c4-design a { color: var(--c4-accent); text-underline-offset: 0.2em; }
body.c4-design a:hover { color: var(--c4-accent-hover); }

body.c4-design ::selection { background: var(--c4-accent); color: var(--c4-on-accent); }

body.c4-design :focus { outline: none; }
body.c4-design :focus-visible {
	outline: 2px solid var(--c4-accent);
	outline-offset: 2px;
}

body.c4-design hr { border-color: var(--c4-line); opacity: 1; }

body.c4-design img { max-width: 100%; height: auto; }

body.c4-design .screen-reader-text:focus {
	background: var(--c4-accent);
	color: var(--c4-on-accent);
	border-radius: var(--c4-r-sm);
	box-shadow: var(--c4-shadow-2);
}

/* Shared form controls (classic forms, sidebar, footer, reviews) */
body.c4-design input[type="text"],
body.c4-design input[type="email"],
body.c4-design input[type="tel"],
body.c4-design input[type="url"],
body.c4-design input[type="password"],
body.c4-design input[type="search"],
body.c4-design input[type="number"],
body.c4-design input[type="date"],
body.c4-design textarea,
body.c4-design select {
	background-color: var(--c4-surface-2);
	color: var(--c4-text);
	border: 1px solid var(--c4-line-strong);
	border-radius: var(--c4-r-sm);
	font-family: var(--c4-font-text);
	font-size: var(--c4-fs-base);
	line-height: 1.4;
	padding: 0.7rem 0.875rem;
	box-shadow: none;
	transition: border-color var(--c4-dur) var(--c4-ease), box-shadow var(--c4-dur) var(--c4-ease);
}
body.c4-design input::placeholder,
body.c4-design textarea::placeholder { color: var(--c4-text-subtle); opacity: 1; }
body.c4-design input:focus,
body.c4-design textarea:focus,
body.c4-design select:focus {
	border-color: var(--c4-accent);
	box-shadow: 0 0 0 3px var(--c4-accent-soft);
	outline: none;
}
body.c4-design select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 2.5rem;
	background-image: linear-gradient(45deg, transparent 50%, var(--c4-text-muted) 50%), linear-gradient(135deg, var(--c4-text-muted) 50%, transparent 50%);
	background-position: calc(100% - 1.15rem) 55%, calc(100% - 0.8rem) 55%;
	background-size: 0.35rem 0.35rem, 0.35rem 0.35rem;
	background-repeat: no-repeat;
}
body.c4-design select option { background: var(--c4-surface-2); color: var(--c4-text); }
body.c4-design input[type="checkbox"],
body.c4-design input[type="radio"] { accent-color: var(--c4-accent); }

/* Buttons: one primary language for theme + classic Woo buttons */
body.c4-design .c4-btn,
body.c4-design input[type="submit"],
body.c4-design button[type="submit"],
body.c4-design .woocommerce a.button,
body.c4-design .woocommerce button.button,
body.c4-design .woocommerce input.button,
body.c4-design .woocommerce #respond input#submit,
body.c4-design.woocommerce a.button,
body.c4-design.woocommerce button.button,
body.c4-design.woocommerce input.button,
body.c4-design.woocommerce #respond input#submit,
body.c4-design .woocommerce a.button.alt,
body.c4-design .woocommerce button.button.alt,
body.c4-design.woocommerce a.button.alt,
body.c4-design.woocommerce button.button.alt {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--c4-s-2);
	min-height: 44px;
	padding: 0.7rem 1.4rem;
	background: var(--c4-accent);
	color: var(--c4-on-accent);
	border: 1px solid var(--c4-accent);
	border-radius: var(--c4-r-sm);
	font-family: var(--c4-font-display);
	font-size: var(--c4-fs-sm);
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.2;
	text-transform: uppercase;
	text-decoration: none;
	text-indent: 0;
	box-shadow: none;
	cursor: pointer;
	transition: background-color var(--c4-dur) var(--c4-ease), border-color var(--c4-dur) var(--c4-ease), color var(--c4-dur) var(--c4-ease), transform var(--c4-dur) var(--c4-ease);
}
body.c4-design .c4-btn:hover,
body.c4-design input[type="submit"]:hover,
body.c4-design button[type="submit"]:hover,
body.c4-design .woocommerce a.button:hover,
body.c4-design .woocommerce button.button:hover,
body.c4-design .woocommerce input.button:hover,
body.c4-design .woocommerce #respond input#submit:hover,
body.c4-design.woocommerce a.button:hover,
body.c4-design.woocommerce button.button:hover,
body.c4-design.woocommerce input.button:hover,
body.c4-design .woocommerce a.button.alt:hover,
body.c4-design .woocommerce button.button.alt:hover,
body.c4-design.woocommerce a.button.alt:hover,
body.c4-design.woocommerce button.button.alt:hover {
	background: var(--c4-accent-hover);
	border-color: var(--c4-accent-hover);
	color: var(--c4-on-accent);
}
body.c4-design .c4-btn:active,
body.c4-design .woocommerce a.button:active,
body.c4-design .woocommerce button.button:active,
body.c4-design.woocommerce a.button:active,
body.c4-design.woocommerce button.button:active {
	background: var(--c4-accent-press);
	transform: translateY(1px);
}
body.c4-design .woocommerce button.button:disabled,
body.c4-design .woocommerce button.button:disabled[disabled],
body.c4-design.woocommerce button.button:disabled,
body.c4-design.woocommerce button.button.alt.disabled,
body.c4-design .woocommerce button.button.alt.disabled {
	background: var(--c4-surface-3);
	border-color: var(--c4-line-strong);
	color: var(--c4-text-muted);
	opacity: 1;
	cursor: not-allowed;
}

body.c4-design .c4-btn--ghost {
	background: transparent;
	color: var(--c4-text);
	border-color: var(--c4-line-strong);
}
body.c4-design .c4-btn--ghost:hover {
	background: var(--c4-surface-3);
	border-color: var(--c4-text-subtle);
	color: var(--c4-text);
}

/* Classic Woo notices */
body.c4-design .woocommerce-message,
body.c4-design .woocommerce-info,
body.c4-design .woocommerce-error,
body.c4-design .woocommerce-noreviews,
body.c4-design p.no-comments {
	background: var(--c4-surface-2);
	color: var(--c4-text);
	border: 1px solid var(--c4-line);
	border-top: 3px solid var(--c4-accent);
	border-radius: var(--c4-r-md);
}
body.c4-design .woocommerce-error { border-top-color: var(--c4-danger); }
body.c4-design .woocommerce-message { border-top-color: var(--c4-success); }
body.c4-design .woocommerce-message::before { color: var(--c4-success); }
body.c4-design .woocommerce-info::before { color: var(--c4-accent); }
body.c4-design .woocommerce-error::before { color: var(--c4-danger); }
body.c4-design .woocommerce-message .button,
body.c4-design .woocommerce-info .button { min-height: 36px; padding: 0.45rem 1rem; }

/* 3. Header ---------------------------------------------------------------- */
/* One row (child middle-header.php): wordmark | primary nav | search, account, cart.
   Top bar carried placeholder social links and an unrendered currency shortcode;
   hidden, not removed. */
body.c4-design .top-bar { display: none; }
body.c4-design .currency-box { display: none !important; }

body.c4-design header[role="banner"] {
	position: relative;
	z-index: 100;
	background: rgba(11, 12, 14, 0.96);
	border-bottom: 1px solid var(--c4-line);
	box-shadow: inset 0 -1px 0 rgba(255, 105, 0, 0.18);
}
body.c4-design .home-page-header,
body.c4-design.admin-bar .home-page-header { margin-top: 0; background: transparent; }
body.c4-design .middle-header,
body.c4-design #header { background: transparent; }

body.c4-design .c4-header { padding: var(--c4-s-3) 0; }
body.c4-design .c4-header__row {
	display: flex;
	align-items: center;
	gap: var(--c4-s-2);
	min-height: 48px;
}
body.c4-design .c4-header__brand { order: 1; flex: 0 1 auto; min-width: 0; margin-right: auto; }
body.c4-design .c4-header__actions { order: 2; display: flex; align-items: center; gap: var(--c4-s-2); }
body.c4-design .c4-header__nav { order: 3; }

/* Wordmark */
body.c4-design .logo .site-title,
body.c4-design .logo .site-title a,
body.c4-design .logo p.site-title a {
	font-family: var(--c4-font-display);
	font-size: 1.375rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	color: var(--c4-text);
	text-decoration: none;
	line-height: 1;
	white-space: nowrap;
}
body.c4-design .logo .site-title a::before {
	content: "";
	display: inline-block;
	width: 0.6em;
	height: 0.6em;
	margin-right: 0.4em;
	background: var(--c4-accent);
	transform: skewX(-16deg);
	vertical-align: 0.02em;
}
body.c4-design .logo .site-title a:hover { color: var(--c4-text); }
body.c4-design .logo .site-description { color: var(--c4-text-muted); font-size: var(--c4-fs-xs); }
body.c4-design .site-logo img { max-height: 44px; width: auto; }

/* Icon buttons: search, account, cart, menu */
body.c4-design .c4-icon-btn,
body.c4-design .toggle-nav button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border-radius: var(--c4-r-pill);
	border: 1px solid var(--c4-line);
	background: var(--c4-surface-2);
	color: var(--c4-text);
	font-size: 1rem;
	line-height: 1;
	cursor: pointer;
	transition: border-color var(--c4-dur) var(--c4-ease), color var(--c4-dur) var(--c4-ease);
}
body.c4-design .c4-icon-btn:hover,
body.c4-design .toggle-nav button:hover,
body.c4-design .c4-search[open] > summary { border-color: var(--c4-accent); color: var(--c4-accent); }
body.c4-design .toggle-nav i { padding: 0; background: transparent; color: inherit; font-size: 1rem; }

/* Search disclosure */
body.c4-design .c4-search { position: relative; }
body.c4-design .c4-search > summary { list-style: none; }
body.c4-design .c4-search > summary::-webkit-details-marker { display: none; }
body.c4-design .c4-search__panel {
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	z-index: 20;
	width: min(420px, calc(100vw - 2rem));
	padding: var(--c4-s-2);
	background: var(--c4-surface-2);
	border: 1px solid var(--c4-line-strong);
	border-radius: var(--c4-r-md);
	box-shadow: var(--c4-shadow-2);
}
body.c4-design .c4-search__panel form,
body.c4-design .c4-404__search form { display: flex; align-items: center; gap: var(--c4-s-2); margin: 0; }
body.c4-design .c4-search__panel input[type="search"],
body.c4-design .c4-404__search input[type="search"] { flex: 1 1 auto; min-width: 0; width: auto; min-height: 44px; }
body.c4-design .c4-search__panel button[type="submit"],
body.c4-design .c4-404__search button[type="submit"] { flex: 0 0 auto; }

/* Cart badge */
body.c4-design .cart_no { position: relative; display: inline-flex; }
body.c4-design span.cart-value {
	position: absolute;
	top: -4px;
	right: -6px;
	left: auto;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--c4-r-pill);
	background: var(--c4-accent);
	color: var(--c4-on-accent);
	font-family: var(--c4-font-text);
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	font-variant-numeric: tabular-nums;
	box-shadow: 0 0 0 2px var(--c4-bg);
	pointer-events: none;
}
body.c4-design span.cart-value.is-empty { background: var(--c4-surface-3); color: var(--c4-text-muted); }

/* Primary nav (shared) */
body.c4-design .main-navigation a {
	color: var(--c4-text-muted);
	font-family: var(--c4-font-display);
	font-size: var(--c4-fs-xs);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	border: 0;
	transition: color var(--c4-dur) var(--c4-ease);
}
body.c4-design .main-navigation li a:hover,
body.c4-design .main-navigation li a:focus-visible,
body.c4-design .main-navigation .current_page_item > a,
body.c4-design .main-navigation .current-menu-item > a { color: var(--c4-text); background: none; }
body.c4-design li.current-menu-item a { border-bottom: 0; margin-bottom: 0; }
body.c4-design .main-navigation ul ul {
	background: var(--c4-surface-2);
	border: 1px solid var(--c4-line);
	border-radius: var(--c4-r-md);
	box-shadow: var(--c4-shadow-2);
}
body.c4-design .main-navigation ul ul a { text-transform: none; letter-spacing: 0; font-size: var(--c4-fs-sm); }
body.c4-design .main-navigation ul.sub-menu > li > a::before,
body.c4-design .main-navigation ul.sub-menu > li > a::after { display: none; }

/* Mobile drawer (parent JS toggles .sidenav.show; parent CSS makes it fixed <=1000px) */
@media screen and (max-width: 1000px) {
	body.c4-design .toggle-nav { display: block; padding: 0; }
	body.c4-design .sidenav {
		background: var(--c4-bg);
		cursor: default;
		padding: var(--c4-s-8) var(--c4-s-5) var(--c4-s-6);
	}
	body.c4-design .sidenav .closebtn {
		top: var(--c4-s-4);
		right: var(--c4-s-5);
		width: 44px;
		height: 44px;
		padding: 0;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		background: var(--c4-accent);
		color: var(--c4-on-accent);
		border-radius: var(--c4-r-pill);
	}
	body.c4-design .sidenav .closebtn i { color: var(--c4-on-accent); }
	body.c4-design .main-navigation ul li { display: block; }
	body.c4-design .main-navigation ul li a {
		display: block;
		padding: var(--c4-s-4) 0;
		border-bottom: 1px solid var(--c4-line);
		color: var(--c4-text);
		font-size: var(--c4-fs-lg);
		letter-spacing: -0.01em;
		text-transform: none;
	}
	body.c4-design .main-navigation .current-menu-item > a,
	body.c4-design .main-navigation .current_page_item > a { color: var(--c4-accent); }
}

@media (max-width: 379.98px) {
	body.c4-design .logo .site-title a { font-size: 1.125rem; }
	body.c4-design .c4-header__actions { gap: var(--c4-s-1); }
	body.c4-design .c4-account { display: none; }
}

/* Desktop: sticky blurred bar, nav centred between wordmark and actions */
@media (min-width: 1001px) {
	body.c4-design header[role="banner"] { position: sticky; top: var(--c4-header-offset); }
	@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
		/* desktop only: backdrop-filter would trap the fixed mobile drawer */
		body.c4-design header[role="banner"] {
			background: rgba(11, 12, 14, 0.8);
			-webkit-backdrop-filter: saturate(140%) blur(14px);
			backdrop-filter: saturate(140%) blur(14px);
		}
	}
	body.c4-design .toggle-nav,
	body.c4-design .sidenav .closebtn { display: none !important; }
	body.c4-design .c4-header__row { flex-wrap: wrap; column-gap: var(--c4-s-5); }
	body.c4-design .c4-header__brand { margin-right: 0; }
	body.c4-design .c4-header__nav {
		order: 3;
		flex: 1 1 100%;
		display: flex;
		justify-content: center;
		border-top: 1px solid var(--c4-line);
		margin-top: var(--c4-s-2);
	}
	body.c4-design .c4-header__actions { margin-left: auto; }
	body.c4-design #mySidenav { display: block; }
	body.c4-design .main-navigation ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		column-gap: var(--c4-s-5);
	}
	body.c4-design .main-navigation ul li { padding: 0; }
	body.c4-design .main-navigation .menu > li > a,
	body.c4-design .main-navigation ul.mobile_nav > li > a {
		position: relative;
		display: block;
		padding: 0.8rem 0;
	}
	body.c4-design .main-navigation ul.mobile_nav > li > a::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0.45rem;
		height: 2px;
		background: var(--c4-accent);
		transform: scaleX(0);
		transform-origin: left;
		transition: transform var(--c4-dur) var(--c4-ease);
	}
	body.c4-design .main-navigation ul.mobile_nav > li > a:hover::after,
	body.c4-design .main-navigation ul.mobile_nav > li > a:focus-visible::after,
	body.c4-design .main-navigation ul.mobile_nav > li.current-menu-item > a::after { transform: scaleX(1); }
}
/* Wide: single row, nav sits between wordmark and actions */
@media (min-width: 1200px) {
	body.c4-design .c4-header__row { flex-wrap: nowrap; }
	body.c4-design .c4-header__nav { order: 2; flex: 1 1 auto; min-width: 0; margin-top: 0; border-top: 0; }
	body.c4-design .c4-header__actions { order: 3; margin-left: 0; }
}

/* 4. Hero (front page) ----------------------------------------------------- */
body.c4-design main#maincontent > .row.mt-5 { margin-top: var(--c4-s-5) !important; }

body.c4-design .c4-hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	margin: 0 0 var(--c4-s-7);
	padding: var(--c4-s-7) var(--c4-s-5);
	border: 1px solid var(--c4-line);
	border-radius: var(--c4-r-lg);
	background:
		radial-gradient(60% 90% at 100% 0%, rgba(255, 105, 0, 0.22), transparent 60%),
		radial-gradient(50% 70% at 0% 100%, rgba(255, 255, 255, 0.04), transparent 70%),
		var(--c4-carbon),
		var(--c4-surface);
	background-size: auto;
}
body.c4-design .c4-hero::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 4px;
	background: linear-gradient(180deg, var(--c4-accent), transparent 85%);
}
body.c4-design .c4-hero::after {
	/* livery stripes, decorative */
	content: "";
	position: absolute;
	z-index: -1;
	right: -6%;
	bottom: -30%;
	width: 46%;
	height: 160%;
	background: repeating-linear-gradient(90deg, rgba(255, 105, 0, 0.16) 0 14px, transparent 14px 34px);
	transform: skewX(-18deg);
	mask-image: linear-gradient(180deg, transparent, #000 40%, #000 70%, transparent);
	-webkit-mask-image: linear-gradient(180deg, transparent, #000 40%, #000 70%, transparent);
	pointer-events: none;
}
body.c4-design .c4-hero__inner { position: relative; max-width: 46rem; }
body.c4-design .c4-hero__eyebrow {
	margin: 0 0 var(--c4-s-4);
	color: var(--c4-accent);
	font-family: var(--c4-font-display);
	font-size: var(--c4-fs-xs);
	font-weight: 600;
	letter-spacing: var(--c4-track-caps);
	text-transform: uppercase;
}
body.c4-design .c4-hero__title {
	margin: 0 0 var(--c4-s-4);
	max-width: 15ch;
	font-size: var(--c4-fs-3xl);
	font-weight: 700;
	line-height: var(--c4-lh-tight);
	letter-spacing: -0.035em;
	text-wrap: balance;
}
body.c4-design .c4-hero__lede {
	margin: 0 0 var(--c4-s-6);
	max-width: 52ch;
	color: var(--c4-text-muted);
	font-size: var(--c4-fs-md);
	text-wrap: pretty;
}
body.c4-design .c4-hero__actions { display: flex; flex-wrap: wrap; gap: var(--c4-s-3); }
body.c4-design .c4-hero__cats {
	display: flex;
	flex-wrap: wrap;
	gap: var(--c4-s-2);
	margin: var(--c4-s-6) 0 0;
	padding: var(--c4-s-5) 0 0;
	border-top: 1px solid var(--c4-line);
	list-style: none;
}
body.c4-design .c4-hero__cats li { margin: 0; padding: 0; list-style: none; }
body.c4-design .c4-hero__cats a {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0.35rem 0.9rem;
	border: 1px solid var(--c4-line-strong);
	border-radius: var(--c4-r-pill);
	background: rgba(11, 12, 14, 0.5);
	color: var(--c4-text);
	font-size: var(--c4-fs-sm);
	text-decoration: none;
	transition: border-color var(--c4-dur) var(--c4-ease), color var(--c4-dur) var(--c4-ease);
}
body.c4-design .c4-hero__cats a:hover { border-color: var(--c4-accent); color: var(--c4-accent); }
body.c4-design .c4-anchor { display: block; height: 0; }

/* 5. Archive / page titles + toolbar -------------------------------------- */
body.c4-design .woocommerce-products-header { margin-bottom: var(--c4-s-5); }
body.c4-design .woocommerce-products-header__title,
body.c4-design h1.page-title,
body.c4-design h1.entry-title,
body.c4-design .entry-content > h1:first-child {
	font-size: var(--c4-fs-2xl);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.1;
}
body.c4-design .term-description,
body.c4-design .woocommerce-products-header .page-description { color: var(--c4-text-muted); }

body.c4-design .woocommerce-result-count {
	color: var(--c4-text-subtle);
	font-size: var(--c4-fs-sm);
	margin: 0 0 var(--c4-s-5);
	line-height: 44px;
}
body.c4-design .woocommerce-ordering { margin: 0 0 var(--c4-s-5); }
body.c4-design .woocommerce-ordering select,
body.c4-design.woocommerce .woocommerce-ordering select { min-height: 44px; padding-top: 0.5rem; padding-bottom: 0.5rem; font-size: var(--c4-fs-sm); }

body.c4-design .woocommerce-breadcrumb,
body.c4-design.woocommerce .woocommerce-breadcrumb {
	color: var(--c4-text-subtle);
	font-size: var(--c4-fs-sm);
	margin-bottom: var(--c4-s-5);
}
body.c4-design .woocommerce-breadcrumb a,
body.c4-design.woocommerce .woocommerce-breadcrumb a { color: var(--c4-text-muted); text-decoration: none; }
body.c4-design .woocommerce-breadcrumb a:hover { color: var(--c4-accent); }

/* 6. Product grid ---------------------------------------------------------- */
body.c4-design ul.products[class*="columns-"],
body.c4-design.woocommerce ul.products[class*="columns-"] {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--c4-s-5);
	margin: 0 0 var(--c4-s-7);
	padding: 0;
}
body.c4-design ul.products::before,
body.c4-design ul.products::after { display: none !important; content: none; }
/* Fixed steps (no auto-fill): 1 col <576, 2 >=576, 3 >=1024, columns-N from 1280 */
@media (min-width: 576px) {
	body.c4-design ul.products[class*="columns-"],
	body.c4-design.woocommerce ul.products[class*="columns-"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
	body.c4-design ul.products[class*="columns-"],
	body.c4-design.woocommerce ul.products[class*="columns-"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	body.c4-design ul.products.columns-2,
	body.c4-design.woocommerce ul.products.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1280px) {
	body.c4-design ul.products[class*="columns-"],
	body.c4-design.woocommerce ul.products[class*="columns-"] { gap: var(--c4-s-6); }
	body.c4-design ul.products.columns-4,
	body.c4-design.woocommerce ul.products.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	body.c4-design ul.products.columns-5,
	body.c4-design.woocommerce ul.products.columns-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	body.c4-design ul.products.columns-6,
	body.c4-design.woocommerce ul.products.columns-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

body.c4-design ul.products[class*="columns-"] li.product:nth-child(n),
body.c4-design.woocommerce ul.products[class*="columns-"] li.product:nth-child(n) {
	position: relative;
	display: flex;
	flex-direction: column;
	float: none;
	clear: none;
	width: auto;
	margin: 0;
	padding: 0;
	overflow: hidden;
	text-align: left;
	background: var(--c4-surface);
	border: 1px solid var(--c4-line);
	border-radius: var(--c4-r-lg);
	transition: border-color var(--c4-dur) var(--c4-ease), transform var(--c4-dur) var(--c4-ease), box-shadow var(--c4-dur) var(--c4-ease);
}
/* Parent style.css forces .related.products ul li to 29% / 46% / 100% !important
   (float-era widths); inside grid tracks every card fills its track. */
body.c4-design ul.products[class*="columns-"] li.product:nth-child(n),
body.c4-design.woocommerce ul.products[class*="columns-"] li.product:nth-child(n) {
	width: 100% !important;
	max-width: none;
	min-width: 0;
}
body.c4-design ul.products li.product:hover {
	border-color: var(--c4-line-strong);
	transform: translateY(-3px);
	box-shadow: var(--c4-shadow-2);
}
body.c4-design ul.products li.product:focus-within { border-color: var(--c4-accent-line); }

body.c4-design ul.products li.product a.woocommerce-loop-product__link {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	color: var(--c4-text);
	text-decoration: none;
}
body.c4-design ul.products[class*="columns-"] li.product a img,
body.c4-design.woocommerce ul.products[class*="columns-"] li.product a img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	margin: 0;
	border-radius: 0;
	box-shadow: none;
	background: var(--c4-surface-2);
	border-bottom: 1px solid var(--c4-line);
	transition: transform 400ms var(--c4-ease);
}
body.c4-design ul.products li.product:hover a img { transform: scale(1.03); }

body.c4-design ul.products[class*="columns-"] li.product .woocommerce-loop-product__title,
body.c4-design.woocommerce ul.products[class*="columns-"] li.product .woocommerce-loop-product__title {
	margin: 0;
	padding: var(--c4-s-4) var(--c4-s-4) var(--c4-s-2);
	color: var(--c4-text);
	font-family: var(--c4-font-display);
	font-size: var(--c4-fs-md);
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -0.015em;
}
body.c4-design ul.products[class*="columns-"] li.product .price,
body.c4-design.woocommerce ul.products[class*="columns-"] li.product .price {
	display: block;
	margin: 0;
	padding: 0 var(--c4-s-4) var(--c4-s-4);
	color: var(--c4-text);
	font-family: var(--c4-font-display);
	font-size: var(--c4-fs-lg);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.01em;
}
body.c4-design ul.products li.product .price del { color: var(--c4-text-subtle); font-size: 0.75em; opacity: 1; }
body.c4-design ul.products li.product .price ins { color: var(--c4-accent); text-decoration: none; }
body.c4-design ul.products li.product .star-rating { margin: 0 var(--c4-s-4) var(--c4-s-3); color: var(--c4-accent); }

body.c4-design ul.products[class*="columns-"] li.product .onsale,
body.c4-design.woocommerce ul.products[class*="columns-"] li.product .onsale,
body.c4-design.woocommerce span.onsale {
	top: var(--c4-s-3);
	left: var(--c4-s-3);
	right: auto;
	margin: 0;
	min-width: 0;
	min-height: 0;
	padding: 0.25rem 0.6rem;
	border-radius: var(--c4-r-pill);
	background: var(--c4-accent);
	color: var(--c4-on-accent);
	font-size: var(--c4-fs-xs);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

body.c4-design ul.products[class*="columns-"] li.product .button,
body.c4-design.woocommerce ul.products[class*="columns-"] li.product .button {
	display: flex;
	margin: auto var(--c4-s-4) var(--c4-s-4);
	width: auto;
}
body.c4-design ul.products li.product .button.loading { opacity: 0.7; }
body.c4-design ul.products li.product a.added_to_cart,
body.c4-design.woocommerce ul.products li.product a.added_to_cart {
	display: block;
	margin: calc(-1 * var(--c4-s-2)) var(--c4-s-4) var(--c4-s-4);
	padding: 0;
	color: var(--c4-accent);
	font-size: var(--c4-fs-sm);
	font-weight: 600;
	text-align: center;
	background: none;
}

/* Pagination */
body.c4-design .woocommerce-pagination ul.page-numbers,
body.c4-design.woocommerce nav.woocommerce-pagination ul {
	display: inline-flex;
	gap: var(--c4-s-2);
	border: 0;
}
body.c4-design.woocommerce nav.woocommerce-pagination ul li { border: 0; overflow: visible; }
body.c4-design.woocommerce nav.woocommerce-pagination ul li a,
body.c4-design.woocommerce nav.woocommerce-pagination ul li span {
	min-width: 44px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--c4-line);
	border-radius: var(--c4-r-sm);
	background: var(--c4-surface);
	color: var(--c4-text);
}
body.c4-design.woocommerce nav.woocommerce-pagination ul li span.current,
body.c4-design.woocommerce nav.woocommerce-pagination ul li a:hover {
	background: var(--c4-accent);
	border-color: var(--c4-accent);
	color: var(--c4-on-accent);
}

/* 7. Sidebar (shop / single when enabled, blog) --------------------------- */
body.c4-design #sidebar .widget,
body.c4-design .sidebar .widget {
	background: var(--c4-surface);
	border: 1px solid var(--c4-line);
	border-radius: var(--c4-r-lg);
	padding: var(--c4-s-5);
	margin-bottom: var(--c4-s-5);
	box-shadow: none;
}
body.c4-design #sidebar h2,
body.c4-design #sidebar h3,
body.c4-design #sidebar .widget-title,
body.c4-design #sidebar label.wp-block-search__label {
	margin: 0 0 var(--c4-s-4);
	padding: 0;
	background: none;
	border: 0;
	color: var(--c4-text);
	font-family: var(--c4-font-display);
	font-size: var(--c4-fs-xs);
	font-weight: 600;
	letter-spacing: var(--c4-track-caps);
	text-transform: uppercase;
}
body.c4-design #sidebar ul { margin: 0; padding: 0; }
body.c4-design #sidebar ul li {
	padding: var(--c4-s-2) 0;
	border-bottom: 1px solid var(--c4-line);
	color: var(--c4-text-subtle);
	list-style: none;
}
body.c4-design #sidebar ul li:last-child { border-bottom: 0; }
body.c4-design #sidebar ul li a { color: var(--c4-text-muted); text-decoration: none; }
body.c4-design #sidebar ul li a:hover { color: var(--c4-accent); }
body.c4-design #sidebar .widget p { color: var(--c4-text-muted); }
body.c4-design #sidebar .tagcloud a {
	border: 1px solid var(--c4-line-strong);
	border-radius: var(--c4-r-pill);
	background: transparent;
	color: var(--c4-text-muted);
}
body.c4-design #sidebar .tagcloud a:hover { border-color: var(--c4-accent); color: var(--c4-accent); }
body.c4-design .widget_price_filter .ui-slider .ui-slider-range,
body.c4-design .widget_price_filter .ui-slider .ui-slider-handle { background-color: var(--c4-accent); }
body.c4-design .widget_price_filter .price_slider_wrapper .ui-widget-content { background-color: var(--c4-surface-3); }

/* 8. Single product -------------------------------------------------------- */
body.c4-design.single-product div.product {
	margin-bottom: var(--c4-s-8);
}
body.c4-design.single-product div.product div.images {
	margin-bottom: var(--c4-s-6);
}
body.c4-design.single-product div.product div.images .woocommerce-product-gallery__wrapper {
	border-radius: var(--c4-r-lg);
	overflow: hidden;
	border: 1px solid var(--c4-line);
	background: var(--c4-surface);
}
body.c4-design.single-product div.product div.images img { border-radius: 0; }
body.c4-design.single-product div.product div.images .flex-control-thumbs { display: flex; gap: var(--c4-s-2); margin-top: var(--c4-s-3); }
body.c4-design.single-product div.product div.images .flex-control-thumbs li { width: auto; flex: 0 0 calc(25% - var(--c4-s-2)); float: none; }
body.c4-design.single-product div.product div.images .flex-control-thumbs li img {
	border-radius: var(--c4-r-sm);
	border: 1px solid var(--c4-line);
	opacity: 0.6;
}
body.c4-design.single-product div.product div.images .flex-control-thumbs li img.flex-active,
body.c4-design.single-product div.product div.images .flex-control-thumbs li img:hover { opacity: 1; border-color: var(--c4-accent); }
body.c4-design.single-product div.product .woocommerce-product-gallery__trigger {
	background: var(--c4-surface-2);
	border: 1px solid var(--c4-line);
}

body.c4-design.single-product div.product .summary { color: var(--c4-text-muted); }
body.c4-design.single-product div.product .product_title {
	margin: 0 0 var(--c4-s-3);
	color: var(--c4-text);
	font-size: var(--c4-fs-2xl);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.03em;
	text-wrap: balance;
}
body.c4-design.single-product div.product p.price,
body.c4-design.single-product div.product span.price {
	margin: 0 0 var(--c4-s-5);
	color: var(--c4-text);
	font-family: var(--c4-font-display);
	font-size: var(--c4-fs-xl);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}
body.c4-design.single-product div.product p.price ins { color: var(--c4-accent); text-decoration: none; }
body.c4-design.single-product div.product p.price del { color: var(--c4-text-subtle); opacity: 1; }
body.c4-design.single-product div.product .woocommerce-product-details__short-description {
	color: var(--c4-text-muted);
	margin-bottom: var(--c4-s-5);
}
body.c4-design.single-product div.product .stock { color: var(--c4-success); font-weight: 600; }
body.c4-design.single-product div.product .stock.out-of-stock { color: var(--c4-danger); }

body.c4-design.single-product div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: var(--c4-s-3);
	margin: 0 0 var(--c4-s-6);
	padding: var(--c4-s-5);
	background: var(--c4-surface);
	border: 1px solid var(--c4-line);
	border-radius: var(--c4-r-lg);
}
body.c4-design.single-product div.product form.cart::before,
body.c4-design.single-product div.product form.cart::after { display: none; }
body.c4-design.single-product div.product form.cart .variations,
body.c4-design.single-product div.product form.cart .single_variation_wrap,
body.c4-design.single-product div.product form.cart .wc-pao-addons-container,
body.c4-design.single-product div.product form.cart > *:not(.quantity):not(button) { flex: 1 1 100%; }
body.c4-design.single-product div.product form.cart div.quantity { float: none; margin: 0; }
body.c4-design .quantity .qty,
body.c4-design.woocommerce .quantity .qty {
	width: 5rem;
	min-height: 52px;
	text-align: center;
	font-variant-numeric: tabular-nums;
}
body.c4-design.single-product div.product form.cart .button.single_add_to_cart_button {
	flex: 1 1 12rem;
	float: none;
	min-height: 52px;
	font-size: var(--c4-fs-base);
}
body.c4-design.single-product div.product form.cart .variations label { color: var(--c4-text); }
body.c4-design.single-product div.product form.cart .reset_variations { color: var(--c4-text-muted); }

body.c4-design.single-product .product_meta {
	padding-top: var(--c4-s-4);
	border-top: 1px solid var(--c4-line);
	color: var(--c4-text-subtle);
	font-size: var(--c4-fs-sm);
}
body.c4-design.single-product .product_meta > span { display: block; margin-bottom: var(--c4-s-1); }
body.c4-design.single-product .product_meta a { color: var(--c4-text-muted); }
body.c4-design.single-product .product_meta a:hover { color: var(--c4-accent); }

/* Tabs */
body.c4-design.single-product div.product .woocommerce-tabs {
	clear: both;
	padding-top: var(--c4-s-6);
}
body.c4-design.single-product div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: var(--c4-s-5);
	margin: 0 0 var(--c4-s-5);
	padding: 0;
	border-bottom: 1px solid var(--c4-line);
	overflow: visible;
}
body.c4-design.single-product div.product .woocommerce-tabs ul.tabs::before,
body.c4-design.single-product div.product .woocommerce-tabs ul.tabs::after,
body.c4-design.single-product div.product .woocommerce-tabs ul.tabs li::before,
body.c4-design.single-product div.product .woocommerce-tabs ul.tabs li::after { display: none; content: none; }
body.c4-design.single-product div.product .woocommerce-tabs ul.tabs li,
body.c4-design.single-product div.product .woocommerce-tabs ul.tabs li.active {
	margin: 0 0 -1px;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}
body.c4-design.single-product div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: var(--c4-s-3) 0;
	border-bottom: 2px solid transparent;
	color: var(--c4-text-muted);
	font-family: var(--c4-font-display);
	font-size: var(--c4-fs-sm);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	transition: color var(--c4-dur) var(--c4-ease), border-color var(--c4-dur) var(--c4-ease);
}
body.c4-design.single-product div.product .woocommerce-tabs ul.tabs li a:hover { color: var(--c4-text); }
body.c4-design.single-product div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--c4-text);
	border-bottom-color: var(--c4-accent);
}
body.c4-design.single-product div.product .woocommerce-tabs .panel {
	margin: 0 0 var(--c4-s-6);
	color: var(--c4-text-muted);
	max-width: 72ch;
}
body.c4-design.single-product div.product .woocommerce-tabs .panel h2 { font-size: var(--c4-fs-lg); }

/* Reviews */
body.c4-design #reviews #comments ol.commentlist li .comment-text {
	border: 1px solid var(--c4-line);
	border-radius: var(--c4-r-md);
	background: var(--c4-surface);
}
body.c4-design #reviews #comments ol.commentlist li img.avatar { background: var(--c4-surface-2); border-color: var(--c4-line); }
body.c4-design .star-rating,
body.c4-design p.stars a { color: var(--c4-accent); }
body.c4-design #review_form #respond { color: var(--c4-text-muted); }

/* Related / upsells */
body.c4-design .related.products > h2,
body.c4-design .upsells.products > h2,
body.c4-design .cross-sells > h2 {
	margin-bottom: var(--c4-s-5);
	font-size: var(--c4-fs-xl);
}

/* 9. Cart + checkout (Woo BLOCKS): style wrappers, not inner spans -------- */
body.c4-design .wp-block-woocommerce-cart,
body.c4-design .wp-block-woocommerce-checkout { color: var(--c4-text); }

body.c4-design .wc-block-components-sidebar-layout .wc-block-components-main,
body.c4-design .wc-block-components-sidebar-layout .wc-block-components-sidebar { color: var(--c4-text); }

body.c4-design .wc-block-cart .wc-block-cart__totals-title,
body.c4-design .wc-block-components-checkout-step__title,
body.c4-design .wc-block-components-title.wc-block-components-title {
	color: var(--c4-text);
	font-family: var(--c4-font-display);
	font-weight: 600;
	letter-spacing: -0.01em;
}
body.c4-design .wc-block-cart .wc-block-cart__totals-title { font-size: var(--c4-fs-xs); letter-spacing: var(--c4-track-caps); }
body.c4-design .wc-block-components-checkout-step__description,
body.c4-design .wc-block-components-product-metadata,
body.c4-design .wc-block-components-totals-item__description,
body.c4-design .wc-block-cart-items__header,
body.c4-design .wc-block-components-formatted-money-amount + .wc-block-components-product-price__regular { color: var(--c4-text-muted); }

/* Order summary / totals as a panel */
body.c4-design .wc-block-components-sidebar .wc-block-components-panel,
body.c4-design .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-block,
body.c4-design .wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-block {
	background: var(--c4-surface);
	border: 1px solid var(--c4-line);
	border-radius: var(--c4-r-lg);
}
body.c4-design .wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-block { padding: 0; overflow: hidden; }
body.c4-design .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-block { padding: var(--c4-s-2) 0; }
body.c4-design .wc-block-components-totals-wrapper { border-color: var(--c4-line); }
body.c4-design .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.c4-design .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: var(--c4-font-display);
	font-size: var(--c4-fs-lg);
	font-weight: 600;
	color: var(--c4-text);
}
body.c4-design .wc-block-cart-items,
body.c4-design .wc-block-cart-items td,
body.c4-design .wc-block-cart-items th,
body.c4-design table.wc-block-cart-items .wc-block-cart-items__row { border-color: var(--c4-line); }
body.c4-design .wc-block-components-product-name {
	color: var(--c4-text);
	font-family: var(--c4-font-display);
	font-weight: 600;
	text-decoration: none;
}
body.c4-design .wc-block-components-product-name:hover { color: var(--c4-accent); }
body.c4-design .wc-block-cart-item__image img,
body.c4-design .wc-block-components-order-summary-item__image img { border-radius: var(--c4-r-sm); }
body.c4-design .wc-block-components-order-summary-item__quantity {
	background: var(--c4-surface-3);
	border-color: var(--c4-bg);
	color: var(--c4-text);
	box-shadow: none;
}

/* Primary CTAs: proceed + place order (button element = wrapper) */
body.c4-design .wc-block-cart__submit-button,
body.c4-design .wc-block-components-checkout-place-order-button,
body.c4-design .wc-block-components-button.wp-element-button.contained,
body.c4-design .wc-block-components-button:not(.is-link).contained {
	min-height: 52px;
	background: var(--c4-accent);
	color: var(--c4-on-accent);
	border: 1px solid var(--c4-accent);
	border-radius: var(--c4-r-sm);
	font-family: var(--c4-font-display);
	font-size: var(--c4-fs-base);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow: none;
	transition: background-color var(--c4-dur) var(--c4-ease), border-color var(--c4-dur) var(--c4-ease);
}
body.c4-design .wc-block-cart__submit-button:hover,
body.c4-design .wc-block-components-checkout-place-order-button:hover,
body.c4-design .wc-block-components-button.wp-element-button.contained:hover,
body.c4-design .wc-block-components-button:not(.is-link).contained:hover {
	background: var(--c4-accent-hover);
	border-color: var(--c4-accent-hover);
	color: var(--c4-on-accent);
}
body.c4-design .wc-block-components-button:not(.is-link).outlined {
	color: var(--c4-text);
	border-color: var(--c4-line-strong);
	border-radius: var(--c4-r-sm);
}
body.c4-design .wc-block-components-button.is-link,
body.c4-design .wc-block-components-checkout-return-to-cart-button,
body.c4-design .wc-block-components-totals-coupon-link,
body.c4-design .wc-block-components-panel__button { color: var(--c4-text-muted); }
body.c4-design .wc-block-components-checkout-return-to-cart-button:hover,
body.c4-design .wc-block-components-totals-coupon-link:hover { color: var(--c4-accent); }
body.c4-design .wc-block-cart-item__remove-link,
body.c4-design .wc-block-cart-item__remove-link:visited { color: var(--c4-text-subtle) !important; }
body.c4-design .wc-block-cart-item__remove-link:hover { color: var(--c4-danger) !important; }

/* Block inputs */
body.c4-design .wc-block-components-form .wc-block-components-text-input input:is([type="text"], [type="email"], [type="tel"], [type="number"], [type="password"], [type="url"]),
body.c4-design .wc-block-components-text-input input:is([type="text"], [type="email"], [type="tel"], [type="number"], [type="password"], [type="url"]),
body.c4-design .wc-block-components-form .wc-block-components-textarea,
body.c4-design .wc-block-components-textarea {
	background-color: var(--c4-surface-2);
	color: var(--c4-text);
	border: 1px solid var(--c4-line-strong);
	border-radius: var(--c4-r-sm);
	box-shadow: none;
}
body.c4-design .wc-block-components-form .wc-block-components-text-input input:focus,
body.c4-design .wc-block-components-text-input input:focus,
body.c4-design .wc-block-components-textarea:focus {
	border-color: var(--c4-accent);
	box-shadow: 0 0 0 3px var(--c4-accent-soft);
	outline: none;
}
body.c4-design .wc-block-components-form .wc-block-components-text-input label,
body.c4-design .wc-block-components-text-input label { color: var(--c4-text-muted); }
body.c4-design .wc-block-components-text-input.has-error input,
body.c4-design .wc-block-components-form .wc-block-components-text-input.has-error input { border-color: var(--c4-danger); }
body.c4-design .wc-block-components-text-input.has-error label,
body.c4-design .wc-block-components-validation-error { color: var(--c4-danger); }
body.c4-design .wc-block-components-text-input input:-webkit-autofill {
	-webkit-text-fill-color: var(--c4-text);
	-webkit-box-shadow: 0 0 0 100px var(--c4-surface-2) inset;
	caret-color: var(--c4-text);
}

/* Block selects (country/state) */
body.c4-design .wc-blocks-components-select .wc-blocks-components-select__container {
	background: var(--c4-surface-2);
	border: 1px solid var(--c4-line-strong);
	border-radius: var(--c4-r-sm);
}
body.c4-design .wc-blocks-components-select .wc-blocks-components-select__container:focus-within { border-color: var(--c4-accent); }
body.c4-design .wc-blocks-components-select .wc-blocks-components-select__select {
	background: transparent;
	color: var(--c4-text);
	border: 0;
	box-shadow: none;
}
body.c4-design .wc-blocks-components-select .wc-blocks-components-select__label { color: var(--c4-text-muted); }
body.c4-design .wc-blocks-components-select .wc-blocks-components-select__expand { fill: var(--c4-text-muted); }
body.c4-design .wc-blocks-components-select select option { background: var(--c4-surface-2); color: var(--c4-text); }

/* Block checkbox / radio */
body.c4-design .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	background: var(--c4-surface-2);
	border: 1px solid var(--c4-line-strong);
}
body.c4-design .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
	background: var(--c4-accent);
	border-color: var(--c4-accent);
}
body.c4-design .wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--c4-on-accent); }
body.c4-design .wc-block-components-checkbox label,
body.c4-design .wc-block-components-checkbox__label { color: var(--c4-text-muted); }
body.c4-design .wc-block-components-radio-control__input {
	background: var(--c4-surface-2);
	border-color: var(--c4-line-strong);
}
body.c4-design .wc-block-components-radio-control__input:checked { border-color: var(--c4-accent); }
body.c4-design .wc-block-components-radio-control__input:checked::before { background: var(--c4-accent); }
body.c4-design .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
body.c4-design .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
	box-shadow: inset 0 0 0 1px var(--c4-accent);
	border-radius: var(--c4-r-sm);
}
body.c4-design .wc-block-components-radio-control--highlight-checked::after { border-color: var(--c4-line); }
body.c4-design .wc-block-components-radio-control__secondary-label,
body.c4-design .wc-block-components-radio-control__description { color: var(--c4-text-muted); }

/* Quantity selector (cart block) */
body.c4-design .wc-block-components-quantity-selector {
	border-color: var(--c4-line-strong);
	border-radius: var(--c4-r-sm);
	background: var(--c4-surface-2);
}
body.c4-design .wc-block-components-quantity-selector::after { border-color: var(--c4-line-strong); }
body.c4-design .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
	background: transparent;
	color: var(--c4-text);
	border: 0;
	padding: 0;
	box-shadow: none;
}
body.c4-design .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { color: var(--c4-text-muted); }
body.c4-design .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover { color: var(--c4-accent); }

/* Empty cart / product grid blocks */
body.c4-design .wc-block-grid__products { gap: var(--c4-s-5); }
body.c4-design .wc-block-grid__product {
	background: var(--c4-surface);
	border: 1px solid var(--c4-line);
	border-radius: var(--c4-r-lg);
	overflow: hidden;
	padding-bottom: var(--c4-s-4);
}
body.c4-design .wc-block-grid__product-title { color: var(--c4-text); font-family: var(--c4-font-display); }
body.c4-design .wc-block-grid__product-price { color: var(--c4-text); }
body.c4-design .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title { font-size: var(--c4-fs-xl); }
body.c4-design .wp-block-woocommerce-empty-cart-block .wp-block-separator { border-color: var(--c4-line); opacity: 1; }

/* Classic checkout fallback (parent ships woocommerce/checkout/form-checkout.php) */
body.c4-design.woocommerce-checkout #payment,
body.c4-design .woocommerce-checkout #payment {
	background: var(--c4-surface);
	border: 1px solid var(--c4-line);
	border-radius: var(--c4-r-lg);
}
body.c4-design.woocommerce-checkout #payment div.payment_box,
body.c4-design .woocommerce-checkout #payment div.payment_box { background: var(--c4-surface-2); color: var(--c4-text-muted); }
body.c4-design.woocommerce-checkout #payment div.payment_box::before,
body.c4-design .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--c4-surface-2); }
body.c4-design.woocommerce-checkout #payment ul.payment_methods { border-color: var(--c4-line); }
body.c4-design table.shop_table,
body.c4-design.woocommerce table.shop_table,
body.c4-design .woocommerce table.shop_table {
	border-color: var(--c4-line);
	border-radius: var(--c4-r-md);
	color: var(--c4-text);
}
body.c4-design.woocommerce table.shop_table td,
body.c4-design.woocommerce table.shop_table th,
body.c4-design .woocommerce table.shop_table td,
body.c4-design .woocommerce table.shop_table th,
body.c4-design.woocommerce table.shop_table tfoot td,
body.c4-design.woocommerce table.shop_table tfoot th { border-color: var(--c4-line); }

/* 10. My account: classic forms ------------------------------------------- */
body.c4-design .woocommerce form.login,
body.c4-design .woocommerce form.register,
body.c4-design .woocommerce form.lost_reset_password,
body.c4-design .woocommerce form.checkout_coupon,
body.c4-design .woocommerce form.woocommerce-EditAccountForm,
body.c4-design .woocommerce .woocommerce-address-fields {
	margin: 0 0 var(--c4-s-6);
	padding: var(--c4-s-6) var(--c4-s-5);
	background: var(--c4-surface);
	border: 1px solid var(--c4-line);
	border-radius: var(--c4-r-lg);
	color: var(--c4-text-muted);
}
body.c4-design .woocommerce .u-columns h2,
body.c4-design .woocommerce-account .woocommerce h2,
body.c4-design .woocommerce-account .woocommerce h3 {
	font-size: var(--c4-fs-xl);
	margin-bottom: var(--c4-s-4);
}
@media (min-width: 768px) {
	body.c4-design .woocommerce .u-columns.col2-set {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--c4-s-6);
	}
	body.c4-design .woocommerce .u-columns.col2-set::before,
	body.c4-design .woocommerce .u-columns.col2-set::after { display: none; content: none; }
	body.c4-design .woocommerce .u-columns.col2-set .u-column1,
	body.c4-design .woocommerce .u-columns.col2-set .u-column2 {
		float: none;
		width: auto;
		max-width: none;
		flex: none;
		padding: 0;
	}
	body.c4-design .woocommerce .u-columns.col2-set form.login,
	body.c4-design .woocommerce .u-columns.col2-set form.register { height: calc(100% - 3.5rem); }
}
body.c4-design .woocommerce form .form-row { margin: 0 0 var(--c4-s-4); padding: 0; }
body.c4-design .woocommerce form .form-row label,
body.c4-design.woocommerce-page form .form-row label {
	display: block;
	margin-bottom: var(--c4-s-2);
	color: var(--c4-text);
	font-size: var(--c4-fs-sm);
	font-weight: 500;
	line-height: 1.4;
}
body.c4-design .woocommerce form .form-row label.woocommerce-form__label-for-checkbox,
body.c4-design .woocommerce form .form-row label.checkbox {
	display: inline-flex;
	align-items: center;
	gap: var(--c4-s-2);
	color: var(--c4-text-muted);
	font-weight: 400;
}
body.c4-design .woocommerce form .form-row .required { color: var(--c4-accent); text-decoration: none; }
body.c4-design .woocommerce form .form-row input.input-text,
body.c4-design .woocommerce form .form-row textarea,
body.c4-design .woocommerce form .form-row select,
body.c4-design.woocommerce-page form .form-row input.input-text,
body.c4-design.woocommerce-page form .form-row textarea {
	width: 100%;
	min-height: 48px;
	padding: 0.7rem 0.875rem;
	background-color: var(--c4-surface-2);
	color: var(--c4-text);
	border: 1px solid var(--c4-line-strong);
	border-radius: var(--c4-r-sm);
	line-height: 1.4;
	box-shadow: none;
}
body.c4-design .woocommerce form .form-row input.input-text:focus,
body.c4-design .woocommerce form .form-row textarea:focus,
body.c4-design .woocommerce form .form-row select:focus {
	border-color: var(--c4-accent);
	box-shadow: 0 0 0 3px var(--c4-accent-soft);
}
body.c4-design .woocommerce form .form-row.woocommerce-invalid input.input-text,
body.c4-design .woocommerce form .form-row.woocommerce-invalid select { border-color: var(--c4-danger); }
body.c4-design .woocommerce form .form-row.woocommerce-validated input.input-text { border-color: var(--c4-line-strong); }
body.c4-design .woocommerce form .show-password-input,
body.c4-design.woocommerce-page form .show-password-input { color: var(--c4-text-muted); }
body.c4-design .woocommerce form.login .woocommerce-form-login__submit,
body.c4-design .woocommerce form.register .woocommerce-form-register__submit { margin-top: var(--c4-s-2); min-width: 10rem; }
body.c4-design .woocommerce form.login .woocommerce-form-login__rememberme { margin: var(--c4-s-2) var(--c4-s-4) 0 0; }
body.c4-design .woocommerce .lost_password a,
body.c4-design .woocommerce-privacy-policy-text a { color: var(--c4-accent); }
body.c4-design .woocommerce-privacy-policy-text,
body.c4-design .woocommerce form.register > p:not(.form-row) { color: var(--c4-text-muted); font-size: var(--c4-fs-sm); }

/* select2 (account addresses, classic checkout) */
body.c4-design .select2-container--default .select2-selection--single {
	min-height: 48px;
	background: var(--c4-surface-2);
	border: 1px solid var(--c4-line-strong);
	border-radius: var(--c4-r-sm);
}
body.c4-design .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--c4-text); line-height: 46px; padding-left: 0.875rem; }
body.c4-design .select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; }
body.c4-design .select2-dropdown { background: var(--c4-surface-2); border-color: var(--c4-line-strong); color: var(--c4-text); }
body.c4-design .select2-container--default .select2-results__option--highlighted[aria-selected],
body.c4-design .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--c4-accent); color: var(--c4-on-accent); }
body.c4-design .select2-container--default .select2-search--dropdown .select2-search__field { background: var(--c4-surface); color: var(--c4-text); border-color: var(--c4-line-strong); }

/* Logged-in account nav + content */
body.c4-design .woocommerce-MyAccount-navigation ul {
	margin: 0 0 var(--c4-s-6);
	padding: var(--c4-s-2);
	list-style: none;
	background: var(--c4-surface);
	border: 1px solid var(--c4-line);
	border-radius: var(--c4-r-lg);
}
body.c4-design .woocommerce-MyAccount-navigation ul li { list-style: none; margin: 0; padding: 0; border: 0; }
body.c4-design .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 0.65rem 0.9rem;
	border-radius: var(--c4-r-sm);
	color: var(--c4-text-muted);
	text-decoration: none;
	font-size: var(--c4-fs-sm);
	font-weight: 500;
}
body.c4-design .woocommerce-MyAccount-navigation ul li a:hover { background: var(--c4-surface-2); color: var(--c4-text); }
body.c4-design .woocommerce-MyAccount-navigation ul li.is-active a {
	background: var(--c4-accent-soft);
	color: var(--c4-text);
	box-shadow: inset 3px 0 0 var(--c4-accent);
}
body.c4-design .woocommerce-MyAccount-content { color: var(--c4-text-muted); }
body.c4-design .woocommerce-MyAccount-content strong { color: var(--c4-text); }
body.c4-design .woocommerce-account .addresses .title .edit { color: var(--c4-accent); }
body.c4-design .woocommerce-account address {
	padding: var(--c4-s-4);
	border: 1px solid var(--c4-line);
	border-radius: var(--c4-r-md);
	color: var(--c4-text-muted);
	font-style: normal;
}

/* 11. Generic page content (results page, policies, blog) ----------------- */
body.c4-design #maincontent .entry-content,
body.c4-design #maincontent .post-main-box,
body.c4-design #maincontent article { color: var(--c4-text-muted); }
body.c4-design #maincontent .entry-content strong,
body.c4-design #maincontent .entry-content b { color: var(--c4-text); }
body.c4-design #maincontent .post-main-box,
body.c4-design #maincontent .single-post-main-box {
	background: var(--c4-surface);
	border: 1px solid var(--c4-line);
	border-radius: var(--c4-r-lg);
	box-shadow: none;
}
body.c4-design #maincontent table:not(.wc-block-cart-items):not(.shop_table) { border-color: var(--c4-line); }
body.c4-design #maincontent table:not(.wc-block-cart-items):not(.shop_table) th,
body.c4-design #maincontent table:not(.wc-block-cart-items):not(.shop_table) td { border-color: var(--c4-line); color: var(--c4-text-muted); }
body.c4-design #maincontent table:not(.wc-block-cart-items):not(.shop_table) th { color: var(--c4-text); }
body.c4-design .wp-block-separator { border-color: var(--c4-line); }
body.c4-design .wp-block-button__link:not(.has-background) {
	background: var(--c4-accent);
	color: var(--c4-on-accent);
	border-radius: var(--c4-r-sm);
}
body.c4-design .wp-block-quote { border-left-color: var(--c4-accent); color: var(--c4-text); }

/* 12. Footer (child footer.php) ------------------------------------------- */
body.c4-design .c4-footer { margin-top: var(--c4-s-8); color: var(--c4-text-muted); }
body.c4-design .c4-footer__main {
	position: relative;
	padding: var(--c4-s-7) 0 var(--c4-s-6);
	background: var(--c4-carbon), var(--c4-surface);
	border-top: 1px solid var(--c4-line);
}
body.c4-design .c4-footer__main::before {
	/* accent strip */
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	width: min(240px, 40%);
	height: 3px;
	background: linear-gradient(90deg, var(--c4-accent), transparent);
}
body.c4-design .c4-footer__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--c4-s-6);
}
body.c4-design .c4-footer__mark { margin: 0 0 var(--c4-s-3); }
body.c4-design .c4-footer__mark a {
	color: var(--c4-text);
	font-family: var(--c4-font-display);
	font-size: var(--c4-fs-lg);
	font-weight: 700;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	text-decoration: none;
}
body.c4-design .c4-footer__mark a::before {
	content: "";
	display: inline-block;
	width: 0.6em;
	height: 0.6em;
	margin-right: 0.4em;
	background: var(--c4-accent);
	transform: skewX(-16deg);
}
body.c4-design .c4-footer__tag { max-width: 36ch; margin: 0; color: var(--c4-text-muted); font-size: var(--c4-fs-sm); }
body.c4-design .c4-footer__title {
	margin: 0 0 var(--c4-s-4);
	color: var(--c4-text);
	font-family: var(--c4-font-display);
	font-size: var(--c4-fs-xs);
	font-weight: 600;
	letter-spacing: var(--c4-track-caps);
	text-transform: uppercase;
}
body.c4-design .c4-footer ul { margin: 0; padding: 0; list-style: none; }
body.c4-design .c4-footer li { margin: 0; padding: var(--c4-s-1) 0; list-style: none; }
body.c4-design .c4-footer a { color: var(--c4-text-muted); font-size: var(--c4-fs-sm); text-decoration: none; }
body.c4-design .c4-footer a:hover { color: var(--c4-accent); }
body.c4-design .c4-footer__widgets {
	display: grid;
	gap: var(--c4-s-5);
	margin-top: var(--c4-s-6);
	padding-top: var(--c4-s-5);
	border-top: 1px solid var(--c4-line);
}
body.c4-design .c4-footer__widgets .widget-title,
body.c4-design .c4-footer__widgets h2,
body.c4-design .c4-footer__widgets h3 {
	color: var(--c4-text);
	font-size: var(--c4-fs-xs);
	letter-spacing: var(--c4-track-caps);
	text-transform: uppercase;
}
body.c4-design .c4-footer__base { padding: var(--c4-s-4) 0; background: var(--c4-bg); border-top: 1px solid var(--c4-line); }
body.c4-design .c4-footer__base .container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--c4-s-4);
}
body.c4-design .c4-footer__base p { margin: 0; color: var(--c4-text-subtle); font-size: var(--c4-fs-xs); letter-spacing: 0.02em; }

/* Back-to-top: inline at the end of the base row */
body.c4-design .c4-footer .scrollup { position: static; display: inline-flex; }
body.c4-design .c4-footer .scrollup i {
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	background: var(--c4-surface-3);
	border: 1px solid var(--c4-line-strong);
	border-radius: var(--c4-r-pill);
	color: var(--c4-text);
	font-size: 0.95rem;
}
body.c4-design .c4-footer .scrollup:hover i { background: var(--c4-accent); border-color: var(--c4-accent); color: var(--c4-on-accent); }

@media (min-width: 768px) {
	body.c4-design .c4-footer__grid { grid-template-columns: 2fr 1fr 1fr; }
	body.c4-design .c4-footer__widgets { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
}

/* 13. Breakpoints --------------------------------------------------------- */
/* Shop, categories, product: no 540px Bootstrap step between 576 and 767px.
   Here .container wraps main#maincontent (accounts nest it the other way; see portal.css). */
@media (min-width: 576px) and (max-width: 767.98px) {
	body.c4-design.woocommerce .container:has(> main#maincontent) { max-width: none; }
}
@media (min-width: 768px) {
	body.c4-design .c4-hero { padding: var(--c4-s-8) var(--c4-s-7); }
	body.c4-design .woocommerce form.login,
	body.c4-design .woocommerce form.register { padding: var(--c4-s-6); }
}

/* Front hero goes full-bleed from 1024px; content stays on the container grid */
@media (min-width: 1024px) {
	body.c4-design { overflow-x: clip; }
	body.c4-design.home main#maincontent > .row.mt-5 { margin-top: 0 !important; }
	body.c4-design .c4-hero {
		width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		padding: var(--c4-s-9) 12px;
		border-width: 0 0 1px;
		border-radius: 0;
	}
	body.c4-design .c4-hero::before { width: 100%; height: 3px; inset: 0 0 auto 0; background: linear-gradient(90deg, var(--c4-accent), transparent 60%); }
	body.c4-design .c4-hero::after { right: 2%; width: 38%; }
	body.c4-design .c4-hero__inner { max-width: 936px; margin: 0 auto; }
	body.c4-design.single-product div.product div.images { margin-bottom: var(--c4-s-7); }
	body.c4-design.single-product div.product .summary { padding-left: var(--c4-s-4); }
}
@media (min-width: 1200px) {
	body.c4-design .c4-hero__inner { max-width: 1116px; }
}

@media (min-width: 1280px) {
	body.c4-design .container { max-width: 1240px; }
	body.c4-design .c4-hero__inner { max-width: 1216px; }
}

/* 14. Motion + forced colours --------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	body.c4-design *,
	body.c4-design *::before,
	body.c4-design *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
	body.c4-design ul.products li.product:hover,
	body.c4-design ul.products li.product:hover a img { transform: none; }
}

@media (forced-colors: active) {
	body.c4-design .c4-btn,
	body.c4-design ul.products li.product,
	body.c4-design .c4-hero { border: 1px solid CanvasText; }
}

/* 15. Page types (pass 2) -------------------------------------------------- */
/* Blog/search/archive templates use main#content; pages use main#maincontent. */
body.c4-design main#content,
body.c4-design main#maincontent.middle-align { padding-top: var(--c4-s-6) !important; }
body.c4-design main#content > header { margin-bottom: var(--c4-s-5); padding-bottom: var(--c4-s-4); border-bottom: 1px solid var(--c4-line); }
body.c4-design h1.page-title span,
body.c4-design main#content > header h1.entry-title { color: var(--c4-text); }
body.c4-design.category h1.page-title span { color: var(--c4-accent); }
body.c4-design h1.vw-page-title,
body.c4-design main#content article > h1:first-of-type {
	margin: 0 0 var(--c4-s-5);
	font-size: var(--c4-fs-2xl);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.1;
	text-wrap: balance;
}

/* Theme breadcrumbs (pages, posts) */
body.c4-design .breadcrumbs {
	margin: 0 0 var(--c4-s-4);
	padding: 0;
	background: none;
	color: var(--c4-text-subtle);
	font-size: var(--c4-fs-sm);
}
body.c4-design .breadcrumbs a {
	color: var(--c4-text-muted);
	text-decoration: none;
	background: none;
	padding: 0;
	margin: 0;
}
body.c4-design .breadcrumbs a::after { content: "/"; margin: 0 0.55em; color: var(--c4-line-strong); }
body.c4-design .breadcrumbs a:hover { color: var(--c4-accent); }
body.c4-design .breadcrumbs span { color: var(--c4-text); background: none; padding: 0; }

/* Post cards (blog archive, search results) */
body.c4-design main[role="main"] .post-main-box,
body.c4-design main[role="main"] .single-post-main-box {
	padding: var(--c4-s-5) !important;
	margin-bottom: var(--c4-s-5) !important;
	background: var(--c4-surface);
	border: 1px solid var(--c4-line);
	border-radius: var(--c4-r-lg);
	box-shadow: none;
	visibility: visible !important;
	animation: none !important;
	transition: border-color var(--c4-dur) var(--c4-ease);
}
body.c4-design main[role="main"] .post-main-box:hover { border-color: var(--c4-line-strong); }
body.c4-design main[role="main"] .post-main-box .box-image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--c4-r-md);
	background: var(--c4-surface-2);
}
body.c4-design .post-main-box h2.section-title { margin: 0 0 var(--c4-s-3); font-size: var(--c4-fs-xl); line-height: 1.15; }
body.c4-design .post-main-box h2.section-title a { color: var(--c4-text); text-decoration: none; }
body.c4-design .post-main-box h2.section-title a:hover { color: var(--c4-accent); }
body.c4-design .post-main-box p { color: var(--c4-text-muted); }

body.c4-design .post-info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 0.5rem;
	padding: 0 !important;
	background: none;
	border: 0;
	color: var(--c4-text-subtle);
	font-size: var(--c4-fs-xs);
	letter-spacing: 0.02em;
}
body.c4-design .post-info i { color: var(--c4-accent); margin-right: 0.3rem !important; }
body.c4-design .post-info > span:not([class]) { color: var(--c4-line-strong); }
body.c4-design .post-info a,
body.c4-design .post-info span { color: var(--c4-text-subtle); text-decoration: none; }
body.c4-design .post-info a:hover { color: var(--c4-accent); }

body.c4-design .more-btn { margin: var(--c4-s-4) 0 0 !important; }
body.c4-design .more-btn a,
body.c4-design .post-main-box .more-btn a {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	min-height: 40px;
	padding: 0.5rem 1rem !important;
	background: transparent;
	border: 1px solid var(--c4-line-strong);
	border-radius: var(--c4-r-sm);
	color: var(--c4-text);
	font-family: var(--c4-font-display);
	font-size: var(--c4-fs-xs) !important;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	transition: border-color var(--c4-dur) var(--c4-ease), color var(--c4-dur) var(--c4-ease);
}
body.c4-design .more-btn a::after { content: "\2192"; color: var(--c4-accent); }
body.c4-design .more-btn a:hover { border-color: var(--c4-accent); color: var(--c4-accent); background: transparent; }

/* Single post */
body.c4-design.single-post main#content article { color: var(--c4-text-muted); }
body.c4-design .single-post-category { display: flex; flex-wrap: wrap; align-items: center; gap: var(--c4-s-2); color: var(--c4-text-subtle); font-size: var(--c4-fs-xs); }
body.c4-design .single-post-category .category { text-transform: uppercase; letter-spacing: var(--c4-track-caps); }
body.c4-design ul.post-categories { display: inline-flex; flex-wrap: wrap; gap: var(--c4-s-2); margin: 0; padding: 0; list-style: none; }
body.c4-design ul.post-categories li { margin: 0; padding: 0; list-style: none; }
body.c4-design ul.post-categories a,
body.c4-design .tags-bg a {
	display: inline-flex;
	padding: 0.2rem 0.7rem;
	border: 1px solid var(--c4-line-strong);
	border-radius: var(--c4-r-pill);
	background: transparent;
	color: var(--c4-text-muted);
	font-size: var(--c4-fs-xs);
	text-decoration: none;
}
body.c4-design ul.post-categories a:hover,
body.c4-design .tags-bg a:hover { border-color: var(--c4-accent); color: var(--c4-accent); }
body.c4-design .tags-bg { background: none; padding: 0 !important; }
body.c4-design .tags-bg:empty { display: none; }
body.c4-design main#content .entry-content { margin-top: var(--c4-s-5); color: var(--c4-text-muted); font-size: var(--c4-fs-md); line-height: 1.7; }
body.c4-design main#content .entry-content a { color: var(--c4-accent); }

/* Post navigation / pagination */
body.c4-design .navigation .nav-links,
body.c4-design .post-navigation .nav-links { display: flex; flex-wrap: wrap; gap: var(--c4-s-2); margin: var(--c4-s-5) 0; }
body.c4-design .navigation .page-numbers,
body.c4-design .post-navigation a {
	min-width: 44px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 0.9rem;
	border: 1px solid var(--c4-line);
	border-radius: var(--c4-r-sm);
	background: var(--c4-surface);
	color: var(--c4-text);
	text-decoration: none;
}
body.c4-design .navigation .page-numbers.current,
body.c4-design .navigation a.page-numbers:hover,
body.c4-design .post-navigation a:hover { background: var(--c4-accent); border-color: var(--c4-accent); color: var(--c4-on-accent); }

/* Comments */
body.c4-design .comments-area {
	margin-top: var(--c4-s-7);
	padding-top: var(--c4-s-6);
	border-top: 1px solid var(--c4-line);
	background: none;
}
body.c4-design .comments-title,
body.c4-design .comment-reply-title { font-size: var(--c4-fs-lg); margin: 0 0 var(--c4-s-5); }
body.c4-design ol.comment-list { margin: 0 0 var(--c4-s-6); padding: 0; list-style: none; }
body.c4-design ol.comment-list li { list-style: none; }
body.c4-design ol.comment-list .children { margin: var(--c4-s-4) 0 0 var(--c4-s-5); padding: 0; border-left: 2px solid var(--c4-line); padding-left: var(--c4-s-4); }
body.c4-design .comment-body {
	padding: var(--c4-s-5);
	margin-bottom: var(--c4-s-4);
	background: var(--c4-surface);
	border: 1px solid var(--c4-line);
	border-radius: var(--c4-r-lg);
	color: var(--c4-text-muted);
}
body.c4-design .comment-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--c4-s-2); margin-bottom: var(--c4-s-3); }
body.c4-design .comment-author { display: flex; align-items: center; gap: var(--c4-s-3); color: var(--c4-text); }
body.c4-design .comment-author .avatar { border-radius: 50%; border: 1px solid var(--c4-line-strong); }
body.c4-design .comment-author .fn,
body.c4-design .comment-author .fn a { color: var(--c4-text); font-style: normal; font-weight: 600; text-decoration: none; }
body.c4-design .comment-author .says { display: none; }
body.c4-design .comment-metadata a { color: var(--c4-text-subtle); font-size: var(--c4-fs-xs); text-decoration: none; }
body.c4-design .comment-content p { margin: 0 0 var(--c4-s-3); }
body.c4-design .comment-content a { color: var(--c4-accent); }
body.c4-design .reply a,
body.c4-design .comment-reply-link {
	display: inline-flex;
	padding: 0.3rem 0.85rem;
	border: 1px solid var(--c4-line-strong);
	border-radius: var(--c4-r-pill);
	color: var(--c4-text);
	font-size: var(--c4-fs-xs);
	text-decoration: none;
}
body.c4-design .reply a:hover { border-color: var(--c4-accent); color: var(--c4-accent); }
body.c4-design .comment-respond {
	padding: var(--c4-s-5);
	background: var(--c4-surface);
	border: 1px solid var(--c4-line);
	border-top: 3px solid var(--c4-accent);
	border-radius: var(--c4-r-lg);
}
body.c4-design .comment-respond small a { color: var(--c4-text-muted); font-size: var(--c4-fs-xs); }
body.c4-design .comment-form p { margin: 0 0 var(--c4-s-4); color: var(--c4-text-muted); font-size: var(--c4-fs-sm); }
body.c4-design .comment-form label { display: block; margin-bottom: var(--c4-s-2); color: var(--c4-text); font-size: var(--c4-fs-sm); font-weight: 500; }
body.c4-design .comment-form .comment-form-cookies-consent label,
body.c4-design .comment-form .comment-subscription-form label { display: inline; font-weight: 400; color: var(--c4-text-muted); }
body.c4-design .comment-form input[type="text"],
body.c4-design .comment-form input[type="email"],
body.c4-design .comment-form input[type="url"],
body.c4-design .comment-form textarea { width: 100%; }
body.c4-design .comment-form .required { color: var(--c4-accent); }
body.c4-design .comment-form .form-submit { margin: var(--c4-s-2) 0 0; }

/* Search: no-results state + form */
body.c4-design.search-no-results #our-services {
	padding: var(--c4-s-6) var(--c4-s-5);
	background: var(--c4-surface);
	border: 1px solid var(--c4-line);
	border-top: 3px solid var(--c4-accent);
	border-radius: var(--c4-r-lg);
}
body.c4-design.search-no-results #our-services h2.entry-title { font-size: var(--c4-fs-xl); margin: 0 0 var(--c4-s-3); }
body.c4-design.search-no-results #our-services p { color: var(--c4-text-muted); }
body.c4-design.search-no-results #our-services br { display: none; }
body.c4-design main[role="main"] .search-form { display: flex; gap: var(--c4-s-2); margin: var(--c4-s-4) 0 0; }
body.c4-design main[role="main"] .search-form label { flex: 1 1 auto; margin: 0; }
body.c4-design main[role="main"] .search-form input[type="search"] { width: 100%; min-height: 44px; }

/* Block search widget (sidebar) + latest posts/comments lists */
body.c4-design .wp-block-search__inside-wrapper { display: flex; gap: var(--c4-s-2); padding: 0; border: 0; background: none; }
body.c4-design .wp-block-search__input { flex: 1 1 auto; min-width: 0; min-height: 44px; }
body.c4-design .wp-block-search__button {
	min-height: 44px;
	margin: 0;
	padding: 0.5rem 1rem;
	background: var(--c4-surface-3);
	border: 1px solid var(--c4-line-strong);
	border-radius: var(--c4-r-sm);
	color: var(--c4-text);
	font-family: var(--c4-font-display);
	font-size: var(--c4-fs-xs);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
body.c4-design .wp-block-search__button:hover { background: var(--c4-accent); border-color: var(--c4-accent); color: var(--c4-on-accent); }
body.c4-design #sidebar ol { margin: 0; padding: 0; list-style: none; }
body.c4-design #sidebar ol li { padding: var(--c4-s-2) 0; border-bottom: 1px solid var(--c4-line); color: var(--c4-text-subtle); }
body.c4-design #sidebar ol li:last-child { border-bottom: 0; }
body.c4-design #sidebar ol li a { color: var(--c4-text-muted); text-decoration: none; }
body.c4-design #sidebar ol li a:hover { color: var(--c4-accent); }
body.c4-design #sidebar .wow,
body.c4-design main[role="main"] .wow { visibility: visible !important; animation: none !important; }

/* 404 */
body.c4-design .c4-404 { padding: var(--c4-s-7) 0 0; }
body.c4-design .c4-404__card {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	max-width: 760px;
	margin: 0 auto;
	padding: var(--c4-s-7) var(--c4-s-5);
	background: radial-gradient(60% 80% at 100% 0%, rgba(255, 105, 0, 0.16), transparent 65%), var(--c4-carbon), var(--c4-surface);
	border: 1px solid var(--c4-line);
	border-top: 3px solid var(--c4-accent);
	border-radius: var(--c4-r-lg);
}
body.c4-design .c4-404__code {
	position: absolute;
	z-index: -1;
	right: -0.04em;
	bottom: -0.22em;
	margin: 0;
	color: transparent;
	-webkit-text-stroke: 1px rgba(255, 105, 0, 0.28);
	font-family: var(--c4-font-display);
	font-size: clamp(7rem, 4rem + 14vw, 14rem);
	font-weight: 700;
	letter-spacing: -0.06em;
	line-height: 1;
	pointer-events: none;
}
body.c4-design .c4-404__title { max-width: 18ch; margin: 0 0 var(--c4-s-4); font-size: var(--c4-fs-2xl); font-weight: 700; line-height: 1.08; letter-spacing: -0.03em; text-wrap: balance; }
body.c4-design .c4-404__lede { max-width: 46ch; margin: 0 0 var(--c4-s-5); color: var(--c4-text-muted); }
body.c4-design .c4-404__search { max-width: 480px; margin: 0 0 var(--c4-s-5); }
@media (min-width: 768px) { body.c4-design .c4-404__card { padding: var(--c4-s-8) var(--c4-s-7); } }

/* Generic WP pages (Dragy Results gallery etc.) */
body.c4-design #content-vw { color: var(--c4-text-muted); }
body.c4-design #content-vw .wp-block-gallery { gap: var(--c4-s-3); margin-top: var(--c4-s-5); }
body.c4-design #content-vw .wp-block-gallery .wp-block-image img {
	border: 1px solid var(--c4-line);
	border-radius: var(--c4-r-md);
	background: var(--c4-surface);
}
body.c4-design #content-vw .wp-block-gallery .wp-block-image { border-radius: var(--c4-r-md); overflow: hidden; }
body.c4-design #content-vw .wp-block-gallery .wp-block-image figcaption { border-radius: 0 0 var(--c4-r-md) var(--c4-r-md); font-size: var(--c4-fs-xs); }
body.c4-design #content-vw h2,
body.c4-design #content-vw h3 { margin-top: var(--c4-s-6); }

/* Product category archives */
body.c4-design.tax-product_cat .woocommerce-products-header {
	position: relative;
	margin-bottom: var(--c4-s-5);
	padding: var(--c4-s-5) 0 var(--c4-s-4);
	border-bottom: 1px solid var(--c4-line);
}
body.c4-design.tax-product_cat .woocommerce-products-header::before {
	content: "Category";
	display: block;
	margin-bottom: var(--c4-s-2);
	color: var(--c4-accent);
	font-family: var(--c4-font-display);
	font-size: var(--c4-fs-xs);
	font-weight: 600;
	letter-spacing: var(--c4-track-caps);
	text-transform: uppercase;
}
body.c4-design.tax-product_cat .woocommerce-products-header__title { margin: 0; }
body.c4-design .woocommerce-no-products-found .woocommerce-info { margin-top: var(--c4-s-4); }

/* Woo block notices (cart/checkout blocks, store API) */
body.c4-design .wc-block-components-notice-banner {
	background: var(--c4-surface-2);
	color: var(--c4-text);
	border: 1px solid var(--c4-line);
	border-left: 4px solid var(--c4-accent);
	border-radius: var(--c4-r-md);
}
body.c4-design .wc-block-components-notice-banner.is-success { border-left-color: var(--c4-success); }
body.c4-design .wc-block-components-notice-banner.is-error { border-left-color: var(--c4-danger); }
body.c4-design .wc-block-components-notice-banner > svg { fill: currentColor; background: transparent; color: var(--c4-accent); }
body.c4-design .wc-block-components-notice-banner.is-success > svg { color: var(--c4-success); }
body.c4-design .wc-block-components-notice-banner.is-error > svg { color: var(--c4-danger); }
body.c4-design .wc-block-components-notice-banner a { color: var(--c4-accent); }
body.c4-design .woocommerce-message a:not(.button),
body.c4-design .woocommerce-info a:not(.button),
body.c4-design .woocommerce-error a:not(.button) { color: var(--c4-accent); }
body.c4-design .woocommerce-error li { color: var(--c4-text); }

/* Prices + sale badge outside the loop */
body.c4-design .woocommerce-Price-amount { font-variant-numeric: tabular-nums; }
body.c4-design del .woocommerce-Price-amount { color: var(--c4-text-subtle); }
body.c4-design ins { text-decoration: none; }
body.c4-design ins .woocommerce-Price-amount { color: var(--c4-accent); }

/* My account (logged in): nav + content grid, tables, addresses, forms */
@media (min-width: 992px) {
	body.c4-design.woocommerce-account.logged-in .woocommerce {
		display: grid;
		grid-template-columns: 240px minmax(0, 1fr);
		gap: var(--c4-s-6);
		align-items: start;
	}
	body.c4-design.woocommerce-account.logged-in .woocommerce::before,
	body.c4-design.woocommerce-account.logged-in .woocommerce::after { display: none; content: none; }
	body.c4-design.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
	body.c4-design.woocommerce-account .woocommerce-MyAccount-navigation,
	body.c4-design.woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; }
	body.c4-design.woocommerce-account .woocommerce-MyAccount-navigation { position: sticky; top: calc(var(--c4-header-offset) + 7rem); }
}
body.c4-design .woocommerce-MyAccount-content {
	padding: var(--c4-s-5);
	background: var(--c4-surface);
	border: 1px solid var(--c4-line);
	border-radius: var(--c4-r-lg);
}
body.c4-design .woocommerce-MyAccount-content > p { color: var(--c4-text-muted); }
body.c4-design .woocommerce-MyAccount-content a:not(.button):not(.woocommerce-button) { color: var(--c4-accent); }
body.c4-design .woocommerce-MyAccount-content form.woocommerce-EditAccountForm,
body.c4-design .woocommerce-MyAccount-content .woocommerce-address-fields { padding: 0; background: none; border: 0; }
body.c4-design .woocommerce-MyAccount-content fieldset {
	margin: var(--c4-s-5) 0;
	padding: var(--c4-s-4) var(--c4-s-5) var(--c4-s-2);
	border: 1px solid var(--c4-line);
	border-radius: var(--c4-r-md);
}
body.c4-design .woocommerce-MyAccount-content legend {
	float: none;
	width: auto;
	padding: 0 var(--c4-s-2);
	color: var(--c4-text);
	font-family: var(--c4-font-display);
	font-size: var(--c4-fs-sm);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
body.c4-design .woocommerce-MyAccount-content em,
body.c4-design .woocommerce-MyAccount-content .description { color: var(--c4-text-subtle); font-size: var(--c4-fs-xs); }
body.c4-design .woocommerce-MyAccount-navigation-link a::before { color: var(--c4-text-subtle); }

body.c4-design .woocommerce-account table.shop_table,
body.c4-design .woocommerce-MyAccount-content table.shop_table,
body.c4-design table.woocommerce-orders-table,
body.c4-design table.woocommerce-MyAccount-downloads,
body.c4-design table.woocommerce-MyAccount-paymentMethods,
body.c4-design table.woocommerce-table--order-details {
	width: 100%;
	border: 1px solid var(--c4-line);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--c4-r-md);
	overflow: hidden;
	background: var(--c4-surface);
	color: var(--c4-text-muted);
}
body.c4-design .woocommerce-account table.shop_table thead th,
body.c4-design table.woocommerce-orders-table thead th {
	padding: 0.8rem 1rem;
	background: var(--c4-surface-2);
	border-bottom: 1px solid var(--c4-line);
	color: var(--c4-text);
	font-family: var(--c4-font-display);
	font-size: var(--c4-fs-xs);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
body.c4-design .woocommerce-account table.shop_table td,
body.c4-design .woocommerce-account table.shop_table tbody th,
body.c4-design .woocommerce-account table.shop_table tfoot th,
body.c4-design .woocommerce-account table.shop_table tfoot td {
	padding: 0.8rem 1rem;
	border-top: 1px solid var(--c4-line);
	color: var(--c4-text-muted);
	vertical-align: middle;
}
body.c4-design .woocommerce-account table.shop_table tbody tr:first-child td,
body.c4-design .woocommerce-account table.shop_table tbody tr:first-child th { border-top: 0; }
body.c4-design .woocommerce-account table.shop_table tbody tr:hover td { background: rgba(255, 255, 255, 0.015); }
body.c4-design .woocommerce-account table.shop_table a:not(.button) { color: var(--c4-text); }
body.c4-design .woocommerce-orders-table__cell-order-number a { color: var(--c4-accent) !important; font-weight: 600; }
body.c4-design .woocommerce-orders-table__cell-order-actions .button,
body.c4-design .woocommerce-account table.shop_table .button { min-height: 36px; padding: 0.4rem 0.9rem; font-size: var(--c4-fs-xs); }
body.c4-design mark.order-status,
body.c4-design mark.order-number,
body.c4-design mark.order-date { background: var(--c4-accent-soft); color: var(--c4-text); padding: 0 0.3em; border-radius: 4px; }

body.c4-design .woocommerce-Addresses.addresses,
body.c4-design .woocommerce-account .u-columns.addresses { display: grid; gap: var(--c4-s-5); margin-top: var(--c4-s-4); }
@media (min-width: 768px) {
	body.c4-design .woocommerce-Addresses.addresses,
	body.c4-design .woocommerce-account .u-columns.addresses { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
body.c4-design .woocommerce-Addresses .woocommerce-Address { float: none; width: auto; max-width: none; padding: 0; }
body.c4-design .woocommerce-Addresses::before,
body.c4-design .woocommerce-Addresses::after { display: none; content: none; }
body.c4-design .woocommerce-Address-title { display: flex; align-items: baseline; justify-content: space-between; gap: var(--c4-s-3); margin-bottom: var(--c4-s-3); }
body.c4-design .woocommerce-Address-title h2,
body.c4-design .woocommerce-Address-title h3 { margin: 0; font-size: var(--c4-fs-lg) !important; }
body.c4-design .woocommerce-Address-title .edit { font-size: var(--c4-fs-sm); text-decoration: none; }
body.c4-design .woocommerce-account .woocommerce-MyAccount-content .woocommerce-info { margin-bottom: var(--c4-s-4); }
body.c4-design .woocommerce-MyAccount-content .woocommerce-Button.button,
body.c4-design .woocommerce-MyAccount-content button.button { margin-top: var(--c4-s-2); }

/* Parent ID-scoped overrides (#sidebar / #comments carry white cards + yellow buttons) */
body.c4-design #sidebar .wp-block-search .wp-block-search__inside-wrapper { display: flex; flex-wrap: nowrap; }
body.c4-design #sidebar .wp-block-search .wp-block-search__input,
body.c4-design #sidebar input[type="search"],
body.c4-design main[role="main"] input.search-field {
	margin: 0;
	padding: 0.6rem 0.875rem;
	background-color: var(--c4-surface-2);
	border: 1px solid var(--c4-line-strong);
	border-radius: var(--c4-r-sm);
	color: var(--c4-text);
	font-size: var(--c4-fs-sm);
}
body.c4-design #sidebar .wp-block-search .wp-block-search__button {
	width: auto;
	margin: 0;
	padding: 0.5rem 1rem;
	background: var(--c4-surface-3);
	border: 1px solid var(--c4-line-strong);
	color: var(--c4-text);
	font-size: var(--c4-fs-xs);
	letter-spacing: 0.06em;
}
body.c4-design #sidebar .wp-block-search .wp-block-search__button:hover { background: var(--c4-accent); border-color: var(--c4-accent); color: var(--c4-on-accent); }
body.c4-design #sidebar .wp-block-latest-comments a,
body.c4-design #sidebar .wp-block-latest-comments__comment-meta a { color: var(--c4-text); text-decoration: none; }
body.c4-design #sidebar .wp-block-latest-comments__comment-meta { color: var(--c4-text-subtle); font-size: var(--c4-fs-sm); }

body.c4-design #comments ol li {
	display: block;
	margin: 0 !important;
	padding: 0 !important;
	background: none;
	border: 0;
}
body.c4-design #comments .comment-author,
body.c4-design #comments .comment-metadata,
body.c4-design #comments .comment-content,
body.c4-design #comments .comment-content p,
body.c4-design #comments .reply { float: none; width: auto; padding: 0; }
body.c4-design #comments .comment-content { margin: 0 0 var(--c4-s-3); }
body.c4-design #comments .comment-content p { color: var(--c4-text-muted); }
body.c4-design #comments .comment-meta { position: static; height: auto; }
body.c4-design #comments a.comment-reply-link {
	padding: 0.3rem 0.85rem;
	background: transparent;
	border: 1px solid var(--c4-line-strong);
	border-radius: var(--c4-r-pill);
	color: var(--c4-text);
	font-size: var(--c4-fs-xs);
	font-weight: 500;
}
body.c4-design #comments a.comment-reply-link:hover { border-color: var(--c4-accent); color: var(--c4-accent); }
body.c4-design #comments input[type="submit"] {
	padding: 0.7rem 1.4rem;
	background: var(--c4-accent);
	border: 1px solid var(--c4-accent);
	border-radius: var(--c4-r-sm);
	color: var(--c4-on-accent);
}
body.c4-design #comments input[type="submit"]:hover { background: var(--c4-accent-hover); border-color: var(--c4-accent-hover); }

/* Dragy results: portrait phone screenshots read best 2-up mobile, 4-up desktop */
body.c4-design #content-vw .wp-block-gallery.has-nested-images {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--c4-s-3);
}
body.c4-design #content-vw .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) { width: auto; margin: 0; }
@media (min-width: 992px) {
	body.c4-design #content-vw .wp-block-gallery.has-nested-images { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--c4-s-4); }
}
body.c4-design .c4-404__search button[type="submit"],
body.c4-design .c4-search__panel button[type="submit"] { margin: 0; align-self: stretch; }

/* Parent paints account nav items + address edit links yellow */
body.c4-design nav.woocommerce-MyAccount-navigation ul li { margin: 0 0 2px; padding: 0; background: none; }
body.c4-design nav.woocommerce-MyAccount-navigation ul li:hover a { color: var(--c4-text); font-size: var(--c4-fs-sm); }
body.c4-design .woocommerce-account .woocommerce-Address-title a.edit,
body.c4-design .woocommerce-Address-title .edit {
	float: none;
	display: inline-flex;
	align-items: center;
	padding: 0.3rem 0.85rem;
	background: transparent;
	border: 1px solid var(--c4-line-strong);
	border-radius: var(--c4-r-pill);
	color: var(--c4-accent);
	font-size: var(--c4-fs-xs);
	font-weight: 600;
	white-space: nowrap;
}
body.c4-design .woocommerce-Address-title .edit:hover { border-color: var(--c4-accent); }
body.c4-design .woocommerce-Address-title { flex-wrap: wrap; }

/* Checkout order summary: product name renders as an h3 (parent paints h3 black, heading scale) */
body.c4-design .wc-block-components-order-summary-item h3.wc-block-components-product-name,
body.c4-design .wc-block-components-order-summary-item .wc-block-components-product-name {
	margin: 0 0 var(--c4-s-1);
	color: var(--c4-text) !important; /* parent: color #000 !important */
	font-family: var(--c4-font-text);
	font-size: var(--c4-fs-sm) !important; /* parent: 22px !important */
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.35;
}
body.c4-design .wc-block-components-order-summary-item .wc-block-components-product-metadata { color: var(--c4-text-subtle); font-size: var(--c4-fs-xs); }

/* Cart block item names hit the same parent !important rule */
body.c4-design .wc-block-cart-items a.wc-block-components-product-name { color: var(--c4-text) !important; font-size: var(--c4-fs-md) !important; }
body.c4-design .wc-block-cart-items a.wc-block-components-product-name:hover { color: var(--c4-accent) !important; }

/* Cart totals panel: inner gutter so labels/values clear the border */
body.c4-design .wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-block { padding: var(--c4-s-3) var(--c4-s-4); }
body.c4-design .wp-block-woocommerce-cart-order-summary-block .wc-block-cart__totals-title { padding: var(--c4-s-2) 0; margin: 0; }
body.c4-design .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper { padding-left: 0; padding-right: 0; }
body.c4-design .wp-block-woocommerce-cart-order-summary-block .wc-block-components-panel,
body.c4-design .wp-block-woocommerce-cart-order-summary-block .wc-block-components-panel__button { border: 0; border-radius: 0; background: transparent; }
body.c4-design table.wc-block-cart-items { border: 0 !important; }
body.c4-design table.wc-block-cart-items th,
body.c4-design table.wc-block-cart-items td { border-left: 0 !important; border-right: 0 !important; border-color: var(--c4-line) !important; }

/* 16. Storefront review (2026-10-10): parent !important leaks + small fixes ------ */
/* Parent style.css: Woo buttons border-radius:20px !important. Accounts handled in portal.css. */
body.c4-design:not(.woocommerce-account) .woocommerce a.button,
body.c4-design:not(.woocommerce-account) .woocommerce button.button,
body.c4-design:not(.woocommerce-account) .woocommerce input.button,
body.c4-design.woocommerce:not(.woocommerce-account) a.button,
body.c4-design.woocommerce:not(.woocommerce-account) button.button,
body.c4-design.woocommerce:not(.woocommerce-account) input.button,
body.c4-design.woocommerce #respond input#submit { border-radius: var(--c4-r-sm) !important; }

/* Parent style.css: h2.woocommerce-loop-product__title padding:0 0 5px !important */
body.c4-design ul.products[class*="columns-"] li.product h2.woocommerce-loop-product__title {
	padding: var(--c4-s-4) var(--c4-s-4) var(--c4-s-2) !important;
}

/* Parent style.css: .woocommerce .woocommerce-ordering select on #fff */
body.c4-design.woocommerce .woocommerce-ordering select,
body.c4-design .woocommerce .woocommerce-ordering select {
	background-color: var(--c4-surface-2);
	color: var(--c4-text);
	border: 1px solid var(--c4-line-strong);
	border-radius: var(--c4-r-sm);
}

/* Parent style.css: .woocommerce .quantity .qty color:#000 */
body.c4-design .quantity .qty,
body.c4-design.woocommerce .quantity .qty { color: var(--c4-text); background-color: var(--c4-surface-2); }

/* "No reviews yet" is a bare <p>; parent * { padding: 0 } leaves text on the border */
body.c4-design .woocommerce-noreviews,
body.c4-design p.no-comments { padding: var(--c4-s-3) var(--c4-s-4); }

/* Variable products: label above a full-width select instead of a squeezed two-column table */
body.c4-design.single-product div.product form.cart table.variations,
body.c4-design.single-product div.product form.cart table.variations tbody,
body.c4-design.single-product div.product form.cart table.variations tr,
body.c4-design.single-product div.product form.cart table.variations th,
body.c4-design.single-product div.product form.cart table.variations td {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: none;
}
body.c4-design.single-product div.product form.cart table.variations { margin: 0 0 var(--c4-s-2); }
body.c4-design.single-product div.product form.cart table.variations tr + tr { margin-top: var(--c4-s-4); }
body.c4-design.single-product div.product form.cart table.variations th.label {
	margin-bottom: var(--c4-s-2);
	line-height: 1.35;
	text-align: left;
}
body.c4-design.single-product div.product form.cart table.variations th.label label {
	margin: 0;
	font-family: var(--c4-font-display);
	font-size: var(--c4-fs-sm);
	font-weight: 600;
}
body.c4-design.single-product div.product form.cart table.variations td.value select {
	width: 100%;
	max-width: none;
	min-height: 48px;
	margin: 0;
}
body.c4-design.single-product div.product form.cart table.variations .reset_variations {
	display: inline-block;
	margin-top: var(--c4-s-2);
	padding: var(--c4-s-1) 0;
	font-size: var(--c4-fs-sm);
}
/* Variation qty + button sit one level down (.woocommerce-variation-add-to-cart) */
body.c4-design.single-product div.product form.cart .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: var(--c4-s-3);
	margin-top: var(--c4-s-3);
}
body.c4-design.single-product div.product form.cart .woocommerce-variation-add-to-cart .button.single_add_to_cart_button { flex: 1 1 12rem; }

/* Tap targets: breadcrumb + product meta links 17px -> 24px */
body.c4-design .woocommerce-breadcrumb a,
body.c4-design.single-product .product_meta a { display: inline-block; padding-block: 4px; }
body.c4-design .woocommerce form .woocommerce-form__input-checkbox { width: 18px; height: 18px; accent-color: var(--c4-accent); vertical-align: -3px; }
body.c4-design .woocommerce form .woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; gap: var(--c4-s-2); min-height: 24px; }
body.c4-design .woocommerce form .show-password-input { min-width: 24px; min-height: 24px; }
body.c4-design .breadcrumbs a { display: inline-block; padding-block: 2px; }

/* Empty-cart "New in store" block grid: parent paints titles #000 and buttons #000/8px/capitalize */
body.c4-design .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title { color: var(--c4-text) !important; }
body.c4-design .wp-block-woocommerce-empty-cart-block .wc-block-grid__product .wp-block-button__link,
body.c4-design .wc-block-grid__product a.wp-block-button__link.add_to_cart_button {
	min-height: 44px;
	padding: 0.7rem 1.4rem;
	color: var(--c4-on-accent) !important;
	border-radius: var(--c4-r-sm) !important;
	font-family: var(--c4-font-display);
	font-size: var(--c4-fs-sm);
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

/* Cart block: qty stepper 23px and coupon toggle 18px tall -> >= 32px / 24px targets */
body.c4-design .wc-block-components-quantity-selector { min-height: 36px; }
body.c4-design .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input,
body.c4-design .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { min-height: 34px; }
body.c4-design .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { min-width: 32px; }
body.c4-design .wc-block-components-totals-coupon .wc-block-components-panel__button { min-height: 32px; padding-block: var(--c4-s-2); }
body.c4-design .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price { text-align: center; }

/* Site-wide container alignment 576-767px (2026-10-10 Hermes, owner request):
   header/footer were capped at 540px while Woo content runs full width. */
@media (min-width: 576px) and (max-width: 767.98px) {
	body.c4-design .top-bar > .container,
	body.c4-design .middle-header > .container,
	body.c4-design .bottom-header > .container,
	body.c4-design .site-header .container,
	body.c4-design .c4-footer__main .container,
	body.c4-design .c4-footer__base .container,
	body.c4-design .c4-footer .container { max-width: none; }
}
/* site-wide container alignment */
