/* ==========================================================================
   Custom Defense Solutions USA — child theme CSS
   Brand: --red #B81828 / --plum #3B1F2B / --tan #FFFFFF / --dark #0d0d0d
   Loaded after greenshift parent + Google Fonts.
   ========================================================================== */

:root {
	--red:    #B81828;
	--plum:   #3B1F2B;
	--tan:    #FFFFFF;
	--black:  #080808;
	--dark:   #0d0d0d;
	--dark2:  #111010;
	--border: #1f1d1b;
	--muted:  #a8a8a8;
	--red-deep: #6b0e08;
	--card:   #161412;
	--nav-h:  96px;
}

/* ---------- Base ---------- */

html { scroll-behavior: smooth; }

body {
	background: var(--dark);
	color: var(--tan);
	font-family: 'Barlow', 'Helvetica Neue', sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Subtle noise overlay (2.5% opacity, fixed). */
body::before {
	content: '';
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: 1;
	opacity: 0.025;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
	mix-blend-mode: overlay;
}

/* Make sure content sits above the overlay. */
.wp-site-blocks { position: relative; z-index: 2; }
.wp-site-blocks > * + * { margin-block-start: 0; }

/* Ensure all GS row content wrappers have horizontal padding on mobile
   so text doesn't hit the screen edge. Only applies on small screens —
   desktop sections handle their own padding via max-width + auto margin. */
@media (max-width: 900px) {
	.gspb_row > .gspb_row__content {
		padding-left: 16px;
		padding-right: 16px;
		box-sizing: border-box;
	}
	/* Hero columns have their own padding — don't double up */
	#gspb_row-id-gsbp-hero > .gspb_row__content {
		padding-left: 0;
		padding-right: 0;
	}
	/* Services grid uses 1px gap effect — no side padding */
	#gspb_row-id-gsbp-services-grid > .gspb_row__content {
		padding-left: 0;
		padding-right: 0;
	}
}

/* Outline buttons — theme.json generates is-style-outline--N rules with
   color:currentColor that override inline colors. Beat them with !important. */
.wp-block-button.is-style-outline .wp-block-button__link.has-text-color[style*="color"] {
	color: #FFFFFF !important;
}

/* ---------- Headings (failsafe — theme.json handles most of it) ---------- */

h1, h2, h3, h4, h5,
.wp-block-heading {
	font-family: 'Oswald', 'Arial Narrow', sans-serif;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

h6, .wp-block-heading h6, .cds-eyebrow {
	font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--red);
	margin: 0 0 14px 0;
	display: inline-flex;
	align-items: center;
	gap: 14px;
}

/* 24px red line prefix on eyebrow labels. */
.cds-eyebrow::before {
	content: '';
	display: inline-block;
	width: 24px;
	height: 1px;
	background: var(--red);
}

/* (Old .mfs-header icon overrides removed — account + cart now live in .cds-nav-actions) */

/* ---------- Sticky Nav ---------- */

.cds-nav {
	position: sticky;
	top: 0;
	z-index: 100;
	height: var(--nav-h);
	background: rgba(8, 8, 8, 0.96);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--border);
}

.cds-nav .wp-block-group__inner-container,
.cds-nav-inner {
	height: var(--nav-h);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	padding: 0 clamp(16px, 4vw, 40px);
	max-width: 1320px;
	margin: 0 auto;
}

/* Logo (image-based) — high specificity + !important so block-layout
   classes injected onto the img can't override the size. */
.cds-logo {
	display: inline-flex;
	align-items: center;
	text-decoration: none !important;
	line-height: 0;
	flex-shrink: 0;
	max-width: 60vw;
}
.cds-nav .cds-logo .cds-logo__img,
.cds-nav .cds-logo img,
.cds-footer .cds-logo .cds-logo__img,
.cds-footer .cds-logo img {
	height: 72px !important;
	width: auto !important;
	max-width: 100% !important;
	display: block !important;
	object-fit: contain !important;
}
.cds-footer .cds-logo--footer .cds-logo__img,
.cds-footer .cds-logo--footer img {
	height: 88px !important;
}
@media (max-width: 600px) {
	.cds-nav .cds-logo .cds-logo__img,
	.cds-nav .cds-logo img {
		height: 44px !important;
	}
	.cds-footer .cds-logo--footer .cds-logo__img,
	.cds-footer .cds-logo--footer img {
		height: 64px !important;
	}
}

/* Nav menu — applies to core/navigation block inside .cds-nav */
.cds-nav .wp-block-navigation {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.cds-nav .wp-block-navigation .wp-block-navigation-item__content,
.cds-nav .wp-block-navigation a {
	color: var(--muted) !important;
	transition: color .2s ease;
	text-decoration: none !important;
	position: relative;
	padding: 6px 0;
}

.cds-nav .wp-block-navigation a::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 1px;
	background: var(--red);
	transition: width .2s ease;
}
.cds-nav .wp-block-navigation a:hover {
	color: var(--tan) !important;
}
.cds-nav .wp-block-navigation a:hover::after {
	width: 100%;
}

/* Submenu styling — these rules (background, link padding/hover) are safe
   on both desktop and the mobile overlay menu. */
.cds-nav .wp-block-navigation .wp-block-navigation__submenu-container {
	background: rgba(8, 8, 8, 0.98);
	border: 1px solid var(--border);
	border-radius: 0;
}
.cds-nav .wp-block-navigation .wp-block-navigation__submenu-container a {
	padding: 10px 18px !important;
}
.cds-nav .wp-block-navigation .wp-block-navigation__submenu-container a::after { display: none; }
.cds-nav .wp-block-navigation .wp-block-navigation__submenu-container a:hover {
	background: rgba(184, 24, 40, 0.12);
	color: var(--tan) !important;
}

/* Desktop-only: hover dropdown positioning + hide chevron icon. None of
   this should apply on mobile, where the overlay menu uses tap-to-expand
   and the submenu list flows inline. */
@media (min-width: 901px) {
	.cds-nav .wp-block-navigation .wp-block-navigation__submenu-container {
		min-width: 240px !important;
		padding: 8px 0 !important;
		padding-top: 16px !important;
		top: 100%;
		margin-top: 0;
	}
	.cds-nav .wp-block-navigation .has-child:hover > .wp-block-navigation__submenu-container,
	.cds-nav .wp-block-navigation .has-child:focus-within > .wp-block-navigation__submenu-container {
		visibility: visible !important;
		opacity: 1 !important;
		display: block !important;
	}
	.cds-nav .wp-block-navigation .wp-block-navigation__submenu-icon {
		display: none !important;
	}
}

/* Mobile overlay menu — full-screen fixed overlay, all items visible
   without scrolling, brand styling. */
@media (max-width: 900px) {
	.cds-nav .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		width: 100vw !important;
		height: 100vh !important;
		height: 100dvh !important;
		max-height: none !important;
		z-index: 999 !important;
		background: rgba(8, 8, 8, 0.98) !important;
		padding: 0 !important;
		overflow: hidden !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}
	/* Inner wrappers WP injects — make them content-fitting and centered */
	.cds-nav .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
	.cds-nav .wp-block-navigation .wp-block-navigation__responsive-dialog {
		overflow: hidden !important;
		overflow-y: hidden !important;
		max-height: none !important;
		height: auto !important;
		width: 100% !important;
		padding: 0 24px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}
	.cds-nav .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		display: flex !important;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 18px;
		font-family: 'Barlow Condensed', sans-serif;
		font-size: 18px;
		letter-spacing: 0.18em;
		overflow: hidden;
		width: 100%;
		max-width: 400px;
		text-align: center;
	}
	.cds-nav .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
		display: block;
		width: 100%;
	}
	.cds-nav .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open a {
		color: var(--tan) !important;
		text-decoration: none;
		display: block;
		padding: 8px 0 !important;
	}
	.cds-nav .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open a::after { display: none; }
	.cds-nav .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open a:hover {
		color: var(--red) !important;
	}
	/* Submenu inside the open overlay flows inline as a nested list */
	.cds-nav .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
		position: static !important;
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		background: transparent !important;
		border: none !important;
		padding: 8px 0 0 16px !important;
		min-width: 0 !important;
		margin: 0 !important;
		box-shadow: none !important;
	}
	.cds-nav .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a {
		font-size: 14px;
		color: var(--muted) !important;
		padding: 6px 0 !important;
	}
	/* Hamburger button — brand colors */
	.cds-nav .wp-block-navigation__responsive-container-open,
	.cds-nav .wp-block-navigation__responsive-container-close {
		color: var(--tan) !important;
	}
	.cds-nav .wp-block-navigation__responsive-container-open svg,
	.cds-nav .wp-block-navigation__responsive-container-close svg {
		fill: var(--tan);
	}
	/* Close (X) button — pin to top-right of full-screen overlay */
	.cds-nav .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
		position: fixed !important;
		top: 24px !important;
		right: 24px !important;
		z-index: 1000 !important;
		color: var(--tan) !important;
	}
	.cds-nav .wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg {
		width: 28px;
		height: 28px;
		fill: var(--tan);
	}
}

/* Nav actions: account icon + cart + CTA grouped on the right */
.cds-nav-actions {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-shrink: 0;
}
.cds-nav-actions .wp-block-woocommerce-customer-account,
.cds-nav-actions .wc-block-customer-account__account-icon {
	color: var(--muted) !important;
	fill: var(--muted) !important;
	transition: color .2s ease, fill .2s ease;
}
.cds-nav-actions .wp-block-woocommerce-customer-account:hover,
.cds-nav-actions .wc-block-customer-account__account-icon:hover {
	color: var(--tan) !important;
	fill: var(--tan) !important;
}
.cds-nav-actions .wp-block-woocommerce-customer-account a {
	padding: 0 !important;
	display: flex;
	align-items: center;
}
.cds-nav-actions .wp-block-woocommerce-customer-account svg,
.cds-nav-actions .wc-block-customer-account__account-icon svg {
	width: 24px;
	height: 24px;
}
.cds-nav-actions .wc-block-mini-cart__button svg {
	width: 24px;
	height: 24px;
}
.cds-nav-actions .wc-block-mini-cart__button {
	color: var(--muted) !important;
	padding: 0 !important;
	background: none !important;
	border: none !important;
	gap: 6px;
	transition: color .2s ease;
}
.cds-nav-actions .wc-block-mini-cart__button:hover {
	color: var(--tan) !important;
}
.cds-nav-actions .wc-block-mini-cart__button .wc-block-mini-cart__quantity-badge {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 11px;
	font-weight: 600;
}
@media (max-width: 900px) {
	.cds-nav-actions { gap: 16px; }
	.cds-nav-actions .cds-cta { display: none; }
}

/* Get In Touch button */
.cds-nav .cds-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--red);
	color: var(--tan) !important;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	padding: 14px 26px;
	text-decoration: none !important;
	transition: background .2s ease;
	white-space: nowrap;
}
.cds-nav .cds-cta:hover { background: var(--red-deep); }

/* ---------- Hero ---------- */

.cds-hero {
	position: relative;
	min-height: calc(100vh - var(--nav-h));
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	overflow: hidden;
	border-bottom: 2px solid var(--red);
}
@media (max-width: 900px) {
	.cds-hero { grid-template-columns: 1fr; min-height: auto; }
	.cds-hero__left {
		padding: clamp(48px, 8vw, 80px) clamp(16px, 4vw, 40px);
	}
	.cds-hero__right {
		padding: 48px clamp(16px, 4vw, 40px) 0;
	}
	.cds-hero__badge {
		position: static;
		margin-bottom: 24px;
	}
	.cds-hero__shield {
		transform: none;
		width: 120px;
		margin: 0 auto 24px;
	}
	.cds-hero__shield img {
		width: 120px;
		max-height: none;
	}
	.cds-hero__stats {
		position: static;
		margin-top: 32px;
	}
}

/* WordPress' flow-layout injects `margin-block-start: var(--wp--style--block-gap)`
   onto the second child of any .is-layout-flow group. Because .cds-hero is both
   a wp-block-group (flow layout) AND a CSS grid, that margin pushes the right
   column down as a grid item. Zero it out with specificity > WP's (0,1,1). */
.cds-hero.wp-block-group > .cds-hero__left,
.cds-hero.wp-block-group > .cds-hero__right {
	margin-block-start: 0;
	margin-block-end: 0;
}

.cds-hero__left {
	background: linear-gradient(120deg, #080808 40%, #1a0808 100%);
	padding: clamp(48px, 8vw, 120px) clamp(24px, 6vw, 88px);
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	overflow: hidden;
}

.cds-hero__title {
	font-family: 'Oswald', sans-serif !important;
	font-size: clamp(3rem, 7vw, 5rem) !important;
	font-weight: 700 !important;
	line-height: 0.95 !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin: 18px 0 28px 0 !important;
	color: var(--tan);
}
.cds-hero__title .accent { color: var(--red); }

.cds-hero__body {
	font-size: 17px;
	color: #a8a8a8;
	max-width: 480px;
	margin-bottom: 36px;
	line-height: 1.75;
}

.cds-hero__ghost {
	position: absolute;
	right: -2vw;
	bottom: -2vw;
	font-family: 'Oswald', sans-serif;
	font-size: clamp(8rem, 18vw, 18rem);
	font-weight: 700;
	letter-spacing: 0.02em;
	color: transparent;
	-webkit-text-stroke: 1px rgba(184, 24, 40, 0.18);
	text-stroke: 1px rgba(184, 24, 40, 0.18);
	pointer-events: none;
	line-height: 0.85;
	user-select: none;
	z-index: 0;
}
.cds-hero__left > * { position: relative; z-index: 1; }
.cds-hero__left > .cds-hero__ghost { z-index: 0; }

.cds-hero__right {
	background-color: var(--plum);
	background-image: url('https://cdsusa.monarchwave.com/wp-content/uploads/2026/05/thomas-tucker-8NDwuSSYl5c-unsplash.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(48px, 8vw, 120px) clamp(24px, 6vw, 64px);
	overflow: hidden;
}

/* Dark gradient overlay so the shield logo, badge, and stat cells stay
   legible on top of the hero photo. */
.cds-hero__right::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(8,8,8,0.65) 0%, rgba(59,31,43,0.55) 100%);
	pointer-events: none;
}
.cds-hero__right > * { position: relative; z-index: 1; }

.cds-hero__badge {
	position: absolute;
	top: 28px;
	left: 28px;
	background: var(--red);
	color: var(--tan);
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	padding: 8px 14px;
	z-index: 2;
}

.cds-hero__shield {
	display: flex;
	align-items: center;
	justify-content: center;
	/* Shift up to visually align the shield with the H1 on the left.
	   The left column centers its whole content block (eyebrow + H1 + body + buttons),
	   so the H1 itself sits ~6-7vw above the column midpoint because it's near the
	   top of that block. This translate mirrors that offset at typical viewports. */
	transform: translateY(clamp(-110px, -7vw, -50px));
}
.cds-hero__shield img {
	width: min(420px, 100%);
	height: auto;
	max-height: 50vh;
}

.cds-hero__stats {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
	background: rgba(8, 8, 8, 0.4);
	z-index: 2;
}
/* Kill WP flow-layout's `.is-layout-flow > * + *` margin injection on any
   container we've styled as a CSS grid or flex row. Without this, children 2+
   get margin-block-start pushing them down inside their grid/flex cell,
   showing up as a stray gap or "bar" above every item except the first. */
.cds-hero__stats.wp-block-group > .cell,
.cds-services__grid.wp-block-group > .cds-service-card,
.cds-reviews__grid.wp-block-group > .cds-review-card,
.cds-reviews__head-row.wp-block-group > *,
.cds-featured__grid.wp-block-group > * {
	margin-block-start: 0;
	margin-block-end: 0;
	margin-top: 0;
	margin-bottom: 0;
}
.cds-hero__stats .cell {
	flex: 1 1 0;
	min-width: 0;
	padding: 22px 12px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	text-align: center;
	border-right: 1px solid rgba(255, 255, 255, 0.12);
}
.cds-hero__stats .cell:last-child { border-right: none; }
.cds-hero__stats .num {
	display: block;
	width: 100%;
	text-align: center;
	font-family: 'Oswald', sans-serif;
	font-size: 22px;
	font-weight: 700;
	color: var(--red);
	line-height: 1;
	margin: 0;
}
.cds-hero__stats .lbl {
	display: block;
	width: 100%;
	text-align: center;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.6);
	margin: 0;
}

/* ---------- Hero load animations ---------- */
@keyframes cdsFadeUp {
	from { opacity: 0; transform: translateY(24px); }
	to   { opacity: 1; transform: translateY(0); }
}
.cds-hero__left > .cds-eyebrow,
.cds-hero__left > .cds-hero__title,
.cds-hero__left > .cds-hero__body,
.cds-hero__left > .wp-block-buttons,
.cds-hero__left > .cds-hero__buttons {
	opacity: 0;
	animation: cdsFadeUp 0.7s ease forwards;
}
.cds-hero__left > .cds-eyebrow      { animation-delay: 0.05s; }
.cds-hero__left > .cds-hero__title  { animation-delay: 0.15s; }
.cds-hero__left > .cds-hero__body   { animation-delay: 0.25s; }
.cds-hero__left > .wp-block-buttons,
.cds-hero__left > .cds-hero__buttons { animation-delay: 0.35s; }

/* ---------- Buttons (override theme.json defaults where needed) ---------- */

.cds-btn-primary,
.cds-btn-ghost {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	padding: 14px 26px;
	text-decoration: none !important;
	transition: all .2s ease;
	border: 1px solid transparent;
	cursor: pointer;
}
.cds-btn-primary {
	background: var(--red);
	color: var(--tan);
}
.cds-btn-primary:hover {
	background: var(--red-deep);
	color: var(--tan);
}
.cds-btn-ghost {
	background: transparent;
	color: var(--tan);
	border-color: var(--plum);
}
.cds-btn-ghost:hover {
	border-color: var(--red);
	color: var(--red);
}
.cds-hero__buttons {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
}

/* ---------- Info Strip ---------- */

.cds-info-strip {
	background: var(--red);
	border-bottom: 3px solid var(--red-deep);
}
.cds-info-strip__inner {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 clamp(16px, 4vw, 40px);
}
@media (max-width: 800px) {
	.cds-info-strip__inner { grid-template-columns: repeat(2, 1fr); }
}
.cds-info-strip .cell {
	padding: 22px 18px;
	display: flex;
	align-items: center;
	gap: 14px;
	border-right: 1px solid rgba(255, 255, 255, 0.18);
}
.cds-info-strip .cell:last-child { border-right: none; }
@media (max-width: 800px) {
	.cds-info-strip .cell:nth-child(2) { border-right: none; }
}
.cds-info-strip .icon {
	flex-shrink: 0;
	display: inline-flex;
	width: 24px;
	height: 24px;
	color: var(--tan);
}
.cds-info-strip .icon svg { width: 100%; height: 100%; stroke: var(--tan); fill: none; stroke-width: 1.5; }
.cds-info-strip .lbl {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.6);
	display: block;
	line-height: 1;
	margin-bottom: 4px;
}
.cds-info-strip .val {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 15px;
	font-weight: 500;
	color: var(--tan);
	line-height: 1.2;
}

/* ---------- Section base ---------- */

.cds-section {
	padding: 0 clamp(16px, 4vw, 40px) clamp(60px, 8vw, 110px);
	background: var(--dark);
}

/* Section patterns need to span the full viewport width even when their
   parent is a constrained-layout container (e.g. when inserted via
   post-content into the inner-page template, which wraps content in a
   980px-constrained .cds-section). On the home page (no-title.html) the
   parent is unconstrained so this escape becomes a no-op. */
.cds-services,
.cds-featured,
.cds-reviews,
.cds-cta-band,
.cds-info-strip {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
}
.cds-section__inner {
	max-width: 1320px;
	margin: 0 auto;
}
.cds-section__head {
	margin-bottom: 56px;
	max-width: 720px;
}
.cds-section__head h2 {
	font-size: clamp(2.25rem, 5vw, 3.5rem) !important;
	margin: 12px 0 18px 0 !important;
	line-height: 1.05 !important;
}
.cds-section__head p {
	color: var(--muted);
	font-size: 16px;
	line-height: 1.7;
	max-width: 620px;
}

/* ---------- Services Grid ---------- */

.cds-services {
	background: #0a0a0a;
}
.cds-services__head-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 56px;
	gap: 40px;
	flex-wrap: wrap;
}
.cds-services__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: var(--border);
	border: 1px solid var(--border);
}
@media (max-width: 900px) { .cds-services__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .cds-services__grid { grid-template-columns: 1fr; } }

.cds-service-card {
	background: var(--dark);
	padding: 38px 32px;
	border-top: 2px solid transparent;
	transition: background .25s ease, border-color .25s ease;
	display: flex;
	flex-direction: column;
}
.cds-service-card:hover {
	background: var(--card);
	border-top-color: var(--red);
}
.cds-service-card__icon {
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(184, 24, 40, 0.12);
	border: 1px solid rgba(184, 24, 40, 0.25);
	margin-bottom: 24px;
}
.cds-service-card__icon svg {
	width: 20px;
	height: 20px;
	stroke: var(--red);
	fill: none;
	stroke-width: 1.5;
}
.cds-service-card h3 {
	font-family: 'Oswald', sans-serif;
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--tan);
	margin: 0 0 14px 0;
}
.cds-service-card p {
	font-family: 'Barlow', sans-serif;
	font-size: 13px;
	color: var(--muted);
	line-height: 1.75;
	margin: 0 0 24px 0;
	flex: 1;
}
.cds-service-card__more {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--red);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.cds-service-card__more .arrow {
	display: inline-block;
	transition: transform .25s ease;
}
.cds-service-card:hover .cds-service-card__more .arrow {
	transform: translateX(3px);
}

/* ---------- Featured Inventory ---------- */

.cds-featured {
	background: var(--dark2);
	padding: 0;
}
.cds-featured__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	max-width: var(--wp--style--global--wide-size, 1200px);
	margin: 0 auto;
}
@media (max-width: 900px) { .cds-featured__grid { grid-template-columns: 1fr; } }
.cds-featured__content {
	padding: clamp(48px, 6vw, 80px);
	background: var(--dark2);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.cds-featured__content h2 {
	font-size: clamp(2.25rem, 5vw, 3.25rem) !important;
	margin: 12px 0 22px 0 !important;
	line-height: 1.05 !important;
}
.cds-featured__content h2 .accent { color: var(--red); }
.cds-featured__content p {
	color: var(--muted);
	font-size: 15px;
	line-height: 1.75;
	margin-bottom: 24px;
	max-width: 480px;
}
.cds-featured__pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 32px;
}
.cds-featured__pills .pill {
	background: rgba(184, 24, 40, 0.10);
	border: 1px solid rgba(184, 24, 40, 0.3);
	color: var(--red);
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	padding: 6px 12px;
}
.cds-featured__visual {
	background: var(--plum);
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 460px;
	padding: 60px 40px;
	overflow: hidden;
}
.cds-featured__visual::before {
	content: '';
	position: absolute;
	inset: 0;
	background: repeating-linear-gradient(
		135deg,
		rgba(255, 255, 255, 0.06) 0 1px,
		transparent 1px 14px
	);
	pointer-events: none;
}
.cds-featured__visual .wp-block-image {
	position: static;
	margin: 0;
	line-height: 0;
}
.cds-featured__visual img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 1;
}
.cds-featured__visual .caption {
	position: absolute;
	bottom: 28px;
	left: 50%;
	transform: translateX(-50%);
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 11px;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.3);
	white-space: nowrap;
}

/* ---------- Reviews ---------- */

.cds-reviews { background: var(--dark); }
.cds-reviews__head-row {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 56px;
	gap: 24px;
	flex-wrap: wrap;
}
.cds-reviews__seeall {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--red);
	text-decoration: none;
}
.cds-reviews__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
@media (max-width: 900px) { .cds-reviews__grid { grid-template-columns: 1fr; } }
.cds-review-card {
	background: var(--card);
	border: 1px solid var(--border);
	border-left: 3px solid var(--red);
	padding: 28px 26px;
}
.cds-review-card__stars {
	display: flex;
	gap: 3px;
	margin-bottom: 16px;
}
.cds-review-card__stars svg { width: 13px; height: 13px; fill: var(--red); }
.cds-review-card__quote {
	font-family: 'Barlow', sans-serif;
	font-style: italic;
	font-size: 13px;
	color: #bcbcbc;
	line-height: 1.75;
	margin: 0 0 18px 0;
}
.cds-review-card__author {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--red);
}

/* ---------- CTA Band ---------- */

.cds-cta-band {
	background: url('/wp-content/uploads/2026/04/zino-uBGQont2q_Q-unsplash-scaled-e1775760027446.jpg') center / cover no-repeat;
	border-top: 2px solid var(--red);
	border-bottom: 2px solid var(--red);
	text-align: center;
	padding: clamp(60px, 8vw, 100px) clamp(16px, 4vw, 40px);
	position: relative;
	overflow: hidden;
}
.cds-cta-band::before {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
	pointer-events: none;
	z-index: 1;
}
.cds-cta-band > * { position: relative; z-index: 2; }
.cds-cta-band h2 {
	font-size: clamp(2.5rem, 6vw, 3.75rem) !important;
	margin: 14px 0 18px 0 !important;
	line-height: 1.05 !important;
}
.cds-cta-band p {
	color: rgba(255, 255, 255, 0.7);
	font-size: 16px;
	max-width: 580px;
	margin: 0 auto 36px auto;
	line-height: 1.7;
}
.cds-cta-band__buttons {
	display: inline-flex;
	gap: 14px;
	flex-wrap: wrap;
	justify-content: center;
}

/* ---------- Footer ---------- */

.cds-footer {
	background: var(--black);
	border-top: 1px solid var(--border);
	color: var(--muted);
}
.cds-footer__inner {
	max-width: 1320px;
	margin: 0 auto;
	padding: 80px clamp(16px, 4vw, 40px) 40px;
}
.cds-footer__grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr 1fr;
	gap: 48px;
	padding-bottom: 48px;
	border-bottom: 1px solid var(--border);
}
@media (max-width: 900px) {
	.cds-footer__grid { grid-template-columns: 1fr 1fr; gap: 36px; }
}
@media (max-width: 600px) {
	.cds-footer__grid { grid-template-columns: 1fr; }
}
.cds-footer__brand p {
	font-size: 13px;
	line-height: 1.75;
	color: var(--muted);
	max-width: 360px;
	margin: 18px 0;
}
.cds-footer__brand a {
	color: var(--tan);
	text-decoration: none;
}
.cds-footer ul { list-style: none; padding-left: 0; }
.cds-footer h4 {
	font-family: 'Oswald', sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--tan);
	margin: 0 0 18px 0;
}
.cds-footer__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.cds-footer__list a, .cds-footer__list li {
	font-family: 'Barlow', sans-serif;
	font-size: 13px;
	color: var(--muted);
	text-decoration: none;
	transition: color .2s ease;
}
.cds-footer__list a:hover { color: var(--tan); }
.cds-footer__bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 32px;
	gap: 24px;
	flex-wrap: wrap;
}
.cds-footer__bottom .copy {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 11px;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--muted);
}
.cds-footer__socials {
	display: flex;
	gap: 10px;
}
.cds-footer__socials a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid var(--border);
	color: var(--muted);
	transition: border-color .2s ease, color .2s ease;
}
.cds-footer__socials a:hover {
	border-color: var(--red);
	color: var(--red);
}
.cds-footer__socials svg { width: 16px; height: 16px; fill: currentColor; }

.cds-ffl-bar {
	background: var(--red);
	color: var(--tan);
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	padding: 16px clamp(16px, 4vw, 40px);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	text-align: center;
}
.cds-ffl-bar svg { width: 18px; height: 18px; flex-shrink: 0; }

/* ---------- Inner page banner ---------- */

.cds-page-banner {
	background: linear-gradient(120deg, #080808 40%, #1a0808 100%);
	padding: clamp(40px, 5vw, 64px) clamp(16px, 4vw, 40px);
	border-bottom: 2px solid var(--red);
	text-align: center;
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.cds-page-banner h1,
.cds-page-banner .wp-block-post-title {
	font-size: clamp(1.75rem, 4vw, 3rem) !important;
	margin: 10px 0 0 0 !important;
	line-height: 1.1 !important;
	text-align: center !important;
	width: 100%;
}
.cds-page-banner .cds-eyebrow {
	display: inline-flex;
	margin: 0;
}
.cds-page-banner__sub {
	margin: 48px auto 0 auto;
	max-width: 620px;
	color: var(--muted);
	font-size: 15px;
	line-height: 1.7;
	text-align: center;
}
/* Kill WP's `.is-layout-flow > * + *` margin injection on the flex-column
   banner — but allow the subtitle to keep its own explicit top margin. */
.cds-page-banner.wp-block-group > .cds-eyebrow,
.cds-page-banner.wp-block-group > h1,
.cds-page-banner.wp-block-group > .wp-block-post-title {
	margin-block-start: 0;
	margin-block-end: 0;
}

/* ---------- Shop mode page ---------- */

/* When the inner-page template's .cds-section wraps a section pattern that
   escapes via viewport-width margins, the parent's padding becomes a visible
   grey bar (since the escaped pattern flies out horizontally but doesn't
   fill the parent's vertical padding). Zero the corresponding padding when
   the post-content's first/last child IS one of those escaping patterns.
   Pages with text content above/below patterns (e.g. /about/) keep their
   padding because their first/last child is a paragraph or heading. */
.cds-section:has(.entry-content > :first-child:is(.cds-services, .cds-featured, .cds-reviews, .cds-cta-band, .cds-info-strip, .cds-shop-layout)) {
	padding-top: 0;
}
.cds-section:has(.entry-content > :last-child:is(.cds-services, .cds-featured, .cds-reviews, .cds-cta-band, .cds-info-strip, .cds-shop-layout)) {
	padding-bottom: 0;
}

/* The .site-content main wrapper is a wp-block-group with flow layout, so
   WP injects margin-block-start (~1.6rem) on its 2nd+ children. That gap
   shows up as a thin grey strip between the banner and the first section.
   Zero those margins on direct children — each section provides its own
   padding rhythm. */
.site-content.wp-block-group > .cds-page-banner,
.site-content.wp-block-group > .cds-section,
.entry-content > .cds-hero,
.entry-content > .cds-info-strip,
.entry-content > .cds-section,
.entry-content > .cds-featured,
.entry-content > .cds-reviews,
.entry-content > .cds-cta-band,
/* Greenshift row blocks used by migrated patterns */
.site-content > .gspb_row,
.entry-content > .gspb_row,
.entry-content > .alignfull,
.wp-block-post-content > .gspb_row,
.wp-block-post-content > .alignfull {
	margin-block-start: 0;
	margin-block-end: 0;
}

.cds-shop-layout {
	/* Escape any nested constrained layout (core/post-content wraps us in
	   .entry-content, which inherits the .cds-section constrained width,
	   so `alignfull` alone won't free us). Push width to the viewport edges
	   via the `50% - 50vw` margin trick, then use asymmetric padding that
	   auto-centers interior content at max 1320px (matches the nav bar). */
	max-width: none;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	box-sizing: border-box;
	padding: clamp(32px, 4vw, 56px) max(clamp(16px, 4vw, 40px), calc((100vw - 1320px) / 2)) clamp(60px, 8vw, 100px);
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 40px;
}
@media (max-width: 900px) {
	.cds-shop-layout {
		grid-template-columns: 1fr;
		gap: 32px;
	}
}

/* WP flow-layout margin reset for the shop layout grid children. */
.cds-shop-layout.wp-block-group > .cds-shop-sidebar,
.cds-shop-layout.wp-block-group > .cds-shop-main {
	margin-block-start: 0;
	margin-block-end: 0;
}

/* Sidebar — white card on the dark page so the filter panel pops.
   Brand-red left stripe anchors it to the rest of the site. All inner
   SSF/SSS dark-theme overrides further down are re-inverted by the
   "Light-theme overrides" block at the end of the SSF section. */
.cds-shop-sidebar {
	background: #FFFFFF;
	color: #1c1c1c;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-left: 3px solid var(--red);
	padding: 28px 24px;
	position: sticky;
	top: calc(var(--nav-h) + 16px);
	align-self: start;
	max-height: calc(100vh - var(--nav-h) - 32px);
	overflow-y: auto;
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45);
}
@media (max-width: 900px) {
	.cds-shop-sidebar { position: static; max-height: none; }
}
/* ==========================================================================
   Super Speedy Filters + Super Speedy Search — CDS dark theme
   Comprehensive override of all plugin default light colours.
   ========================================================================== */

/* --- Global resets inside sidebar --- */
/* Override Greenshift parent theme's .fww_sidebar white box */
.fww_sidebar,
.cds-shop-sidebar .fww_sidebar {
	background: transparent !important;
	background-color: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
}
.cds-shop-sidebar .fwwfilter,
.cds-shop-sidebar .widget,
.cds-shop-sidebar .fww-widget-content,
.cds-shop-sidebar form,
.cds-shop-sidebar .fwwattributesearchresults,
.cds-shop-sidebar .ssf_range_content {
	background: transparent !important;
	color: var(--tan) !important;
}
/* Parent theme also styles .fww_sidebar search form */
.fww_sidebar .super-speedy-search-form,
.cds-shop-sidebar .super-speedy-search-form {
	border: 1px solid var(--border) !important;
}
.fww_sidebar .super-speedy-search-form button[type="submit"],
.fww_sidebar .super-speedy-search-form button[type="button"] {
	background: var(--dark) !important;
	color: var(--muted) !important;
}
.cds-shop-sidebar,
.cds-shop-sidebar .fww_sidebar {
	font-family: 'Barlow', sans-serif;
}
/* Every input, select, textarea — nuclear dark override.
   SSF sets background-color:#fff on .fwwfilter .range-filter-fields input[type="number"]
   and border-color:#111 !important on .pff-field-input:focus — we must beat both. */
.cds-shop-sidebar input,
.cds-shop-sidebar select,
.cds-shop-sidebar textarea,
.cds-shop-sidebar input[type="text"],
.cds-shop-sidebar input[type="number"],
.cds-shop-sidebar input[type="search"],
.cds-shop-sidebar .pff-field-input,
.cds-shop-sidebar .fww-inline-search,
.cds-shop-sidebar .fwwfilter .range-filter-fields input[type="number"],
.cds-shop-sidebar .fwwfilter .price-filter-fields input[type="number"],
.cds-shop-sidebar form .range-filter-fields input[type="number"] {
	background: var(--dark) !important;
	background-color: var(--dark) !important;
	border: 1px solid var(--border) !important;
	color: var(--tan) !important;
	font-family: 'Barlow', sans-serif !important;
	font-size: 13px !important;
	box-sizing: border-box !important;
	outline: none !important;
}
.cds-shop-sidebar input:focus,
.cds-shop-sidebar input:hover,
.cds-shop-sidebar .pff-field-input:focus,
.cds-shop-sidebar .pff-field-input:hover,
.cds-shop-sidebar .fwwfilter .range-filter-fields input[type="number"]:focus,
.cds-shop-sidebar .fwwfilter .range-filter-fields input[type="number"]:hover {
	border-color: var(--red) !important;
	box-shadow: none !important;
}
.cds-shop-sidebar input::placeholder,
.cds-shop-sidebar .fww-inline-search::placeholder,
.cds-shop-sidebar .ssstext::placeholder {
	color: var(--muted) !important;
}
/* Floating label colours (SSF uses rgba(0,0,0,.87)) */
.cds-shop-sidebar .pff-field-input:placeholder-shown + .pff-field-label,
.cds-shop-sidebar .pff-field-input:placeholder-shown:not(:-webkit-autofill):not(:focus) + .pff-field-label {
	color: var(--muted) !important;
}
.cds-shop-sidebar .pff-field-input:focus + .pff-field-label,
.cds-shop-sidebar .pff-field-label {
	color: var(--muted) !important;
	background: #24201d !important;
	padding: 0 4px !important;
}

/* --- Widget headings --- */
.cds-shop-sidebar .fwwfilter h3,
.cds-shop-sidebar .widget h3 {
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	color: var(--red) !important;
	margin: 0 0 14px 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

/* --- Widget spacing / dividers --- */
.cds-shop-sidebar .fwwfilter,
.cds-shop-sidebar .widget {
	margin-bottom: 24px !important;
	padding-bottom: 24px !important;
	border-bottom: 1px solid var(--border) !important;
}
.cds-shop-sidebar .fwwfilter:last-child,
.cds-shop-sidebar .widget:last-child {
	border-bottom: none !important;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

/* --- All links and text inside filters --- */
.cds-shop-sidebar .fwwfilter a,
.cds-shop-sidebar .fwwfilter .fwwattributelink,
.cds-shop-sidebar .fwwfilter ul.list li a,
.cds-shop-sidebar .fwwfilter ul.checkboxlist li a,
.cds-shop-sidebar .fwwfilter ul.radio li a,
.cds-shop-sidebar .fwwfilter ul.label li a,
.cds-shop-sidebar .fwwfilter ul.colourlist a {
	color: var(--tan) !important;
	text-decoration: none !important;
	font-size: 13px !important;
	background-color: transparent !important;
}
.cds-shop-sidebar .fwwfilter a:hover,
.cds-shop-sidebar .fwwfilter ul.list li a:hover,
.cds-shop-sidebar .fwwfilter ul.label li a:hover,
.cds-shop-sidebar .fwwfilter ul li.wpilabel a:hover {
	color: var(--red) !important;
	background-color: transparent !important;
}
/* Selected / chosen / active states */
.cds-shop-sidebar .fwwfilter a.chosen,
.cds-shop-sidebar .fwwfilter a.fwwremovefilter,
.cds-shop-sidebar .fwwfilter li.selected a,
.cds-shop-sidebar .fwwfilter li.active-attribute a,
.cds-shop-sidebar .fwwfilter li.active-price a,
.cds-shop-sidebar .fwwfilter ul.show-existing-filters.label li.chosen a,
.cds-shop-sidebar .fwwfilter ul > li.selected.chosen a {
	color: var(--red) !important;
	background-color: transparent !important;
	font-weight: 600 !important;
}

/* --- Label-style pill borders (plugin uses #E0E0E0) --- */
.cds-shop-sidebar .fwwfilter ul.label li a,
.cds-shop-sidebar .fwwfilter ul.show-existing-filters.label li.chosen a,
.cds-shop-sidebar .fwwfilter ul li.wpicolour a.fwwattributelink,
.cds-shop-sidebar .fwwfilter ul li.wpicolour a.fwwremovefilter {
	border-color: var(--border) !important;
}

/* --- Checkbox / radio pseudo-icon colours --- */
.cds-shop-sidebar .fwwfilter ul.checkboxlist li a:before,
.cds-shop-sidebar .fwwfilter ul.radio li a:before,
.cds-shop-sidebar .fwwfilter [class^="fwwicon-"],
.cds-shop-sidebar .fwwfilter [class*=" fwwicon-"],
.cds-shop-sidebar .fww-checkbox span:before,
.cds-shop-sidebar .fww-radio span:before {
	color: var(--muted) !important;
}
.cds-shop-sidebar .fwwfilter ul.checkboxlist a.chosen:before,
.cds-shop-sidebar .fwwfilter ul.radio a.chosen:before,
.cds-shop-sidebar .fwwfilter li.selected [class^="fwwicon-"],
.cds-shop-sidebar .fwwfilter .chosen [class^="fwwicon-"],
.cds-shop-sidebar .fww-checkbox input:checked ~ span:before,
.cds-shop-sidebar .fww-radio input:checked ~ span:before {
	color: var(--red) !important;
}

/* Multiselect close icon */
.cds-shop-sidebar .fwwfilter ul.label.multiselect li.chosen a:before,
.cds-shop-sidebar .fwwfilter ul.show-existing-filters.label li.chosen a:after {
	color: var(--muted) !important;
}

/* --- Counts --- */
.cds-shop-sidebar .fwwfilter .count,
.cds-shop-sidebar .fwwfilter span.count,
.cds-shop-sidebar .fwwfilter span.categorycount {
	color: var(--muted) !important;
	font-size: 11px !important;
}

/* --- Toggle / accordion arrow --- */
.cds-shop-sidebar .fww-widget-toggle h3 {
	padding-bottom: 10px !important;
}
.cds-shop-sidebar .fwwicon-keyboard_arrow_down {
	color: var(--muted) !important;
}

/* --- Stock toggle switch --- */
.cds-shop-sidebar .fww-toggle-switch-text {
	color: var(--tan) !important;
	font-size: 13px !important;
}
.cds-shop-sidebar .fww-toggle-switch-style2 > label::before,
.cds-shop-sidebar .fww-toggle-switch-style2 .fww-toggle-switch-label::before {
	background: var(--border) !important;
	opacity: 1 !important;
}
.cds-shop-sidebar .fww-toggle-switch-style2 > :checked + label::before,
.cds-shop-sidebar :checked + .fww-toggle-switch-style2 .fww-toggle-switch-label::before {
	background: var(--red) !important;
}
.cds-shop-sidebar .fww-toggle-switch-style2 > label::after,
.cds-shop-sidebar .fww-toggle-switch-style2 .fww-toggle-switch-label::after {
	background: var(--tan) !important;
}
.cds-shop-sidebar .fww-toggle-switch:hover > label::after,
.cds-shop-sidebar .fww-toggle-switch > :focus + label::after {
	box-shadow: 0 0 6px rgba(184, 24, 40, 0.4) !important;
}

/* --- Category inline search --- */
.cds-shop-sidebar .fww-inline-search-form .fwwicon-search,
.cds-shop-sidebar .fww-inline-search-form .fww-inline-search-clear-button {
	color: var(--muted) !important;
}
.cds-shop-sidebar .fww-no-results-found {
	color: var(--muted) !important;
	font-size: 12px !important;
}

/* --- Attribute search dropdown --- */
.cds-shop-sidebar .fwwattributesearchresults {
	background-color: var(--dark2) !important;
	border: 1px solid var(--border) !important;
}

/* --- Price range slider --- */
.cds-shop-sidebar .ssf_range_slider {
	accent-color: var(--red) !important;
}
.cds-shop-sidebar .noUi-target {
	background: var(--border) !important;
	border: none !important;
	box-shadow: none !important;
}
.cds-shop-sidebar .noUi-connect {
	background: var(--red) !important;
}
.cds-shop-sidebar .noUi-handle {
	background: var(--tan) !important;
	border: 2px solid var(--red) !important;
	box-shadow: none !important;
}
.cds-shop-sidebar .noUi-tooltip {
	background: var(--dark) !important;
	border: 1px solid var(--border) !important;
	color: var(--tan) !important;
	font-size: 11px !important;
}
.cds-shop-sidebar .pff-field-label {
	color: var(--muted) !important;
	font-size: 10px !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
}
.cds-shop-sidebar .wpidash {
	color: var(--muted) !important;
}
.cds-shop-sidebar .ssf_apply_range_filter {
	background: var(--red) !important;
	color: var(--tan) !important;
	border: none !important;
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.15em !important;
	text-transform: uppercase !important;
	padding: 10px 18px !important;
	cursor: pointer !important;
	margin-top: 12px !important;
	width: 100% !important;
}
.cds-shop-sidebar .ssf_apply_range_filter:hover {
	background: var(--red-deep) !important;
}

/* --- SSS Search widget --- */
.cds-shop-sidebar .super-speedy-search-form .sssresults {
	background-color: var(--dark2) !important;
	border: 1px solid var(--border) !important;
}
.cds-shop-sidebar .sssresults .sss_suggestions_container .sss_list_header,
.cds-shop-sidebar .sssresults .sss_scroll_container ul.sss-suggestions,
.cds-shop-sidebar .sssresults .sss_scroll_container ul.sss-taxonomies {
	background-color: var(--dark2) !important;
	color: var(--tan) !important;
}
.cds-shop-sidebar .sss_suggestions_container a,
.cds-shop-sidebar .sssresults .sss_items a {
	color: var(--tan) !important;
}
.cds-shop-sidebar .sss_suggestions_container a:hover,
.cds-shop-sidebar .sss_suggestions_container a:focus,
.cds-shop-sidebar .sssresults .sss_items a:hover,
.cds-shop-sidebar .sssresults .sss_items a:focus {
	background-color: var(--border) !important;
}
.cds-shop-sidebar .super-speedy-search-form .sss_search_button,
.cds-shop-sidebar .super-speedy-search-form .sss_clear_button {
	color: var(--muted) !important;
	background: transparent !important;
	border: none !important;
}

/* --- Loading overlay — dark instead of white --- */
.cds-shop-sidebar .awdFFLoadingPage {
	background-color: rgba(13, 13, 13, 0.9) !important;
}

/* ==========================================================================
   Light-theme overrides — re-inverts the SSF/SSS dark rules above so the
   sidebar reads as a clean white card on the dark page. Keep this block
   LAST so it wins the cascade against the dark-theme rules.

   Token map for the light card:
     --light-text:   #1c1c1c    (body text, links)
     --light-muted:  #6b6b6b    (placeholders, counts, labels)
     --light-border: #d4cfc4    (input borders, pill borders)
     --light-line:   #e5e1da    (widget dividers)
     --light-bg:     #FFFFFF    (panel + inputs)
   ========================================================================== */

/* Body text & filter wrappers */
.cds-shop-sidebar .fwwfilter,
.cds-shop-sidebar .widget,
.cds-shop-sidebar .fww-widget-content,
.cds-shop-sidebar form,
.cds-shop-sidebar .fwwattributesearchresults,
.cds-shop-sidebar .ssf_range_content {
	color: #1c1c1c !important;
}

/* Search form button — brand red with white icon, matching site CTAs.
   Selectors include `.fww_sidebar` to bump specificity above an inline
   <style class="wpcode-css-snippet"> block injected later in <head> that
   pins the button to a navy #062d47 with !important at specificity 0,0,3,1.
   Adding `.fww_sidebar` brings ours to 0,0,4,1 so we win the cascade. */
.cds-shop-sidebar .fww_sidebar .super-speedy-search-form {
	border-color: #d4cfc4 !important;
}
.cds-shop-sidebar .fww_sidebar .super-speedy-search-form button[type="submit"],
.cds-shop-sidebar .fww_sidebar .super-speedy-search-form button[type="button"],
.cds-shop-sidebar .fww_sidebar .super-speedy-search-form .sss_search_button {
	background: var(--red) !important;
	background-color: var(--red) !important;
	color: #FFFFFF !important;
	border: none !important;
	transition: background .15s ease !important;
}
.cds-shop-sidebar .fww_sidebar .super-speedy-search-form button[type="submit"]:hover,
.cds-shop-sidebar .fww_sidebar .super-speedy-search-form button[type="button"]:hover,
.cds-shop-sidebar .fww_sidebar .super-speedy-search-form .sss_search_button:hover {
	background: var(--red-deep) !important;
	background-color: var(--red-deep) !important;
}
/* Icon inside the search button (SSS uses <i class="wpi-sss-icon-search">) */
.cds-shop-sidebar .fww_sidebar .super-speedy-search-form .sss_search_button i,
.cds-shop-sidebar .fww_sidebar .super-speedy-search-form .sss_search_button [class^="wpi-"],
.cds-shop-sidebar .fww_sidebar .super-speedy-search-form .sss_search_button [class*=" wpi-"] {
	color: #FFFFFF !important;
}

/* Inputs */
.cds-shop-sidebar input,
.cds-shop-sidebar select,
.cds-shop-sidebar textarea,
.cds-shop-sidebar input[type="text"],
.cds-shop-sidebar input[type="number"],
.cds-shop-sidebar input[type="search"],
.cds-shop-sidebar .pff-field-input,
.cds-shop-sidebar .fww-inline-search,
.cds-shop-sidebar .fwwfilter .range-filter-fields input[type="number"],
.cds-shop-sidebar .fwwfilter .price-filter-fields input[type="number"],
.cds-shop-sidebar form .range-filter-fields input[type="number"] {
	background: #FFFFFF !important;
	background-color: #FFFFFF !important;
	border: 1px solid #d4cfc4 !important;
	color: #1c1c1c !important;
}
.cds-shop-sidebar input::placeholder,
.cds-shop-sidebar .fww-inline-search::placeholder,
.cds-shop-sidebar .ssstext::placeholder {
	color: #6b6b6b !important;
}

/* Floating labels — cutout sits over the white card */
.cds-shop-sidebar .pff-field-input:placeholder-shown + .pff-field-label,
.cds-shop-sidebar .pff-field-input:placeholder-shown:not(:-webkit-autofill):not(:focus) + .pff-field-label,
.cds-shop-sidebar .pff-field-input:focus + .pff-field-label,
.cds-shop-sidebar .pff-field-label {
	color: #6b6b6b !important;
	background: #FFFFFF !important;
}

/* Widget dividers — soft light line between filters */
.cds-shop-sidebar .fwwfilter,
.cds-shop-sidebar .widget {
	border-bottom-color: #e5e1da !important;
}

/* Filter links */
.cds-shop-sidebar .fwwfilter a,
.cds-shop-sidebar .fwwfilter .fwwattributelink,
.cds-shop-sidebar .fwwfilter ul.list li a,
.cds-shop-sidebar .fwwfilter ul.checkboxlist li a,
.cds-shop-sidebar .fwwfilter ul.radio li a,
.cds-shop-sidebar .fwwfilter ul.label li a,
.cds-shop-sidebar .fwwfilter ul.colourlist a {
	color: #1c1c1c !important;
}
/* Hover & chosen states keep brand red — already set by dark rules above */

/* Label pill borders */
.cds-shop-sidebar .fwwfilter ul.label li a,
.cds-shop-sidebar .fwwfilter ul.show-existing-filters.label li.chosen a,
.cds-shop-sidebar .fwwfilter ul li.wpicolour a.fwwattributelink,
.cds-shop-sidebar .fwwfilter ul li.wpicolour a.fwwremovefilter {
	border-color: #d4cfc4 !important;
}

/* Checkbox / radio icon colour (unchecked) — medium gray on light */
.cds-shop-sidebar .fwwfilter ul.checkboxlist li a:before,
.cds-shop-sidebar .fwwfilter ul.radio li a:before,
.cds-shop-sidebar .fwwfilter [class^="fwwicon-"],
.cds-shop-sidebar .fwwfilter [class*=" fwwicon-"],
.cds-shop-sidebar .fww-checkbox span:before,
.cds-shop-sidebar .fww-radio span:before {
	color: #6b6b6b !important;
}

/* Counts & misc muted text */
.cds-shop-sidebar .fwwfilter .count,
.cds-shop-sidebar .fwwfilter span.count,
.cds-shop-sidebar .fwwfilter span.categorycount,
.cds-shop-sidebar .fwwfilter ul.label.multiselect li.chosen a:before,
.cds-shop-sidebar .fwwfilter ul.show-existing-filters.label li.chosen a:after,
.cds-shop-sidebar .fwwicon-keyboard_arrow_down,
.cds-shop-sidebar .fww-no-results-found,
.cds-shop-sidebar .fww-inline-search-form .fwwicon-search,
.cds-shop-sidebar .fww-inline-search-form .fww-inline-search-clear-button,
.cds-shop-sidebar .wpidash {
	color: #6b6b6b !important;
}

/* Stock toggle switch */
.cds-shop-sidebar .fww-toggle-switch-text {
	color: #1c1c1c !important;
}
.cds-shop-sidebar .fww-toggle-switch-style2 > label::before,
.cds-shop-sidebar .fww-toggle-switch-style2 .fww-toggle-switch-label::before {
	background: #d4cfc4 !important;
}
.cds-shop-sidebar .fww-toggle-switch-style2 > label::after,
.cds-shop-sidebar .fww-toggle-switch-style2 .fww-toggle-switch-label::after {
	background: #FFFFFF !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25) !important;
}

/* Attribute search dropdown panel */
.cds-shop-sidebar .fwwattributesearchresults {
	background-color: #FFFFFF !important;
	border-color: #d4cfc4 !important;
}

/* Price-range slider — track lighter, handle red so it's visible on white */
.cds-shop-sidebar .noUi-target {
	background: #e5e1da !important;
}
.cds-shop-sidebar .noUi-handle {
	background: var(--red) !important;
	border-color: var(--red) !important;
}
.cds-shop-sidebar .noUi-tooltip {
	background: #FFFFFF !important;
	border-color: #d4cfc4 !important;
	color: #1c1c1c !important;
}

/* SSS Search suggestions dropdown */
.cds-shop-sidebar .super-speedy-search-form .sssresults,
.cds-shop-sidebar .sssresults .sss_suggestions_container .sss_list_header,
.cds-shop-sidebar .sssresults .sss_scroll_container ul.sss-suggestions,
.cds-shop-sidebar .sssresults .sss_scroll_container ul.sss-taxonomies {
	background-color: #FFFFFF !important;
	border-color: #d4cfc4 !important;
	color: #1c1c1c !important;
}
.cds-shop-sidebar .sss_suggestions_container a,
.cds-shop-sidebar .sssresults .sss_items a {
	color: #1c1c1c !important;
}
.cds-shop-sidebar .sss_suggestions_container a:hover,
.cds-shop-sidebar .sss_suggestions_container a:focus,
.cds-shop-sidebar .sssresults .sss_items a:hover,
.cds-shop-sidebar .sssresults .sss_items a:focus {
	background-color: #f5f3ef !important;
}

/* Loading overlay — light translucent so it matches the white card */
.cds-shop-sidebar .awdFFLoadingPage {
	background-color: rgba(255, 255, 255, 0.85) !important;
}

/* Product grid (main column) — WooCommerce native */
.cds-shop-main .woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	list-style: none;
	padding: 0;
	margin: 0;
}
@media (max-width: 768px) { .cds-shop-main .woocommerce ul.products { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .cds-shop-main .woocommerce ul.products { grid-template-columns: 1fr; } }

.cds-shop-main .woocommerce ul.products li.product {
	background: #FFFFFF;
	border: 1px solid #d4cfc4;
	padding: 18px;
	transition: border-color .2s ease, box-shadow .2s ease;
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0 !important;
	width: auto !important;
	float: none !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}
.cds-shop-main .woocommerce ul.products li.product:hover {
	border-color: var(--red);
}
.cds-shop-main .woocommerce ul.products li.product a img,
.cds-shop-main .woocommerce ul.products li.product img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background: #FFFFFF;
	margin: 0 !important;
}
.cds-shop-main .woocommerce ul.products li.product .woocommerce-loop-product__title,
.cds-shop-main .woocommerce ul.products li.product h2 {
	font-family: 'Oswald', sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	color: #1c1c1c !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.3 !important;
}
.cds-shop-main .woocommerce ul.products li.product a {
	color: #1c1c1c !important;
	text-decoration: none !important;
}
.cds-shop-main .woocommerce ul.products li.product .price {
	font-family: 'Oswald', sans-serif !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: var(--red) !important;
}
.cds-shop-main .woocommerce ul.products li.product .price del {
	color: #6b6b6b !important;
	opacity: 0.6;
}
.cds-shop-main .woocommerce ul.products li.product .price ins {
	text-decoration: none;
	color: var(--red) !important;
}
/* Sale badge */
.cds-shop-main .woocommerce ul.products li.product .onsale {
	background: var(--red) !important;
	color: var(--tan) !important;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	border-radius: 0;
	padding: 4px 10px;
	min-height: auto;
	min-width: auto;
	line-height: 1.4;
}
/* Add to cart button */
.cds-shop-main .woocommerce ul.products li.product .button,
.cds-shop-main .woocommerce ul.products li.product .add_to_cart_button {
	background: var(--red) !important;
	color: var(--tan) !important;
	border: none !important;
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.15em !important;
	text-transform: uppercase !important;
	padding: 10px 18px !important;
	border-radius: 0 !important;
	margin-top: auto !important;
	transition: background 0.2s ease;
}
.cds-shop-main .woocommerce ul.products li.product .button:hover {
	background: var(--red-deep) !important;
}

/* WooCommerce result count & ordering */
.cds-shop-main .woocommerce-result-count,
.cds-shop-main .woocommerce-ordering select {
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 12px !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: var(--muted) !important;
}
.cds-shop-main .woocommerce-ordering select {
	background: var(--dark) !important;
	border: 1px solid var(--border) !important;
	color: var(--tan) !important;
	padding: 8px 12px !important;
}

/* Pagination (WooCommerce) */
.cds-shop-main .woocommerce-pagination {
	margin-top: 32px !important;
}
.cds-shop-main .woocommerce-pagination ul.page-numbers {
	display: inline-flex !important;
	gap: 8px;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 13px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	border: none !important;
}
.cds-shop-main .woocommerce-pagination ul.page-numbers li {
	border: none !important;
}
.cds-shop-main .woocommerce-pagination .page-numbers a,
.cds-shop-main .woocommerce-pagination .page-numbers span.current {
	padding: 8px 14px !important;
	border: 1px solid var(--border) !important;
	color: var(--muted) !important;
	text-decoration: none !important;
	background: transparent !important;
}
.cds-shop-main .woocommerce-pagination .page-numbers span.current,
.cds-shop-main .woocommerce-pagination .page-numbers a:hover {
	border-color: var(--red) !important;
	color: var(--red) !important;
}

/* Hide WooCommerce default before-shop-loop bar if SSF injects one */
.cds-shop-main .woocommerce-notices-wrapper:empty {
	display: none;
}

.cds-shop-mode .cds-quote-notice {
	background: rgba(184, 24, 40, 0.08);
	border: 1px solid rgba(184, 24, 40, 0.3);
	border-left: 3px solid var(--red);
	padding: 18px 22px;
	margin-bottom: 36px;
	font-family: 'Barlow', sans-serif;
	font-size: 13px;
	color: var(--tan);
}
.cds-shop-mode .cds-quote-notice strong {
	font-family: 'Barlow Condensed', sans-serif;
	color: var(--red);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-size: 11px;
	display: block;
	margin-bottom: 4px;
}

/* ---------- Single Product Page ---------- */

.cds-product-page {
	max-width: 1320px;
	margin: 0 auto;
	padding: clamp(32px, 5vw, 64px) clamp(16px, 4vw, 40px) clamp(60px, 8vw, 100px);
}

.cds-product-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(32px, 5vw, 64px);
	margin-bottom: clamp(48px, 6vw, 80px);
}
@media (max-width: 800px) {
	.cds-product-grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}
}
.cds-product-grid.wp-block-group > .cds-product-gallery,
.cds-product-grid.wp-block-group > .cds-product-summary {
	margin-block-start: 0;
	margin-block-end: 0;
}

/* Gallery */
.cds-product-gallery {
	background: var(--card);
	border: 1px solid var(--border);
	padding: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 0;
}
.cds-product-gallery img {
	max-width: 100%;
	height: auto;
	display: block;
}
.cds-product-gallery .wc-block-components-product-image-gallery {
	width: 100%;
}

/* Summary (right column) */
.cds-product-summary {
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.cds-product-summary.wp-block-group > * {
	margin-block-start: 0;
	margin-block-end: 0;
}
.cds-product-summary__title,
.cds-product-summary .wp-block-post-title {
	font-family: 'Oswald', sans-serif !important;
	font-size: clamp(1.75rem, 4vw, 2.5rem) !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	color: var(--tan) !important;
	line-height: 1.05 !important;
	margin: 0 !important;
}
.cds-product-summary__price,
.cds-product-summary .wp-block-woocommerce-product-price,
.cds-product-summary .wc-block-components-product-price {
	font-family: 'Oswald', sans-serif !important;
	font-size: 28px !important;
	font-weight: 700 !important;
	color: var(--red) !important;
	margin: 0 !important;
}
.cds-product-summary__price ins,
.cds-product-summary .wc-block-components-product-price__value {
	color: var(--red) !important;
	text-decoration: none !important;
}
.cds-product-summary__price del,
.cds-product-summary .wc-block-components-product-price__regular {
	color: var(--muted) !important;
	font-size: 18px;
	margin-right: 12px;
}
.cds-product-summary__excerpt,
.cds-product-summary .wp-block-post-excerpt {
	color: var(--muted);
	font-size: 17px;
	line-height: 1.7;
}

/* Star rating */
.cds-product-summary .wc-block-components-product-rating,
.cds-product-summary .wp-block-woocommerce-product-rating {
	color: var(--red);
}
.cds-product-summary .star-rating::before,
.cds-product-summary .wc-block-components-product-rating-stars__stars::before {
	color: var(--border) !important;
}
.cds-product-summary .star-rating > span::before,
.cds-product-summary .wc-block-components-product-rating-stars__stars > span::before {
	color: var(--red) !important;
}

/* Add to cart form */
.cds-product-summary form.cart {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 8px 0;
	flex-wrap: wrap;
}
.cds-product-summary form.cart .quantity {
	display: flex;
}
.cds-product-summary form.cart input[type="number"],
.cds-product-summary form.cart input.qty {
	width: 80px !important;
	background: var(--dark) !important;
	border: 1px solid var(--border) !important;
	color: var(--tan) !important;
	font-family: 'Barlow', sans-serif !important;
	font-size: 14px !important;
	padding: 12px 14px !important;
	border-radius: 0 !important;
	text-align: center;
}
.cds-product-summary form.cart button[type="submit"],
.cds-product-summary form.cart .single_add_to_cart_button {
	background: var(--red) !important;
	color: var(--tan) !important;
	border: none !important;
	border-radius: 0 !important;
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	padding: 14px 28px !important;
	cursor: pointer !important;
	transition: background .2s ease !important;
}
.cds-product-summary form.cart button[type="submit"]:hover,
.cds-product-summary form.cart .single_add_to_cart_button:hover {
	background: var(--red-deep) !important;
}

/* Meta (sku, category, tags) */
.cds-product-meta {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid var(--border);
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--muted);
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.cds-product-meta.wp-block-group > * {
	margin-block-start: 0;
	margin-block-end: 0;
}
.cds-product-meta a {
	color: var(--tan);
	text-decoration: none;
}
.cds-product-meta a:hover { color: var(--red); }

/* Product details (tabs section) */
.cds-product-details,
.wp-block-woocommerce-product-details {
	margin: 0 0 clamp(48px, 6vw, 80px) 0;
}
.wp-block-woocommerce-product-details .wc-tabs li a,
.wp-block-woocommerce-product-details ul.wc-tabs li a {
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 12px !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	color: var(--muted) !important;
}
.wp-block-woocommerce-product-details .wc-tabs li.active a {
	color: var(--red) !important;
}

/* Related products */
.wp-block-woocommerce-related-products {
	border-top: 1px solid var(--border);
	padding-top: clamp(40px, 5vw, 64px);
}
.cds-related-title,
.wp-block-woocommerce-related-products h2 {
	font-family: 'Oswald', sans-serif !important;
	font-size: clamp(1.5rem, 3vw, 2rem) !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	color: var(--tan) !important;
	margin: 0 0 32px 0 !important;
}
.cds-related-grid,
.wp-block-woocommerce-related-products .wp-block-post-template {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 20px !important;
	list-style: none !important;
	padding: 0 !important;
}
@media (max-width: 900px) {
	.cds-related-grid,
	.wp-block-woocommerce-related-products .wp-block-post-template {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
.wp-block-woocommerce-related-products .wp-block-post-template > li {
	background: var(--card);
	border: 1px solid var(--border);
	padding: 16px;
	transition: border-color .2s ease;
}
.wp-block-woocommerce-related-products .wp-block-post-template > li:hover {
	border-color: var(--red);
}

/* ==========================================================================
   Single product page — light theme overrides.
   Keep this block LAST so it wins the cascade against the dark rules above.
   Mirrors the white-card system from the shop sidebar + product grid.

   Tokens:
     #f8f5f0  warm cream (page background)
     #FFFFFF  card/panel surface
     #1c1c1c  body text on light
     #6b6b6b  muted text
     #d4cfc4  light border
     #e5e1da  divider line
     #f5f3ef  hover/inset surface
   ========================================================================== */

/* Page background — flip body bg only on single-product. Header + footer
   have their own opaque dark backgrounds, so they're unaffected. */
body.single-product {
	background: #f8f5f0;
	color: #1c1c1c;
}
body.single-product .cds-product-page {
	color: #1c1c1c;
}

/* Gallery card — white panel with soft shadow + light border */
body.single-product .cds-product-gallery {
	background: #FFFFFF;
	border: 1px solid #d4cfc4;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
}
body.single-product .cds-product-gallery img {
	background: #FFFFFF;
}

/* Summary — text flips to dark */
body.single-product .cds-product-summary__title,
body.single-product .cds-product-summary .wp-block-post-title {
	color: #1c1c1c !important;
}
body.single-product .cds-product-summary__excerpt,
body.single-product .cds-product-summary .wp-block-post-excerpt {
	color: #3a3a3a;
}
/* Strike-through old price — readable muted on light */
body.single-product .cds-product-summary__price del,
body.single-product .cds-product-summary .wc-block-components-product-price__regular {
	color: #6b6b6b !important;
}

/* Star rating — backing stars need to be visible on light */
body.single-product .cds-product-summary .star-rating::before,
body.single-product .cds-product-summary .wc-block-components-product-rating-stars__stars::before {
	color: #d4cfc4 !important;
}

/* Quantity input — restore the parent theme's layout (input has wide
   horizontal padding to leave room for the absolutely-positioned +/−
   buttons the parent injects via JS), then apply light-theme colors.
   The earlier dark rule's "width:80px; padding:12px 14px" was crushing
   the input under the buttons, which is why it looked broken. */
body.single-product .cds-product-summary form.cart .quantity {
	position: relative;
	width: auto !important;
	max-width: 9rem;
	display: inline-block;
}
body.single-product .cds-product-summary form.cart input[type="number"],
body.single-product .cds-product-summary form.cart input.qty {
	width: 9rem !important;
	height: 48px !important;
	padding: 0 2.6rem !important;
	background: #FFFFFF !important;
	border: 1px solid #d4cfc4 !important;
	color: #1c1c1c !important;
	font-family: 'Barlow', sans-serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	border-radius: 0 !important;
	text-align: center !important;
	box-shadow: none !important;
}
body.single-product .cds-product-summary form.cart input[type="number"]:focus,
body.single-product .cds-product-summary form.cart input.qty:focus {
	border-color: var(--red) !important;
	outline: none !important;
	box-shadow: 0 0 0 2px rgba(184, 24, 40, 0.15) !important;
}
/* +/− buttons (injected by parent theme JS as <button>-</button> and
   <button>+</button>). Parent renders the symbols via an SVG bg image
   that gets cropped when we resize the buttons; font glyphs of "-"/"+"
   sit at different vertical positions within their em-box so they look
   off-center inside a tight 2rem circle. Solution: hide the text and
   draw geometrically perfect symbols with absolutely-positioned
   pseudo-elements. */
body.single-product .cds-product-summary form.cart .quantity button.sub,
body.single-product .cds-product-summary form.cart .quantity button.add {
	background: #f5f3ef !important;
	background-image: none !important;
	border: 1px solid #d4cfc4 !important;
	border-radius: 50% !important;
	width: 2rem !important;
	height: 2rem !important;
	min-width: 0 !important;
	padding: 0 !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	opacity: 1 !important;
	cursor: pointer !important;
	transition: background .15s ease, border-color .15s ease !important;

	/* Hide the JS-injected "-" / "+" text — pseudo-elements draw it */
	font-size: 0 !important;
	color: transparent !important;
	overflow: hidden !important;
	position: absolute !important;
}
body.single-product .cds-product-summary form.cart .quantity button.sub {
	left: .5rem !important;
}
body.single-product .cds-product-summary form.cart .quantity button.add {
	right: .5rem !important;
}

/* The drawn symbols: a horizontal bar (both buttons) and a vertical bar
   on the .add button. Bars are 12px × 2px, centered with negative
   half-margins for pixel-perfect placement. */
body.single-product .cds-product-summary form.cart .quantity button.sub::before,
body.single-product .cds-product-summary form.cart .quantity button.add::before,
body.single-product .cds-product-summary form.cart .quantity button.add::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	background: #1c1c1c;
	border-radius: 1px;
	transition: background .15s ease;
	pointer-events: none;
}
body.single-product .cds-product-summary form.cart .quantity button.sub::before,
body.single-product .cds-product-summary form.cart .quantity button.add::before {
	width: 12px;
	height: 2px;
	margin-left: -6px;
	margin-top: -1px;
}
body.single-product .cds-product-summary form.cart .quantity button.add::after {
	width: 2px;
	height: 12px;
	margin-left: -1px;
	margin-top: -6px;
}

/* Hover: bars turn red so the action reads */
body.single-product .cds-product-summary form.cart .quantity button.sub:hover,
body.single-product .cds-product-summary form.cart .quantity button.add:hover {
	background: #FFFFFF !important;
	border-color: var(--red) !important;
}
body.single-product .cds-product-summary form.cart .quantity button.sub:hover::before,
body.single-product .cds-product-summary form.cart .quantity button.add:hover::before,
body.single-product .cds-product-summary form.cart .quantity button.add:hover::after {
	background: var(--red);
}

/* Meta row (SKU / category / tags) */
body.single-product .cds-product-meta {
	border-top: 1px solid #e5e1da;
	color: #6b6b6b;
}
body.single-product .cds-product-meta a {
	color: #1c1c1c;
}
body.single-product .cds-product-meta a:hover {
	color: var(--red);
}

/* Product details / tabs — white panel, dark labels, red active */
body.single-product .wp-block-woocommerce-product-details {
	background: #FFFFFF;
	border: 1px solid #d4cfc4;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
	padding: clamp(24px, 3vw, 40px);
	color: #1c1c1c;
}
body.single-product .wp-block-woocommerce-product-details .wc-tabs,
body.single-product .wp-block-woocommerce-product-details ul.wc-tabs {
	border-bottom: 1px solid #e5e1da !important;
}
body.single-product .wp-block-woocommerce-product-details .wc-tabs li a,
body.single-product .wp-block-woocommerce-product-details ul.wc-tabs li a {
	color: #6b6b6b !important;
}
body.single-product .wp-block-woocommerce-product-details .wc-tabs li.active a {
	color: var(--red) !important;
}
body.single-product .wp-block-woocommerce-product-details .woocommerce-Tabs-panel,
body.single-product .wp-block-woocommerce-product-details .wc-tab,
body.single-product .wp-block-woocommerce-product-details .wc-tabs__content {
	color: #1c1c1c;
}
body.single-product .wp-block-woocommerce-product-details .woocommerce-Tabs-panel a {
	color: var(--red);
}

/* Related products row — white cards with cream meta band, same recipe as
   the shop grid. Heading also flips to dark. */
body.single-product .wp-block-woocommerce-related-products {
	border-top-color: #e5e1da;
}
body.single-product .wp-block-woocommerce-related-products h2,
body.single-product .cds-related-title {
	color: #1c1c1c !important;
}
body.single-product .wp-block-woocommerce-related-products .wp-block-post-template > li {
	background: #FFFFFF;
	border: 1px solid #d4cfc4;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
}
body.single-product .wp-block-woocommerce-related-products .wp-block-post-template > li:hover {
	border-color: var(--red);
}
/* Related-card title + price inherit body.single-product color, but WC
   templates often set their own. Override to dark. */
body.single-product .wp-block-woocommerce-related-products .wp-block-post-template .wp-block-post-title,
body.single-product .wp-block-woocommerce-related-products .wp-block-post-template .wp-block-post-title a {
	color: #1c1c1c !important;
}
body.single-product .wp-block-woocommerce-related-products .wp-block-post-template .wp-block-post-title a:hover {
	color: var(--red) !important;
}
body.single-product .wp-block-woocommerce-related-products .wp-block-post-template .wp-block-woocommerce-product-price,
body.single-product .wp-block-woocommerce-related-products .wp-block-post-template .wc-block-components-product-price {
	color: #1c1c1c !important;
}
body.single-product .wp-block-woocommerce-related-products .wp-block-post-template .wc-block-components-product-price__value {
	color: #1c1c1c !important;
}
body.single-product .wp-block-woocommerce-related-products .wp-block-post-template .wc-block-components-product-price__regular {
	color: #6b6b6b !important;
}

/* Store notices (when present) — readable on light bg */
body.single-product .wp-block-woocommerce-store-notices .wc-block-components-notice-banner {
	background: #FFFFFF;
	border: 1px solid #d4cfc4;
	color: #1c1c1c;
}

/* ---------- Contact Page Section ---------- */

.cds-contact-grid {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: clamp(32px, 5vw, 72px);
	margin-top: 40px;
}
@media (max-width: 900px) {
	.cds-contact-grid {
		grid-template-columns: 1fr;
		gap: 48px;
	}
}

/* WP flow-layout margin reset for grid children */
.cds-contact-grid.wp-block-group > .cds-contact-info,
.cds-contact-grid.wp-block-group > .cds-contact-form {
	margin-block-start: 0;
	margin-block-end: 0;
}

/* Left column — info card */
.cds-contact-info {
	background: var(--card);
	border: 1px solid var(--border);
	border-left: 3px solid var(--red);
	padding: clamp(24px, 3vw, 36px);
}

.cds-info-row {
	padding: 22px 0;
	border-bottom: 1px solid var(--border);
}
.cds-info-row:first-child { padding-top: 0; }
.cds-info-row:last-child { border-bottom: none; padding-bottom: 0; }

/* WP flow-layout margin reset on info-row internal blocks too */
.cds-contact-info.wp-block-group > .cds-info-row,
.cds-info-row.wp-block-group > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

.cds-info-row__label {
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.25em !important;
	text-transform: uppercase !important;
	color: var(--red) !important;
	margin: 0 0 10px 0 !important;
	line-height: 1 !important;
}
.cds-info-row__value {
	font-family: 'Barlow', sans-serif !important;
	font-size: 16px !important;
	color: var(--tan) !important;
	line-height: 1.65 !important;
	margin: 0 !important;
}
.cds-info-row__value a {
	color: var(--tan);
	text-decoration: none;
	transition: color .2s ease;
}
.cds-info-row__value a:hover {
	color: var(--red);
}

/* Hours: render the day/value pairs as a 2-column grid via spans */
.cds-hours {
	display: grid !important;
	grid-template-columns: max-content 1fr;
	gap: 6px 18px;
	font-size: 14px !important;
	line-height: 1.4 !important;
}
.cds-hours > span:nth-child(odd) {
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--muted);
	font-size: 12px;
}
.cds-hours > span:nth-child(even) {
	color: var(--tan);
	font-size: 14px;
}

/* Right column — form area */
.cds-contact-form {
	min-width: 0;
}
.cds-contact-form__title {
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.25em !important;
	text-transform: uppercase !important;
	color: var(--red) !important;
	margin: 0 0 22px 0 !important;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--border);
	line-height: 1 !important;
}

/* Inside the contact-form column, the form-wrap is the only child and
   becomes the visible card — no extra margin pushing it down so it
   aligns with the info card on the left. */
.cds-contact-form .cds-form-wrap {
	margin-top: 0;
}

/* ---------- Gravity Forms (brand restyle) ---------- */

.cds-form-wrap {
	background: var(--card);
	border: 1px solid var(--border);
	border-left: 3px solid var(--red);
	padding: 32px clamp(20px, 3vw, 40px);
	margin-top: 24px;
}

/* Reset GF wrapper defaults */
.cds-form-wrap .gform_wrapper,
.gform_wrapper.gravity-theme {
	font-family: 'Barlow', sans-serif !important;
	color: var(--tan);
}

/* Field row spacing */
.cds-form-wrap .gform_fields,
.gform_wrapper .gform_fields {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 18px !important;
}
.cds-form-wrap .gform_fields .gfield,
.cds-form-wrap fieldset.gfield {
	width: 100% !important;
	grid-column: 1 / -1;
	min-width: 0;
	border: none;
	padding: 0;
	margin: 0;
}

/* Name field — force the First/Last sub-inputs to share the row equally
   and fill their cell width. Default GF "auto" sizing collapses them. */
.cds-form-wrap .ginput_complex.ginput_container--name,
.cds-form-wrap .ginput_complex.ginput_container_name {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 14px !important;
	width: 100% !important;
}
.cds-form-wrap .ginput_complex .name_first,
.cds-form-wrap .ginput_complex .name_last,
.cds-form-wrap .ginput_complex.ginput_container--name > span {
	display: block !important;
	width: 100% !important;
	min-width: 0;
	padding: 0 !important;
}
.cds-form-wrap .ginput_complex .name_first input,
.cds-form-wrap .ginput_complex .name_last input,
.cds-form-wrap .ginput_complex span input {
	width: 100% !important;
}

/* Labels */
.cds-form-wrap .gfield_label,
.gform_wrapper .gfield_label {
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	color: var(--red) !important;
	margin-bottom: 8px !important;
	display: block !important;
}
.cds-form-wrap .gfield_required {
	color: var(--red);
	margin-left: 4px;
}

/* Inputs (text, email, tel, url, number, password) */
.cds-form-wrap input[type="text"],
.cds-form-wrap input[type="email"],
.cds-form-wrap input[type="tel"],
.cds-form-wrap input[type="url"],
.cds-form-wrap input[type="number"],
.cds-form-wrap input[type="password"],
.cds-form-wrap input[type="date"],
.cds-form-wrap input[type="time"],
.cds-form-wrap select,
.cds-form-wrap textarea {
	width: 100% !important;
	background: var(--dark) !important;
	border: 1px solid var(--border) !important;
	border-radius: 0 !important;
	color: var(--tan) !important;
	font-family: 'Barlow', sans-serif !important;
	font-size: 14px !important;
	padding: 12px 14px !important;
	line-height: 1.5 !important;
	transition: border-color .2s ease, background .2s ease !important;
	box-shadow: none !important;
	outline: none !important;
	appearance: none !important;
}
.cds-form-wrap textarea {
	min-height: 140px !important;
	resize: vertical;
	font-family: 'Barlow', sans-serif !important;
}
.cds-form-wrap input::placeholder,
.cds-form-wrap textarea::placeholder {
	color: var(--muted) !important;
	opacity: 1;
}
.cds-form-wrap input:focus,
.cds-form-wrap select:focus,
.cds-form-wrap textarea:focus {
	border-color: var(--red) !important;
	background: var(--dark2) !important;
}

/* Select arrow */
.cds-form-wrap select {
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%236a6658' stroke-width='1.5' fill='none'/></svg>") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	padding-right: 38px !important;
}

/* Checkboxes / radios */
.cds-form-wrap input[type="checkbox"],
.cds-form-wrap input[type="radio"] {
	accent-color: var(--red);
	width: 14px;
	height: 14px;
	margin-right: 8px;
}
.cds-form-wrap .gfield-choice-input + label,
.cds-form-wrap .gchoice label {
	font-family: 'Barlow', sans-serif !important;
	font-size: 14px !important;
	color: var(--tan) !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

/* Description / sub-label text */
.cds-form-wrap .gfield_description {
	font-family: 'Barlow', sans-serif !important;
	font-size: 12px !important;
	color: var(--muted) !important;
	margin-top: 6px !important;
}

/* Submit button — match cds-btn-primary */
.cds-form-wrap .gform_footer,
.cds-form-wrap .gform_page_footer {
	margin-top: 24px !important;
	padding-top: 0 !important;
	border-top: none !important;
}
.cds-form-wrap .gform_button,
.cds-form-wrap input[type="submit"] {
	background: var(--red) !important;
	color: var(--tan) !important;
	border: none !important;
	border-radius: 0 !important;
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	padding: 14px 32px !important;
	cursor: pointer !important;
	transition: background .2s ease !important;
	min-height: 0 !important;
	line-height: 1 !important;
	box-shadow: none !important;
}
.cds-form-wrap .gform_button:hover,
.cds-form-wrap input[type="submit"]:hover {
	background: var(--red-deep) !important;
}

/* Validation errors */
.cds-form-wrap .gform_validation_errors {
	background: rgba(184, 24, 40, 0.10) !important;
	border: 1px solid rgba(184, 24, 40, 0.4) !important;
	border-left: 3px solid var(--red) !important;
	padding: 14px 18px !important;
	margin-bottom: 24px !important;
	color: var(--tan) !important;
	font-family: 'Barlow', sans-serif !important;
	font-size: 13px !important;
}
.cds-form-wrap .gform_validation_errors h2,
.cds-form-wrap .gform_validation_errors > h2 {
	font-family: 'Oswald', sans-serif !important;
	font-size: 14px !important;
	color: var(--red) !important;
	margin: 0 0 8px 0 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
}
.cds-form-wrap .gfield_error input,
.cds-form-wrap .gfield_error select,
.cds-form-wrap .gfield_error textarea {
	border-color: var(--red) !important;
}
.cds-form-wrap .validation_message,
.cds-form-wrap .gfield_validation_message {
	font-family: 'Barlow', sans-serif !important;
	font-size: 12px !important;
	color: var(--red) !important;
	margin-top: 6px !important;
	background: none !important;
	border: none !important;
	padding: 0 !important;
}

/* Confirmation message */
.cds-form-wrap .gform_confirmation_message {
	background: rgba(184, 24, 40, 0.08);
	border: 1px solid rgba(184, 24, 40, 0.3);
	border-left: 3px solid var(--red);
	padding: 18px 22px;
	color: var(--tan);
	font-family: 'Barlow', sans-serif;
	font-size: 14px;
}

/* Honeypot / hidden fields stay hidden */
.cds-form-wrap .gform_validation_container,
.cds-form-wrap .gfield--type-honeypot {
	display: none !important;
}

/* ---------- Mini-cart drawer — dark theme ---------- */
.wc-block-components-drawer {
	background: var(--dark) !important;
	border-left: 1px solid var(--border) !important;
	color: var(--tan);
}
:where(.wp-block-woocommerce-mini-cart-contents) {
	background: var(--dark) !important;
	color: var(--tan);
}
.wc-block-mini-cart__footer {
	border-top: 1px solid var(--border) !important;
}
.wc-block-mini-cart__footer .wc-block-components-totals-item__label,
.wc-block-mini-cart__footer .wc-block-components-totals-item__value,
h2.wc-block-mini-cart__title {
	color: var(--tan) !important;
}
.wc-block-mini-cart__items .wc-block-cart-items__row::after {
	border-color: var(--border) !important;
}
.wc-block-components-product-name,
.wc-block-mini-cart .wc-block-components-product-name {
	color: var(--tan) !important;
}
.wc-block-mini-cart .wc-block-components-product-price,
.wc-block-mini-cart .wc-block-components-product-badge {
	color: var(--tan) !important;
}
.wc-block-mini-cart .wc-block-components-quantity-selector {
	border-color: var(--border) !important;
}
.wc-block-mini-cart .wc-block-components-quantity-selector input {
	background: var(--dark2) !important;
	color: var(--tan) !important;
}
.wc-block-mini-cart .wc-block-components-quantity-selector button {
	color: var(--tan) !important;
	background: transparent !important;
	border-color: var(--border) !important;
}
.wc-block-cart-item__remove-link {
	color: var(--red) !important;
}
.wc-block-mini-cart__footer-actions .wp-block-button .wp-block-button__link,
.wc-block-mini-cart__footer-actions .wc-block-components-button {
	background: var(--red) !important;
	color: var(--tan) !important;
	border: none !important;
	border-radius: 0 !important;
}
.wc-block-mini-cart__footer-actions .wp-block-button .wp-block-button__link:hover,
.wc-block-mini-cart__footer-actions .wc-block-components-button:hover {
	background: var(--red-deep) !important;
}
.wc-block-mini-cart__footer-actions .wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent !important;
	border: 1px solid var(--border) !important;
	color: var(--tan) !important;
}
.wc-block-mini-cart__shopping-button a {
	color: var(--tan) !important;
	border-color: var(--border) !important;
}

/* Override WooCommerce CSS custom properties that default to white.
   These apply to both classic and block checkout pages. */
body.woocommerce-checkout,
body.woocommerce-cart {
	--wc-content-bg: var(--dark);
	--wc-form-color-background: var(--dark2);
	--wc-form-color-text: var(--tan);
	--wc-form-border-color: var(--border);
	--wp--preset--color--background: var(--dark);
}

/* ==========================================================================
   Block-based Cart & Checkout — dark-theme overrides
   WooCommerce renders these with wc-block-* / wp-block-woocommerce-* classes
   ========================================================================== */

/* Order summary card — the white-bordered box on the right */
.wp-block-woocommerce-checkout-order-summary-block,
.wp-block-woocommerce-checkout-order-summary-block .checkout-order-summary-block-fill,
.wp-block-woocommerce-cart-order-summary-block {
	background: var(--dark2) !important;
	border: 1px solid var(--border) !important;
	border-radius: 0 !important;
	color: var(--tan) !important;
	padding: 24px !important;
}

/* Totals wrappers — divider lines between subtotal/shipping/total */
.wc-block-components-totals-wrapper,
.wc-block-components-totals-wrapper:after,
.wp-block-woocommerce-cart-order-summary-totals-block,
.wp-block-woocommerce-checkout-order-summary-cart-items-block:after {
	border-color: var(--border) !important;
}

/* Totals text */
.wc-block-components-totals-item,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__total-price,
.wc-block-components-order-summary-item__individual-price,
.wc-block-components-product-name,
.wc-block-components-product-metadata,
.wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text {
	color: var(--tan) !important;
}

/* Product quantity badge in order summary */
.wc-block-components-order-summary-item__quantity {
	background: var(--red) !important;
	color: var(--tan) !important;
	border: none !important;
}

/* Sidebar layout container */
.wc-block-components-sidebar-layout .wc-block-components-sidebar,
.wc-block-cart__sidebar,
.wc-block-checkout__sidebar {
	background: transparent !important;
}

/* Checkout form areas */
.wc-block-checkout__form,
.wc-block-checkout__main,
.wc-block-components-checkout-step,
.wc-block-components-checkout-step__container {
	background: transparent !important;
	color: var(--tan) !important;
}

/* Step numbers and headings */
.wc-block-components-checkout-step__heading {
	color: var(--tan) !important;
}
.wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__container::after {
	border-color: var(--border) !important;
}
.wc-block-components-checkout-step__description {
	color: var(--muted) !important;
}

/* Block checkout inputs */
.wc-block-components-text-input input,
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="password"],
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-blocks-components-select .wc-blocks-components-select__select {
	background-color: var(--dark2) !important;
	border-color: var(--border) !important;
	color: var(--tan) !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-combobox .wc-block-components-combobox-control input:focus {
	border-color: var(--red) !important;
}
.wc-block-components-text-input label,
.wc-block-components-combobox-control label,
.wc-blocks-components-select label {
	color: var(--muted) !important;
}

/* Payment methods section */
.wc-block-components-payment-method-label,
.wc-block-components-radio-control__label,
.wc-block-components-radio-control__description,
.wc-block-components-radio-control__secondary-label,
.wc-block-checkout__payment-method {
	color: var(--tan) !important;
}
.wc-block-components-radio-control .wc-block-components-radio-control__option {
	border-color: var(--border) !important;
}
.wc-block-components-radio-control__input {
	accent-color: var(--red) !important;
}

/* Place order button */
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-checkout-actions-block .wc-block-components-button {
	background: var(--red) !important;
	color: var(--tan) !important;
	border: none !important;
	border-radius: 0 !important;
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
}
.wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-checkout-actions-block .wc-block-components-button:hover {
	background: var(--red-deep) !important;
}

/* Proceed to checkout button (cart page) */
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button {
	background: var(--red) !important;
	color: var(--tan) !important;
	border: none !important;
	border-radius: 0 !important;
}
.wp-block-woocommerce-proceed-to-checkout-block .wc-block-components-button:hover {
	background: var(--red-deep) !important;
}

/* Express payment and accepted methods */
.wp-block-woocommerce-cart-express-payment-block,
.wp-block-woocommerce-checkout-express-payment-block,
.wp-block-woocommerce-cart-accepted-payment-methods-block {
	color: var(--muted) !important;
}

/* Coupon form inside block checkout */
.wc-block-components-totals-coupon .wc-block-components-text-input input {
	background-color: var(--dark) !important;
	border-color: var(--border) !important;
	color: var(--tan) !important;
}
.wc-block-components-totals-coupon button {
	background: var(--red) !important;
	color: var(--tan) !important;
	border: none !important;
}

/* Cart items table */
table.wc-block-cart-items,
table.wc-block-cart-items td,
table.wc-block-cart-items th {
	color: var(--tan) !important;
}
.wc-block-cart-item__remove-link {
	color: var(--red) !important;
}

/* Cart quantity selector */
.wc-block-components-quantity-selector {
	border-color: var(--border) !important;
}
.wc-block-components-quantity-selector input {
	background: var(--dark2) !important;
	color: var(--tan) !important;
}
.wc-block-components-quantity-selector button {
	color: var(--tan) !important;
	background: transparent !important;
}

/* Notices in block checkout */
.wc-block-components-notice-banner {
	background: var(--dark2) !important;
	color: var(--tan) !important;
	border-color: var(--border) !important;
}
.wc-block-components-notice-banner.is-error {
	border-left-color: var(--red) !important;
}

/* Privacy text / terms */
.wc-block-checkout__terms,
.wc-block-checkout__terms p,
.wc-block-checkout__privacy-policy p {
	color: var(--muted) !important;
}
.wc-block-checkout__terms a,
.wc-block-checkout__privacy-policy a {
	color: var(--tan) !important;
}

/* Empty cart */
.wp-block-woocommerce-empty-cart-block,
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
	color: var(--tan) !important;
}

/* ==========================================================================
   WooCommerce account page — both logged-out (login/register) and
   logged-in (dashboard) states. Brand the legacy `[woocommerce_my_account]`
   shortcode markup with dark backgrounds, white text, red accents.
   ========================================================================== */

/* Reset the surrounding shortcode wrapper so it spans the section width. */
.woocommerce-account .cds-section .entry-content > .woocommerce,
.cds-section .entry-content > .woocommerce {
	max-width: 1320px;
	width: 100%;
}

/* The /my-account/, /cart/, and /checkout/ pages use the no-title template
   (no .cds-section wrapper), so the .cds-section header-alignment rules
   don't apply. Mirror the same max-width:1320px / clamp() padding rhythm
   on `main.site-content` here, scoped to the relevant WC body classes so
   other no-title pages (Home, Wishlist) keep their own layouts. */
body.woocommerce-account main.site-content,
body.woocommerce-cart main.site-content,
body.woocommerce-checkout main.site-content {
	max-width: 1320px;
	margin-left: auto;
	margin-right: auto;
	padding: clamp(32px, 4vw, 60px) clamp(16px, 4vw, 40px) clamp(60px, 8vw, 110px);
	box-sizing: border-box;
}

/* Left-align the post-content children (the dynamic post title bar +
   the WC `.woocommerce` shortcode wrapper) at the section's left padding
   so they line up with the header logo. */
body.woocommerce-account main.site-content .entry-content > *,
body.woocommerce-cart main.site-content .entry-content > *,
body.woocommerce-checkout main.site-content .entry-content > * {
	margin-left: 0 !important;
	margin-right: auto !important;
	max-width: none;
	width: 100%;
}

/* WC's blocktheme CSS hardcodes `main .woocommerce { max-width: 1000px }`
   which forces a narrow centered column. Override so cart + checkout fill
   the same 1320px container as the rest of the inner pages. */
body.woocommerce-account main .woocommerce,
body.woocommerce-cart main .woocommerce,
body.woocommerce-checkout main .woocommerce {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* ---------- Logged-out: 2-column login + register ---------- */

.woocommerce-account .u-columns,
.woocommerce-account .woocommerce > .u-columns,
.woocommerce-account .col2-set {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(20px, 3vw, 40px);
	margin: 0 0 40px;
	width: 100%;
}

@media (max-width: 768px) {
	.woocommerce-account .u-columns,
	.woocommerce-account .woocommerce > .u-columns,
	.woocommerce-account .col2-set {
		grid-template-columns: 1fr;
	}
}

.woocommerce-account .u-columns > .u-column1,
.woocommerce-account .u-columns > .u-column2,
.woocommerce-account .col2-set > .col-1,
.woocommerce-account .col2-set > .col-2,
.woocommerce-account .col2-set > div {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	background: var(--card);
	border: 1px solid var(--border);
	border-left: 3px solid var(--red);
	padding: clamp(24px, 3vw, 36px);
}

.woocommerce-account .u-column1 h2,
.woocommerce-account .u-column2 h2,
.woocommerce-account .col-1 h2,
.woocommerce-account .col-2 h2,
.woocommerce-account .woocommerce h2 {
	font-family: 'Oswald', sans-serif;
	font-size: clamp(1.25rem, 2vw, 1.5rem);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--tan);
	margin: 0 0 20px;
}

/* ---------- Forms (login / register / lost password / edit-account) ---------- */

.woocommerce-form,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.lost_reset_password,
.woocommerce form.woocommerce-EditAccountForm {
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	border-radius: 0 !important;
}

.woocommerce-form-row,
.woocommerce form .form-row {
	margin: 0 0 18px;
	padding: 0;
}

.woocommerce-form-row label,
.woocommerce form .form-row label {
	display: block;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--tan);
	margin: 0 0 8px;
}

.woocommerce-form-row .required,
.woocommerce form .form-row .required {
	color: var(--red);
	text-decoration: none;
}

.woocommerce-Input--text,
.woocommerce-Input--password,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	width: 100%;
	background: var(--dark2);
	color: var(--tan);
	border: 1px solid var(--border);
	border-radius: 0;
	padding: 12px 14px;
	font-family: 'Barlow', sans-serif;
	font-size: 14px;
	line-height: 1.4;
	transition: border-color 0.15s ease;
	box-sizing: border-box;
}

.woocommerce-Input--text:focus,
.woocommerce-Input--password:focus,
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	outline: none;
	border-color: var(--red);
}

.woocommerce-Input--text::placeholder,
.woocommerce form .form-row input.input-text::placeholder {
	color: #a8a8a8;
}

/* Remember-me checkbox row */
.woocommerce-form-login__rememberme,
.woocommerce-form__label-for-checkbox {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	font-family: 'Barlow', sans-serif !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: #a8a8a8 !important;
	margin: 6px 0 0 !important;
}

.woocommerce-form__input-checkbox {
	width: 16px;
	height: 16px;
	accent-color: var(--red);
	margin: 0 !important;
}

/* Submit button — the theme.json button rules style it red; just align. */
.woocommerce-button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button {
	background-color: var(--red) !important;
	color: #FFFFFF !important;
	border: 0 !important;
	border-radius: 0 !important;
	font-family: 'Barlow Condensed', sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	padding: 14px 26px !important;
	line-height: 1 !important;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.woocommerce-button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover {
	background-color: var(--red-deep) !important;
}

.woocommerce-form-login__submit,
.woocommerce-form-register__submit {
	margin-top: 18px !important;
	margin-right: 16px !important;
}

/* Lost-password link */
.woocommerce-LostPassword {
	margin: 18px 0 0;
	font-size: 13px;
}

.woocommerce-LostPassword a,
.woocommerce-account .woocommerce a:not(.woocommerce-button):not(.button) {
	color: var(--red);
	text-decoration: none;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.05em;
}

.woocommerce-LostPassword a:hover,
.woocommerce-account .woocommerce a:not(.woocommerce-button):not(.button):hover {
	color: var(--tan);
}

/* Privacy policy / helper text under the register form */
.woocommerce-privacy-policy-text {
	color: #a8a8a8;
	font-size: 12px;
	line-height: 1.6;
	margin: 12px 0 0;
}

/* Notices (errors / messages / info) */
.woocommerce-notices-wrapper {
	margin-bottom: 24px;
}

.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
	background: var(--card) !important;
	color: var(--tan) !important;
	border: 0 !important;
	border-left: 3px solid var(--red) !important;
	border-radius: 0 !important;
	padding: 16px 20px !important;
	margin: 0 0 16px !important;
	list-style: none !important;
	font-size: 14px;
	line-height: 1.5;
}

.woocommerce-error::before,
.woocommerce-message::before,
.woocommerce-info::before {
	display: none !important;
}

.woocommerce-error a,
.woocommerce-message a,
.woocommerce-info a {
	color: var(--red);
	font-weight: 600;
}

/* ---------- Logged-in: account dashboard ---------- */

.woocommerce-MyAccount-navigation {
	float: none !important;
	width: 100% !important;
	margin: 0 0 32px;
}

@media (min-width: 769px) {
	.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation {
		float: left !important;
		width: 240px !important;
		margin: 0;
	}
	.woocommerce-account .woocommerce > .woocommerce-MyAccount-content {
		float: right !important;
		width: calc(100% - 280px) !important;
	}
}

.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	border: 1px solid var(--border);
	background: var(--card);
}

.woocommerce-MyAccount-navigation ul li {
	margin: 0;
	border-bottom: 1px solid var(--border);
}

.woocommerce-MyAccount-navigation ul li:last-child {
	border-bottom: 0;
}

.woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 14px 18px;
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--tan) !important;
	border-left: 3px solid transparent;
	transition: border-color 0.15s ease, color 0.15s ease, background-color 0.15s ease;
}

.woocommerce-MyAccount-navigation ul li a:hover {
	color: var(--red) !important;
	background: var(--dark2);
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li.is-active a:hover {
	border-left-color: var(--red);
	color: var(--red) !important;
	background: var(--dark2);
}

.woocommerce-MyAccount-content {
	background: var(--card);
	border: 1px solid var(--border);
	padding: clamp(24px, 3vw, 36px);
}

.woocommerce-MyAccount-content p,
.woocommerce-MyAccount-content {
	color: var(--tan);
	line-height: 1.7;
}

.woocommerce-MyAccount-content strong,
.woocommerce-MyAccount-content b {
	color: var(--tan);
}

/* Orders / downloads tables */
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account table.shop_table {
	width: 100%;
	border-collapse: collapse;
	background: transparent;
	border: 1px solid var(--border);
}

.woocommerce-account .woocommerce-orders-table th,
.woocommerce-account table.shop_table th {
	background: var(--dark2);
	color: var(--tan);
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	text-align: left;
	padding: 14px 16px;
	border-bottom: 1px solid var(--border);
}

.woocommerce-account .woocommerce-orders-table td,
.woocommerce-account table.shop_table td {
	padding: 14px 16px;
	color: var(--tan);
	border-bottom: 1px solid var(--border);
	font-size: 14px;
}

.woocommerce-account .woocommerce-orders-table tr:last-child td,
.woocommerce-account table.shop_table tr:last-child td {
	border-bottom: 0;
}

/* Order status pills */
.woocommerce-orders-table__cell-order-status {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--red);
}

/* Addresses (My Account → Addresses)
   Force a side-by-side 2-column flex row regardless of which combination
   of legacy WC classes the wrapper carries. Flex is used instead of grid
   because it composes more predictably with WC's classic float rules
   (`.col-1 { width: 48%; float: left }`) which we explicitly override on
   the children below. */
body.woocommerce-account .woocommerce-Addresses,
body.woocommerce-account .col2-set.addresses {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	gap: clamp(16px, 2vw, 32px) !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	width: 100% !important;
	float: none !important;
	clear: both !important;
}

@media (max-width: 768px) {
	body.woocommerce-account .woocommerce-Addresses,
	body.woocommerce-account .col2-set.addresses {
		flex-direction: column !important;
		flex-wrap: wrap !important;
	}
}

/* Children: each card takes an equal share and defeats WC's 48%-float. */
body.woocommerce-account .woocommerce-Addresses > .woocommerce-Address,
body.woocommerce-account .col2-set.addresses > .woocommerce-Address {
	flex: 1 1 0 !important;
	min-width: 0 !important;
	width: auto !important;
	max-width: none !important;
	float: none !important;
	margin: 0 !important;
	clear: none !important;
	display: block !important;
}

/* Clear the float row that WC may emit after .col2-set so a phantom clear
   doesn't push the second card below. */
body.woocommerce-account .col2-set.addresses::before,
body.woocommerce-account .col2-set.addresses::after {
	display: none !important;
	content: none !important;
}

.woocommerce-Address {
	background: var(--dark2);
	border: 1px solid var(--border);
	border-left: 3px solid var(--red);
	padding: 24px 26px;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

/* Title row: heading + Edit link side by side. */
.woocommerce-Address-title {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	margin: 0 0 14px;
	padding: 0 0 12px;
	border-bottom: 1px solid var(--border);
}

.woocommerce-Address-title h2,
.woocommerce-Address-title h3 {
	font-family: 'Oswald', sans-serif !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	color: var(--tan) !important;
	margin: 0 !important;
	line-height: 1.1 !important;
}

.woocommerce-Address-title .edit {
	font-family: 'Barlow Condensed', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--red);
	text-decoration: none !important;
	white-space: nowrap;
	margin: 0 !important;
	float: none !important;
	display: inline !important;
}

.woocommerce-Address-title .edit:hover {
	color: var(--tan);
}

.woocommerce-Address address {
	font-style: normal;
	color: #a8a8a8;
	font-size: 14px;
	line-height: 1.8;
	margin: 0;
}

/* Empty-state line ("You have not set up this type of address yet.") */
.woocommerce-Address > p {
	color: #a8a8a8;
	font-size: 14px;
	margin: 0;
}

/* Edit-address page form */
.woocommerce-address-fields,
.woocommerce-EditAccountForm {
	max-width: 640px;
}

/* "Hello, Username (not Username? Log out)" greeting on dashboard */
.woocommerce-MyAccount-content .my_account_username {
	font-family: 'Oswald', sans-serif;
	font-size: clamp(1.25rem, 2vw, 1.5rem);
	color: var(--tan);
}

/* Misc clearfix for legacy WC float layout */
.woocommerce-account .woocommerce::after {
	content: '';
	display: table;
	clear: both;
}

/* ---------- Services grid: full-bleed photo cards ----------
   When a service card carries `.cds-service-card--photo`, its background
   image (set via Greenshift styleAttributes on the same element) fills the
   card. A bottom-weighted dark gradient overlays the photo so the heading,
   description, and CTA stay legible, the SVG icon is hidden (the photo
   carries the visual weight), and the text content is pushed to the
   bottom edge of the card. */
.cds-service-card--photo {
	position: relative;
	min-height: clamp(320px, 32vw, 420px);
	justify-content: flex-end !important;
	color: var(--tan) !important;
	overflow: hidden;
}

.cds-service-card--photo::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(
		180deg,
		rgba(8, 8, 8, 0.20) 0%,
		rgba(8, 8, 8, 0.55) 45%,
		rgba(8, 8, 8, 0.92) 100%
	);
	pointer-events: none;
	z-index: 0;
}

/* Children stack above the overlay. */
.cds-service-card--photo > * {
	position: relative;
	z-index: 1;
}

/* Hide the small red SVG icon — the photo IS the visual now. */
.cds-service-card--photo > svg {
	display: none;
}

/* Heading sits on top of the photo — bump weight slightly and add a soft
   text-shadow so it survives over varied photo content. */
.cds-service-card--photo > h3 {
	color: var(--tan) !important;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.55);
}

/* Description (the only direct <div> child) — keep it readable but softer
   than the heading, and brighten over the dark gradient. */
.cds-service-card--photo > div {
	color: rgba(255, 255, 255, 0.88) !important;
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.45);
}

/* ---------- Inner page content alignment ----------
   Align body copy on inner pages (about, contact, ffl-transfers, etc.) with
   the header logo's left edge. The header inner is max-width 1320px centered
   with clamp(16px, 4vw, 40px) side padding; .cds-section already uses the
   same side padding, so constraining it to 1320px and zeroing the
   auto-margin centering on post-content children makes the heading /
   paragraph left edge line up flush with the logo edge top-to-bottom. */
.cds-section {
	max-width: 1320px;
	margin-left: auto;
	margin-right: auto;
}

/* Left-align flow children of post-content (paragraphs, headings, lists,
   nested containers) so their left edge sits at the section's left padding
   instead of being auto-centered by WP's is-layout-constrained rule.
   `!important` overrides the auto-margins WP emits with !important on the
   .is-layout-constrained > * layout rule. Section patterns that escape via
   100vw margins (cta-band, reviews, etc.) are excluded so they keep
   reaching the viewport edges. */
.cds-section .entry-content > *:not(.cds-services):not(.cds-featured):not(.cds-reviews):not(.cds-cta-band):not(.cds-info-strip):not(.cds-shop-layout):not(.alignfull) {
	margin-left: 0 !important;
	margin-right: auto !important;
	max-width: none;
}

/* Keep paragraphs / headings / lists in a readable measure column. */
.cds-section .entry-content > :is(p, .wp-block-paragraph, h1, h2, h3, h4, h5, h6, .wp-block-heading, ul, ol, .wp-block-list) {
	max-width: min(720px, 100%);
}

/* Full-bleed shop panorama (About page) — image fills its alignfull
   section edge-to-edge with no figure gutter or inline-image gap. */
.cds-shop-pano {
	margin: 0 !important;
	width: 100%;
	display: block;
}
.cds-shop-pano img {
	width: 100%;
	height: auto;
	display: block;
}
