:root {
	/* Colors */
	--color-primary: #87cd37;
	--color-primary-dark: #6aa329;
	--color-dark: #121212;
	--color-dark-alt: #000000;
	--color-dark-green: #134b3f;
	--color-text: #222222;
	--color-text-light: #666666;
	--color-white: #ffffff;
	--color-off-white: #ffffff99;
	--color-bg-light: #87cd3733;
	--color-bg-gray: #f7f7f7;
	--color-bg-vape-split: #f4eee6;
	--color-bg-cbd-oil-split: #e6f2c9;
	--color-border: #e5e5e5;

	/* Typography */
	--font-main:
		"DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--font-heading:
		"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial,
		sans-serif;

	/* Spacing */
	--container-width: 1440px;
	--container-padding: 80px;
	--spacing-sm: 0.5rem;
	--spacing-md: 1rem;
	--spacing-lg: 2rem;
	--spacing-xl: 4rem;
	--spacing-xxl: 6rem;

	/* Radii */
	--radius-sm: 4px;
	--radius-md: 8px;
	--radius-lg: 16px;
	--radius-xl: 24px;
	--radius-pill: 500px;
}

/* ==========================================================================
Reset & Base Styles
========================================================================== */
*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	overflow-x: hidden;
}

body {
	font-family: var(--font-main);
	color: var(--color-text);
	background-color: var(--color-white);
	line-height: 1.5;
	font-size: 16px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

a {
	color: var(--color-dark);
	text-decoration: none;
	transition: all 0.3s ease;
}

a:hover {
	color: var(--color-primary);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font-heading);
	font-weight: 700;
	color: var(--color-dark);
	line-height: 1.2;
	margin-bottom: var(--spacing-md);
}

ul,
ol {
	list-style: none;
}

/* ==========================================================================
Layout & Container
========================================================================== */
.container {
	width: 100%;
	max-width: var(--container-width);
	margin: 0 auto;
	padding: 0 var(--container-padding);
}

/* ==========================================================================
Sections
========================================================================== */
.cbd-section--makers {
	background-color: var(--color-bg-gray);
}

/* ==========================================================================
Right Image Box (ACF block)
========================================================================== */
.right-image-box-section {
	padding: 70px 0;
	background: #ffffff;
}

.right-image-box__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
	gap: 56px;
	align-items: center;
}

.right-image-box__inner--image-left {
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
}

.right-image-box__content {
	min-width: 0;
}

.right-image-box__icon {
	width: 34px;
	height: 34px;
	margin-bottom: 14px;
}

.right-image-box__top {
	margin: 0 0 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	color: #79b833;
}

.right-image-box__title {
	margin: 0 0 12px;
	font-size: 32px;
	line-height: 1.2;
	font-weight: 800;
	color: #121212;
}

.right-image-box__title .text-primary {
	color: #79b833;
}

.right-image-box__intro {
	margin: 0 0 18px;
	font-size: 15px;
	line-height: 1.7;
	color: #5f6b74;
	max-width: 520px;
}

.right-image-box__list {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
}

.right-image-box__item {
	display: grid;
	grid-template-columns: 20px 1fr;
	gap: 12px;
	align-items: start;
}

.right-image-box__item-icon {
	width: 18px;
	height: 18px;
	margin-top: 3px;
	flex-shrink: 0;
}

.right-image-box__item-icon--check {
	border-radius: 50%;
	background: #79b833;
	position: relative;
}

.right-image-box__item-icon--check::after {
	content: "";
	position: absolute;
	left: 5px;
	top: 4px;
	width: 6px;
	height: 3px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(-45deg);
}

.right-image-box__item-title {
	margin: 0;
	font-size: 14px;
	line-height: 1.35;
	font-weight: 700;
	color: #121212;
}

.right-image-box__item-desc {
	margin: 6px 0 0;
	font-size: 13px;
	line-height: 1.6;
	color: #5f6b74;
}

.right-image-box__media {
	border-radius: 0 140px 140px 0;
	overflow: hidden;
	background: #eef1f4;
}

.right-image-box__media--left {
	border-radius: 140px 0 0 140px;
}

.right-image-box__media img {
	width: 100%;
	height: 100%;
	min-height: 520px;
	object-fit: cover;
	display: block;
}

/* ==========================================================================
Default page template (page.php) — full width
========================================================================== */
.page-full-width-wrap {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.page-full-width-article {
	width: 100%;
}

.page-full-width-entry-header {
	width: 100%;
	max-width: var(--container-width);
	margin: 0 auto;
	padding: 2.5rem var(--container-padding) 1rem;
	box-sizing: border-box;
}

.page-full-width-entry-header .entry-title {
	margin: 0;
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 800;
	line-height: 1.15;
	color: var(--color-dark);
}

.page-full-width-wrap .entry-content {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0 0 3rem;
	box-sizing: border-box;
}

/* Gutenberg: full-bleed blocks inside full-width page */
.page-full-width-wrap .alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.page-full-width-wrap .alignwide {
	max-width: min(100%, var(--container-width));
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--container-padding);
	padding-right: var(--container-padding);
}

/* ==========================================================================
Components (Buttons, Form Elements)
========================================================================== */
.btn-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	background-color: var(--color-primary);
	color: var(--color-dark);
	padding: 12px 32px;
	border-radius: var(--radius-md);
	font-weight: 700;
	border: none;
	cursor: pointer;
	transition: all 0.3s ease;
	font-size: 16px;
}

.btn-primary:hover {
	background-color: var(--color-primary-dark);
	color: var(--color-white);
	transform: translateY(-5px);
}

.btn-white {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	background-color: var(--color-white);
	color: var(--color-dark-green);
	padding: 12px 33px;
	border-radius: var(--radius-md);
	font-weight: 700;
	border: 1px solid var(--color-dark-green);
	cursor: pointer;
	transition: all 0.3s ease;
	font-size: 16px;
}

.btn-white:hover {
	background-color: var(--color-bg-gray);
}

.btn-outline-small {
	display: inline-block;
	background: transparent;
	color: var(--color-dark-green);
	border: 1px solid var(--color-primary);
	padding: 12px 16px;
	border-radius: var(--radius-pill);
	font-size: 14px;
	font-weight: 700;
}

.btn-outline-small:hover {
	border-color: var(--color-primary);
	color: var(--color-primary);
}

.btn-outline-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-white);
	color: var(--color-dark-green);
	border: 2px solid var(--color-primary);
	padding: 10px 26px;
	border-radius: var(--radius-pill);
	font-size: 16px;
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
	transition: all 0.3s ease;
}

.btn-outline-primary:hover {
	background-color: var(--color-primary);
	color: var(--color-dark);
}

/* ==========================================================================
Global Header
========================================================================== */
/* Top Bar */
.top-bar {
	background-color: var(--color-bg-light);
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	color: var(--color-dark);
}

.top-bar-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

.top-bar-right a {
	margin-left: 1rem;
	color: var(--color-dark);
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
}

.top-bar-right a:hover {
	color: var(--color-primary);
}

/* Masthead */
.site-header {
	background-color: var(--color-white);
	border-bottom: 1px solid var(--color-border);
	padding: 12px 0;
	position: sticky;
	top: 0;
	z-index: 1000;
}

.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.site-branding {
	width: 100px;
}

.site-branding .logo img {
	height: 48px;
	width: auto;
}

/* Navigation */
.main-navigation {
	position: static;
}

.main-navigation ul {
	display: flex;
	gap: 1rem;
	margin: 0;
	position: relative;
	/* Context for nested submenus if any */
}

/* Base styles for list items */
.main-navigation li {
	position: relative;
}

.main-navigation li a {
	font-weight: 500;
	font-size: 14px;
	color: var(--color-dark);
	display: block;
	/* Important for padding to work accurately */
	padding: 10px 0;
	/* Add some hit area */
}

.main-navigation li.menu-item-has-children > a::after {
	content: "";
	display: inline-block;
	width: 10px;
	height: 6px;
	margin-left: 6px;
	vertical-align: middle;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1.5 1.5L6 6L10.5 1.5' stroke='%23121212' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	transition: transform 0.3s ease;
}

/* Optional: Rotate icon on hover */
.main-navigation li.menu-item-has-children:hover > a::after {
	transform: rotate(180deg);
}

/* Sub-menu (Dropdown) Base styling - Hidden by default */
.main-navigation ul.sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	background-color: var(--color-white);
	min-width: 200px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
	border-radius: var(--radius-md);
	padding: 0.4rem 0;
	margin-top: 15px;
	/* Starting position for animation */

	/* Hide the menu visually and to screen readers when not hovered */
	opacity: 0;
	visibility: hidden;

	/* Animation transition */
	transition: all 0.3s ease;
	z-index: 100;

	/* override the flex display from the main ul */
	display: block;
}

/* Reset gap for submenus */
.main-navigation ul.sub-menu li {
	width: 100%;
}

/* Style submenu links */
.main-navigation ul.sub-menu li a {
	padding: 8px 15px;
	font-weight: 400;
}

/* Hover effects for submenu links */
.main-navigation ul.sub-menu li a:hover {
	background-color: var(--color-bg-light);
	color: var(--color-primary);
}

/* Show Sub-menu on Hover over the parent li */
.main-navigation li:hover > ul.sub-menu {
	opacity: 1;
	visibility: visible;
	margin-top: 0;
	/* Slide up effect */
}

/* Desktop mega menu for Products */
@media (min-width: 1025px) {
	/* Keep the mega menu aligned with the nav (starts at Products) */
	.main-navigation > ul {
		position: relative;
	}

	.main-navigation li.menu-item-has-mega > ul.sub-menu,
	.main-navigation li.cbd-has-mega > ul.sub-menu {
		display: none !important;
	}

	.main-navigation .cbd-mega-menu {
		position: absolute;
		top: 100%;
		left: 50%;
		width: min(980px, calc(100vw - 32px));
		min-width: 0;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translate(-50%, 0);
		transition: none;
		z-index: 300;
	}

	.main-navigation li.menu-item-has-mega.is-open > .cbd-mega-menu,
	.main-navigation li.cbd-has-mega.is-open > .cbd-mega-menu,
	.main-navigation li.menu-item-has-mega:focus-within > .cbd-mega-menu,
	.main-navigation li.cbd-has-mega:focus-within > .cbd-mega-menu {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translate(-6%, 0);
		transition: none;
	}

	.cbd-mega-menu__inner {
		display: grid;
		grid-template-columns: minmax(0, 1.45fr) minmax(280px, 340px);
		background: #fff;
		border: 1px solid #e7ebef;
		box-shadow: 0 18px 50px rgba(0, 0, 0, 0.08);
		border-radius: 0 0 16px 16px;
		overflow: hidden;
	}

	.cbd-mega-menu__left {
		padding: 24px 28px 24px;
	}

	.cbd-mega-menu__right {
		padding: 22px 24px 24px;
		background: #f7f8f9;
		border-left: 1px solid #e7ebef;
	}

	.cbd-mega-menu__eyebrow {
		margin: 0 0 18px;
		font-size: 11px;
		line-height: 1.2;
		letter-spacing: 0.14em;
		font-weight: 800;
		text-transform: uppercase;
		color: #121212;
	}

	.cbd-mega-menu__categories {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px 24px;
	}

	.cbd-mega-menu__category {
		display: grid;
		grid-template-columns: 56px minmax(0, 1fr);
		gap: 12px;
		align-items: start;
		text-decoration: none;
	}

	.cbd-mega-menu__category-thumb {
		width: 56px;
		height: 56px;
		border-radius: 12px;
		background: linear-gradient(135deg, #ff8b38, #f97316);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		overflow: hidden;
		box-shadow: 0 6px 14px rgba(249, 115, 22, 0.18);
	}

	.cbd-mega-menu__category-thumb img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.cbd-mega-menu__category-title {
		display: block;
		color: #121212;
		font-size: 14px;
		line-height: 1.25;
		font-weight: 700;
		margin-bottom: 3px;
	}

	.cbd-mega-menu__category-text {
		display: block;
		color: #70757a;
		font-size: 12px;
		line-height: 1.4;
		font-weight: 400;
	}

	.cbd-mega-menu__category:hover .cbd-mega-menu__category-title,
	.cbd-mega-menu__category:hover .cbd-mega-menu__category-text {
		color: #121212;
	}

	.cbd-mega-menu__thumb-grid {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 10px;
		margin-bottom: 16px;
	}

	.cbd-mega-menu__tile {
		aspect-ratio: 1;
		border-radius: 8px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		overflow: hidden;
		box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
	}

	.cbd-mega-menu__tile--blue {
		background: #2f5fd2;
	}

	.cbd-mega-menu__tile--orange {
		background: #ff7a2f;
	}

	.cbd-mega-menu__tile img {
		width: 70%;
		height: 70%;
		object-fit: cover;
		border-radius: 4px;
		background: #fff;
	}

	.cbd-mega-menu__promo-title {
		margin: 0 0 8px;
		font-size: 18px;
		line-height: 1.2;
		font-weight: 800;
		color: #121212;
	}

	.cbd-mega-menu__promo-text {
		margin: 0;
		font-size: 13px;
		line-height: 1.6;
		color: #70757a;
	}

	.cbd-mega-menu__promo-btn {
		margin-top: 18px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 11px 20px;
		border-radius: 999px;
		background: linear-gradient(135deg, #ff8b38, #f97316);
		color: #fff;
		font-size: 13px;
		font-weight: 700;
		text-decoration: none;
		box-shadow: 0 10px 20px rgba(249, 115, 22, 0.18);
	}

	.cbd-mega-menu__promo-btn:hover {
		color: #fff;
		opacity: 0.96;
	}
}

@media (min-width: 1025px) and (max-width: 1280px) {
	.main-navigation .cbd-mega-menu {
		width: min(1000px, calc(100vw - 48px));
	}

	.cbd-mega-menu__inner {
		grid-template-columns: minmax(0, 1.3fr) 280px;
	}
}

/* Mega menu variant: Moonday-style (Directions + Solutions) */
@media (min-width: 1025px) {
	.cbd-mega-menu--moonday .cbd-mega-menu__inner {
		grid-template-columns: minmax(0, 1fr);
		border-radius: 14px;
		border: 1px solid var(--color-border);
		box-shadow: 0 18px 50px rgba(0, 0, 0, 0.08);
	}

	.cbd-mega-menu--moonday .cbd-mega-menu__right {
		background: #fff;
		padding: 20px 22px;
	}

	.cbd-mega-menu--moonday .cbd-mega-menu__eyebrow {
		margin: 0 0 14px;
		font-size: 11px;
		line-height: 1.2;
		letter-spacing: 0.14em;
		font-weight: 700;
		text-transform: uppercase;
		color: #6c7b86;
	}

	.cbd-mega-menu--moonday .cbd-mega-menu__nav {
		display: flex;
		flex-direction: column;
		gap: 12px;
	}

	.cbd-mega-menu--moonday .cbd-mega-menu__nav-item {
		width: 100%;
		text-align: left;
		border: 1px solid transparent;
		background: transparent;
		padding: 12px;
		border-radius: 14px;
		display: flex;
		gap: 12px;
		align-items: flex-start;
		cursor: pointer;
	}

	.cbd-mega-menu--moonday .cbd-mega-menu__nav-item:hover {
		background: rgba(255, 255, 255, 0.72);
		border-color: var(--color-border);
	}

	.cbd-mega-menu--moonday .cbd-mega-menu__nav-item.is-active {
		background: #fff;
		border-color: var(--color-border);
		box-shadow: 0 10px 24px rgba(0, 0, 0, 0.06);
	}

	.cbd-mega-menu--moonday .cbd-mega-menu__nav-icon {
		width: 44px;
		height: 44px;
		border-radius: 999px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		color: var(--color-primary-dark);
		background: rgba(135, 205, 55, 0.18);
	}

	.cbd-mega-menu--moonday .cbd-mega-menu__nav-icon.is-purple {
		color: #134b3f;
		background: rgba(19, 75, 63, 0.1);
	}

	.cbd-mega-menu--moonday .cbd-mega-menu__nav-icon.is-green {
		color: var(--color-primary-dark);
		background: rgba(135, 205, 55, 0.18);
	}

	.cbd-mega-menu--moonday .cbd-mega-menu__nav-icon.is-orange {
		color: #f97316;
		background: rgba(249, 115, 22, 0.12);
	}

	.cbd-mega-menu--moonday .cbd-mega-menu__nav-title {
		display: block;
		font-weight: 700;
		color: var(--color-dark);
		font-size: 14px;
		margin-bottom: 2px;
	}

	.cbd-mega-menu--moonday .cbd-mega-menu__nav-text {
		display: block;
		font-size: 12px;
		color: #6c7b86;
		line-height: 1.4;
	}

	.cbd-mega-menu--moonday .cbd-mega-menu__solutions {
		display: grid;
		grid-template-rows: repeat(5, minmax(0, auto));
		grid-auto-flow: column;
		grid-auto-columns: minmax(0, 1fr);
		column-gap: 26px;
		row-gap: 12px;
	}

	.cbd-mega-menu--moonday .cbd-mega-menu__solution {
		display: flex;
		align-items: flex-start;
		gap: 12px;
		text-decoration: none;
		padding: 12px 14px;
		background: #fff;
		border: 1px solid var(--color-border);
		border-radius: 14px;
		color: var(--color-dark);
		transition: all 0.2s ease;
	}

	.cbd-mega-menu--moonday .cbd-mega-menu__solution:hover {
		color: var(--color-dark);
		border-color: rgba(135, 205, 55, 0.55);
		box-shadow: 0 10px 24px rgba(18, 18, 18, 0.08);
		transform: translateY(-1px);
	}

	.cbd-mega-menu--moonday .cbd-mega-menu__solution-icon {
		width: 34px;
		height: 34px;
		border-radius: 10px;
		background: rgba(135, 205, 55, 0.18);
		color: var(--color-primary-dark);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
	}

	.cbd-mega-menu--moonday .cbd-mega-menu__solution-icon img {
		width: 20px;
		height: 20px;
		object-fit: contain;
		display: block;
		filter: saturate(1.05);
	}

	.cbd-mega-menu--moonday .cbd-mega-menu__solution-copy {
		display: block;
		min-width: 0;
	}

	.cbd-mega-menu--moonday .cbd-mega-menu__solution-title {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		font-size: 13px;
		font-weight: 800;
		color: var(--color-dark);
		line-height: 1.2;
	}

	.cbd-mega-menu--moonday .cbd-mega-menu__solution-text {
		display: block;
		margin-top: 4px;
		font-size: 12px;
		color: #6c7b86;
		line-height: 1.35;
	}

	.cbd-mega-menu--moonday .cbd-mega-menu__badge {
		font-size: 10px;
		font-weight: 700;
		color: var(--color-primary-dark);
		background: rgba(135, 205, 55, 0.22);
		border-radius: 999px;
		padding: 2px 8px;
		line-height: 1.2;
	}

	.cbd-mega-menu--moonday .cbd-mega-menu__footer {
		margin-top: 14px;
		padding-top: 14px;
		border-top: 1px solid var(--color-border);
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 14px;
	}

	.cbd-mega-menu--moonday .cbd-mega-menu__footer-title {
		display: block;
		font-weight: 700;
		font-size: 13px;
		color: var(--color-dark);
		margin-bottom: 3px;
	}

	.cbd-mega-menu--moonday .cbd-mega-menu__footer-text {
		display: block;
		font-size: 12px;
		color: #6c7b86;
		line-height: 1.4;
		max-width: 360px;
	}

	.cbd-mega-menu--moonday .cbd-mega-menu__footer-btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 10px 14px;
		border-radius: 999px;
		border: 1px solid var(--color-border);
		background: #fff;
		color: var(--color-dark);
		font-weight: 700;
		font-size: 13px;
		text-decoration: none;
		white-space: nowrap;
	}

	.cbd-mega-menu--moonday .cbd-mega-menu__footer-btn:hover {
		background: var(--color-bg-gray);
		color: var(--color-dark);
	}
}

/* Mega menu variant: Product categories (image tile + title + description, 3-col grid) */
@media (min-width: 1025px) {
	.main-navigation .cbd-mega-menu.cbd-mega-menu--categories {
		width: min(1040px, calc(100vw - 32px));
	}

	.cbd-mega-menu--categories .cbd-mega-menu__inner {
		grid-template-columns: minmax(0, 1fr);
		background: #fff;
		border: 1px solid var(--color-border);
		border-radius: 14px;
		box-shadow: 0 18px 50px rgba(0, 0, 0, 0.08);
		overflow: hidden;
	}

	.cbd-mega-menu--categories .cbd-mega-menu__right {
		background: #fff;
		border-left: 0;
		padding: 26px 28px 28px;
	}

	.cbd-mega-menu--categories .cbd-mega-menu__eyebrow {
		margin: 0 0 18px;
		font-size: 12px;
		line-height: 1.2;
		letter-spacing: 0.16em;
		font-weight: 800;
		text-transform: uppercase;
		color: #121a2b;
	}

	.cbd-mega-menu--categories .cbd-mega-menu__cat-grid {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: 28px;
		row-gap: 16px;
	}

	.cbd-mega-menu--categories .cbd-mega-menu__cat {
		display: grid;
		grid-template-columns: 56px minmax(0, 1fr);
		gap: 12px;
		align-items: center;
		padding: 4px 2px;
		text-decoration: none;
		color: var(--color-dark);
		transition: none;
	}

	.cbd-mega-menu--categories .cbd-mega-menu__cat:hover {
		color: var(--color-dark);
	}

	.cbd-mega-menu--categories .cbd-mega-menu__cat-thumb {
		width: 56px;
		height: 56px;
		color: #fff;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		overflow: hidden;
		flex-shrink: 0;
	}

	.cbd-mega-menu--categories .cbd-mega-menu__cat-thumb img {
		width: 100%;
		height: 100%;
		object-fit: contain;
		display: block;
		border-radius: 11px;
	}

	.cbd-mega-menu--categories .cbd-mega-menu__cat-copy {
		display: block;
		min-width: 0;
	}

	.cbd-mega-menu--categories .cbd-mega-menu__cat-title {
		display: block;
		font-size: 14px;
		line-height: 1.25;
		font-weight: 800;
		color: #121a2b;
		margin-bottom: 3px;
	}

	.cbd-mega-menu--categories .cbd-mega-menu__cat-text {
		display: block;
		font-size: 12px;
		line-height: 1.4;
		color: #6c7b86;
		font-weight: 400;
	}

	.cbd-mega-menu--categories
	.cbd-mega-menu__cat:hover
	.cbd-mega-menu__cat-title {
		color: var(--color-primary-dark);
	}
}

@media (min-width: 1025px) and (max-width: 1180px) {
	.cbd-mega-menu--categories .cbd-mega-menu__cat-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Mobile: stack categories cleanly inside the open mega menu */
@media (max-width: 1024px) {
	.cbd-mega-menu--categories .cbd-mega-menu__cat-grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 10px;
		padding: 8px 0;
	}
	.cbd-mega-menu--categories .cbd-mega-menu__cat {
		display: grid;
		grid-template-columns: 44px minmax(0, 1fr);
		gap: 10px;
		align-items: center;
		padding: 6px 8px;
		border-radius: 10px;
	}
	.cbd-mega-menu--categories .cbd-mega-menu__cat-thumb {
		width: 44px;
		height: 44px;
		color: #fff;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		overflow: hidden;
	}
	.cbd-mega-menu--categories .cbd-mega-menu__cat-thumb img {
		width: 100%;
		height: 100%;
		object-fit: contain;
		border-radius: 11px;
	}
	.cbd-mega-menu--categories .cbd-mega-menu__cat-title {
		font-size: 14px;
		font-weight: 700;
		color: var(--color-dark);
		display: block;
	}
	.cbd-mega-menu--categories .cbd-mega-menu__cat-text {
		font-size: 12px;
		color: #6c7b86;
		display: block;
	}
}

/* Nested Sub-menus */
.main-navigation ul.sub-menu ul.sub-menu {
	top: 0;
	left: 100%;
	margin-top: 0;
	margin-left: 10px;
}

.main-navigation ul.sub-menu li:hover > ul.sub-menu {
	margin-left: 0;
	/* Slide left effect for nested */
}

/* Menu Toggle - Hidden on Desktop */
.menu-toggle {
	display: none;
}

/* Header Actions */
.header-actions {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.header-search form {
	position: relative;
	display: flex;
	align-items: center;
}

.search-field {
	padding: 0.5rem 2.5rem 0.5rem 1rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-pill);
	font-size: 14px;
	width: 150px;
	transition: width 0.3s;
}

.search-field:focus {
	width: 250px;
	outline: none;
	border-color: var(--color-primary);
}

.search-submit {
	position: absolute;
	right: 12px;
	background: none;
	border: none;
	color: var(--color-text-light);
	cursor: pointer;
}

.header-country {
	font-size: 11px;
	font-weight: 400;
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

.header-country p {
	font-size: 11px;
	font-weight: 400;
}

.cart-icon {
	position: relative;
	color: var(--color-dark);
}

.cart-count {
	position: absolute;
	top: -6px;
	right: -8px;
	background-color: var(--color-primary);
	color: var(--color-dark);
	font-size: 0.7rem;
	font-weight: 600;
	height: 18px;
	min-width: 18px;
	border-radius: 9px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 4px;
}

/* ==========================================================================
Global Footer
========================================================================== */
.pre-footer-cta {
	background-color: var(--color-white);
	padding: 64px 0;
	text-align: left;
}

.container.pre-footer-inner {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 56px;
}

.pre-footer-cta .cta-content {
	background-color: var(--color-primary);
	border-radius: 28px;
	padding: 120px 50px 72px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	background-image: linear-gradient(135deg, #8cc63f 0%, #7cba25 100%);
	width: 50%;
}

.pre-footer-cta h2 {
	color: var(--color-dark);
	font-size: 36px;
	margin-bottom: 14px;
	line-height: 40px;
	font-weight: 800;
}

span.text-primary-white {
	color: var(--color-white);
}

.pre-footer-cta .cta-content p {
	color: rgba(18, 18, 18, 0.7);
	font-size: 18px;
	line-height: 28px;
	text-align: center;
	max-width: 520px;
}

a.btn-primary.btn-primary-cta {
	background-color: var(--color-dark-green);
	color: var(--color-white);
}

.cta-actions {
	display: flex;
	gap: 1rem;
	margin-top: 30px;
}

.pre-footer-cta .cta-actions {
	justify-content: center;
	align-items: center;
}

.site-footer {
	background-color: var(--color-dark-green);
	color: rgba(255, 255, 255, 0.7);
	padding: 64px 0;
}

.footer-top {
	display: flex;
	flex-direction: row;
	padding-bottom: var(--spacing-xl);
}

.container.footer-top {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	padding: 0 80px 40px;
	justify-content: space-between;
}

.container.footer-top .footer-brand {
	flex: 0 0 20%;
	max-width: 20%;
}

.container.footer-top .footer-links-area {
	flex: 0 0 75%;
	max-width: 75%;
}

.footer-logo {
	margin-bottom: var(--spacing-md);
	width: 227px;
	height: 40px;
}

.container.footer-bar {
	display: flex;
	justify-content: space-between;
	border-top: 1px solid #ffffff1a;
	padding: 30px 80px 0;
}

.footer-brand p {
	font-size: 14px;
	margin-bottom: var(--spacing-md);
	line-height: 20px;
	font-weight: 400;
	color: #ffffff99;
}

.contact-info li {
	margin-bottom: 0.5rem;
	font-size: 14px;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	line-height: 20px;
}

.contact-info .footer-icon {
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	color: #ffffffcc;
}

.contact-info li a {
	color: inherit;
}

.contact-info li a:hover {
	color: var(--color-primary);
}

.social-links {
	display: flex;
	gap: 1rem;
	margin-top: 1.5rem;
}

.social-links a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 8px;
	color: #ffffffcc;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.06);
	transition:
		background-color 0.2s ease,
		color 0.2s ease,
		border-color 0.2s ease;
}

.social-links a .footer-social-icon {
	width: 18px;
	height: 18px;
	display: block;
}

.social-links a:hover {
	background-color: var(--color-primary);
	color: var(--color-dark);
	border-color: rgba(135, 205, 55, 0.55);
}

.footer-links h3 {
	color: #fff;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.7px;
	margin-bottom: 16px;
	font-weight: 700;
	line-height: 20px;
}

.footer-links li {
	margin-bottom: 16px;
}

.footer-links a {
	color: #ffffff99;
	font-size: 14px;
	line-height: 20px;
	font-weight: 400;
}

.footer-links a:hover {
	color: var(--color-primary);
}

.footer-bottom {
	display: flex;
	justify-content: end;
	align-items: end;
	gap: 50px;
	margin-top: 30px;
}

.footer-links-row {
	display: flex;
	flex-direction: row;
}

.compliance-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
}

.compliance-list li {
	position: relative;
	padding-right: 12px;
	margin-right: 12px;
}

.compliance-list li:last-child {
	margin-right: 0;
	padding-right: 0;
}

.compliance-list li:not(:last-child)::after {
	content: "•";
	position: absolute;
	right: -2px;
	top: 0;
}

.compliance-list li a {
	color: #ffffff66;
	text-decoration: none;
	font-size: 14px;
}

.compliance-list li a:hover {
	color: var(--color-primary);
}

.footer-widget.footer-links {
	flex: 0 0 25%;
}

.payment-methods span,
.delivery-partners span,
.certifications span {
	display: block;
	font-size: 12px;
	margin-bottom: 0.5rem;
	color: var(--color-white);
	font-weight: 700;
	font-family: var(--font-heading);
	letter-spacing: 0.7px;
}

.methods-icons,
.partners-icons,
.cert-icons {
	display: flex;
	gap: 0.5rem;
	align-items: center;
	justify-content: center;
}

.methods-icons img,
.partners-icons img {
	width: 58px;
	height: 40px;
}

.cert-icons img {
	height: 60px;
}

/* ==========================================================================
Front Page Styles
========================================================================== */
.hero-section {
	background-color: var(--color-bg-light);
	padding: 0;
	overflow: hidden;
}

.container.hero-inner {
	padding: 0 0 0 80px;
}

.hero-inner {
	display: flex;
	align-items: center;
	gap: var(--spacing-lg);
}

.hero-content {
	width: 48%;
}

.hero-content h1 {
	font-size: 48px;
	font-weight: 800;
	margin-bottom: var(--spacing-md);
}

.hero-content p {
	font-size: 18px;
	color: var(--color-text-light);
	margin-bottom: var(--spacing-lg);
}

.hero-actions {
	display: flex;
	gap: 1rem;
}

.hero-image {
	width: 52%;
	display: flex;
	justify-content: flex-end;
}

/* ACF block hero layout tweaks */
.hero-section--acf .hero-image {
	width: 44%;
	padding-top: 50px;
	padding-bottom: 50px;
}

.hero-image img {
	max-width: 100%;
	width: 100%;
	height: auto;
	max-height: 492px;
	object-fit: contain;
}

/* ACF block hero: fill the image box (no distortion) */
.hero-section--acf .hero-image img {
	height: 380px;
	max-height: none;
	object-fit: contain;
	object-position: center;
}

/* Hero / legal: text + image, no buttons (e.g. Terms & Conditions) */
.hero-no-btn-section {
	background-color: #dae8c3;
	padding: 56px 0;
	overflow: hidden;
}

.hero-no-btn-inner {
	display: flex;
	align-items: center;
	gap: 48px;
}

.hero-no-btn-content {
	flex: 1 1 0;
	min-width: 0;
	max-width: 52%;
}

.hero-no-btn-section--no-image .hero-no-btn-content {
	max-width: 100%;
}

.hero-no-btn-title {
	margin: 0 0 18px;
	font-size: 32px;
	font-weight: 800;
	color: var(--color-dark);
	line-height: 1.2;
}

.hero-no-btn-text {
	margin: 0;
	font-size: 16px;
	line-height: 1.65;
	color: var(--color-text);
}

.hero-no-btn-figure {
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.hero-no-btn-figure img {
	display: block;
	width: 100%;
	max-width: 469px;
	height: auto;
	/* border: 4px solid var(--color-white); */
	border-radius: 14px;
	/* box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12); */
	object-fit: cover;
}

.brand-ticker {
	padding: var(--spacing-md) 0;
	background: var(--color-bg-gray);
}

.ticker-inner {
	display: flex;
	align-items: center;
	gap: var(--spacing-lg);
}

.container.ticker-inner {
	padding: 0 0 0 80px;
}

.ticker-inner > span {
	font-weight: 600;
	color: var(--color-dark);
	font-size: 15px;
	line-height: 19px;
}

.trustpilot img {
	height: 24px;
	width: auto;
	max-width: 180px;
	object-fit: contain;
	display: block;
}

.trustpilot span {
	font-size: 12px;
	font-weight: 700;
	text-decoration: underline;
	color: var(--color-dark);
}

.trustpilot {
	display: flex;
	gap: 10px;
	flex-direction: row;
	align-items: center;
}

.logos-slider {
	overflow: hidden;
	flex: 1;
	min-width: 0;
	position: relative;
	mask-image: linear-gradient(
		to right,
		transparent,
		black 10%,
		black 90%,
		transparent
	);
	-webkit-mask-image: linear-gradient(
		to right,
		transparent,
		black 10%,
		black 90%,
		transparent
	);
}

.logo-track img {
	max-height: 40px;
	object-fit: contain;
}

.logo-track {
	display: flex;
	gap: var(--spacing-md);
	width: max-content;
	opacity: 0.6;
	align-items: center;
	will-change: transform;
}

/* Top Selling & Cannabis & Weed - same styling */
.product-grid.top-selling .section-header,
.product-grid.cannabis-weed .section-header {
	text-align: left;
	margin-bottom: 50px;
}

.product-grid.top-selling .section-header :is(h1, h2, h3, h4, h5, h6),
.product-grid.cannabis-weed .section-header :is(h1, h2, h3, h4, h5, h6) {
	font-size: 36px;
	font-weight: 700;
	font-family: var(--font-heading);
	color: #222222;
}

.product-grid.top-selling
.section-header
:is(h1, h2, h3, h4, h5, h6)
.text-primary,
.product-grid.cannabis-weed
.section-header
:is(h1, h2, h3, h4, h5, h6)
.text-primary {
	color: #80c342;
}

.product-grid.top-selling .section-header p,
.product-grid.cannabis-weed .section-header p {
	font-size: 16px;
	line-height: 24px;
	color: #777777;
	font-weight: 400;
	margin-top: 8px;
}

.section-header {
	text-align: start;
	margin-bottom: 50px;
}

.section-header h2 {
	font-size: 36px;
	font-weight: 800;
	font-family: var(--font-heading);
}

.section-header p {
	font-size: 16px;
	line-height: 24px;
	color: var(--color-text-light);
}

.text-primary {
	color: var(--color-primary);
}

.section-header h2 .text-primary {
	position: relative;
	display: inline-block;
}

.section-header h2 .text-primary::after {
	content: "";
	position: absolute;
	bottom: -4px;
	left: 0;
	right: 0;
	height: 4px;
	border-radius: 2px;
}

section.split-section.cbd-oil-packaging .container.split-inner {
	padding: 0 0 0 80px;
}

.product-grid.cannabis-weed .container {
	padding: 0 var(--container-padding);
}

/* Top selling slider needs balanced padding for arrows */
.product-grid.top-selling .container {
	padding: 0 var(--container-padding);
}

section.split-section.bg-light .container.split-inner {
	padding: 0 80px 0 0;
}

.product-grid {
	padding: 64px 0;
}

.grid.col-4 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--spacing-lg);
}

/* Product Slider - Top Selling (Swiper) - cards align with header */
.product-slider-wrapper {
	position: relative;
	padding: 0;
}

/* Extend slider to viewport right edge - remove right side gap */
.product-grid.top-selling .product-slider-wrapper,
.product-grid.cannabis-weed .product-slider-wrapper {
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	padding-left: max(
		var(--container-padding),
		calc((100vw - var(--container-width)) / 2 + var(--container-padding))
	);
	padding-right: 0;
}

.product-slider-wrapper .swiper-nav {
	position: absolute;
	top: 140px;
	width: 44px;
	height: 44px;
	border-radius: 999px;
	border: 1px solid var(--color-border);
	background: #fff;
	color: var(--color-dark);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 10px 24px rgba(18, 18, 18, 0.08);
	cursor: pointer;
	z-index: 10;
}

.product-slider-wrapper .swiper-nav--prev {
	left: max(14px, var(--container-padding));
}

.product-slider-wrapper .swiper-nav--next {
	right: 14px;
}

.product-slider-wrapper .swiper-nav:hover {
	border-color: rgba(135, 205, 55, 0.55);
}

.product-slider-wrapper .swiper-nav.swiper-button-disabled {
	opacity: 0.35;
	cursor: not-allowed;
}

.product-swiper,
.cannabis-swiper {
	overflow: hidden;
}

.product-swiper .swiper-slide,
.cannabis-swiper .swiper-slide {
	height: auto;
}

.product-swiper .product-card,
.cannabis-swiper .product-card {
	height: 100%;
	background: var(--color-white);
	border-radius: 0;
	overflow: visible;
	box-shadow: none;
}

/* Card image - each card has unique pastel bg, very rounded corners (20px) */
.product-swiper .product-card .card-img,
.cannabis-swiper .product-card .card-img {
	border-radius: 20px;
	overflow: hidden;
	aspect-ratio: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Individual pastel backgrounds per screenshot */
.product-swiper .product-card .card-img-mint,
.cannabis-swiper .product-card .card-img-mint {
	background: #d4e8d4;
}

.product-swiper .product-card .card-img-skyblue,
.cannabis-swiper .product-card .card-img-skyblue {
	background: #d4e4f0;
}

.product-swiper .product-card .card-img-white,
.cannabis-swiper .product-card .card-img-white {
	background: #ffffff;
	border: 1px solid #e8e8e8;
}

.product-swiper .product-card .card-img-mint-light,
.cannabis-swiper .product-card .card-img-mint-light {
	background: #e8f2e8;
}

.product-swiper .product-card .card-img-sage,
.cannabis-swiper .product-card .card-img-sage {
	background: #d8e8d0;
}

.product-swiper .product-card .card-img img,
.cannabis-swiper .product-card .card-img img {
	width: 100%;
	height: 100%;
	/* object-fit: contain; */
}

/* Card meta - significant padding, left-aligned */
.product-swiper .product-card .card-meta,
.cannabis-swiper .product-card .card-meta {
	padding: 0px 0 0;
	text-align: left;
}

.product-swiper .product-card .card-meta .min-units,
.cannabis-swiper .product-card .card-meta .min-units {
	font-family: var(--font-main);
	font-size: 12px;
	font-weight: 400;
	color: var(--color-dark-green);
	line-height: 20px;
	margin-bottom: 8px;
}

.product-swiper .product-card .card-meta h3,
.cannabis-swiper .product-card .card-meta h3 {
	font-family: var(--font-main);
	font-size: 18px;
	font-weight: 600;
	color: var(--color-dark);
	margin-bottom: 8px;
	line-height: 24px;
}

.product-swiper .product-card .card-meta h3 a,
.cannabis-swiper .product-card .card-meta h3 a {
	color: inherit;
}

.product-swiper .product-card .card-meta .btn-link,
.cannabis-swiper .product-card .card-meta .btn-link {
	font-family: var(--font-main);
	color: var(--color-dark-green);
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
}

.product-swiper .product-card .card-meta .btn-link:hover,
.cannabis-swiper .product-card .card-meta .btn-link:hover {
	color: var(--color-primary);
}

.product-swiper .product-card .card-meta .product-card__price,
.cannabis-swiper .product-card .card-meta .product-card__price {
	font-size: 16px;
	font-weight: 700;
	color: #222222;
	display: block;
	margin-bottom: 8px;
	line-height: 1.3;
}

.product-swiper
.product-card
.card-meta
.product-card__price
.woocommerce-Price-amount,
.cannabis-swiper
.product-card
.card-meta
.product-card__price
.woocommerce-Price-amount {
	font-weight: 700;
}

.product-grid__empty {
	text-align: center;
	color: #777777;
	padding: 2rem 0;
	margin: 0;
}

.product-card {
	background: var(--color-white);
	overflow: hidden;
	transition:
		transform 0.3s,
		box-shadow 0.3s;
}

.product-card:hover {
	transform: translateY(-5px);
}

.card-img {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 20px;
}

.card-img img {
	width: 100%;
}

.card-img.img-dark {
	background: var(--color-dark);
}

.card-meta .min-units {
	font-size: 12px;
	color: var(--color-dark-green);
	display: block;
	margin-bottom: 0.5rem;
	font-weight: 400;
	line-height: 20px;
}

.card-meta h3 {
	font-size: 18px;
	margin-bottom: 0.5rem;
	font-weight: 600;
	color: var(--color-dark);
	line-height: 24px;
}

.btn-link {
	color: var(--color-dark-green);
	font-weight: 400;
	font-size: 14px;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

/* Static grid version of top-selling cards (customboxes page) */
.custom-boxes-grid .custom-boxes-grid-wrap {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	align-items: start;
}

@media only screen and (max-width: 1024px) {
	.custom-boxes-grid .custom-boxes-grid-wrap {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media only screen and (max-width: 560px) {
	.custom-boxes-grid .custom-boxes-grid-wrap {
		grid-template-columns: 1fr;
	}
}

.custom-boxes-grid .product-card {
	box-shadow: none;
	border-radius: 0;
}

.custom-boxes-grid .product-card .card-img {
	border-radius: 24px;
	overflow: hidden;
	aspect-ratio: 284 / 240;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

.custom-boxes-grid .card-img.card-img-mint {
	background: #e6d7c4;
}

.custom-boxes-grid .card-img.card-img-skyblue {
	background: #e8d9c6;
}

.custom-boxes-grid .card-img.card-img-white {
	background: #ffffff;
	border: 1px solid #e8e8e8;
}

.custom-boxes-grid .card-img.card-img-mint-light {
	background: #efe4d6;
}

.custom-boxes-grid .card-img.card-img-sage {
	background: #e7ddcf;
}

.custom-boxes-grid .product-card .card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.custom-boxes-grid .product-card .card-meta {
	padding: 0;
	text-align: left;
	padding-top: 8px;
}

.custom-boxes-grid .product-card .card-meta .min-units {
	font-size: 12px;
	color: #134b3f;
	line-height: 20px;
	margin-bottom: 8px;
}

.custom-boxes-grid .product-card .card-meta h3 {
	font-size: 18px;
	font-weight: 600;
	color: #121212;
	margin-bottom: 6px;
	line-height: 24px;
}

.custom-boxes-grid .product-card .card-meta h3 a {
	color: inherit;
	text-decoration: none;
}

.custom-boxes-grid .product-card .card-meta .btn-link {
	color: #134b3f;
	font-size: 14px;
	font-weight: 400;
	text-decoration: none;
}

.custom-boxes-grid .product-card .card-meta .btn-link:hover {
	color: #0f3a30;
}

.custom-boxes-grid .product-card-cta {
	height: 100%;
}

.custom-boxes-grid .product-card-cta:hover {
	transform: none;
}

.custom-boxes-grid .product-card-cta-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 0;
	min-height: 100%;
	aspect-ratio: 284 / 240;
	width: 100%;
	padding: 40px 28px 34px;
	background: #134b3f;
	border-radius: 32px;
	color: #ffffff;
	text-decoration: none;
}

.custom-boxes-grid .product-card-cta-icon {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.12);
	margin-bottom: 18px;
}

.custom-boxes-grid .product-card-cta-icon::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 96px;
	height: 30px;
	transform: translate(-50%, -50%);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.08);
	filter: blur(0.2px);
	z-index: -1;
}

.custom-boxes-grid .product-card-cta-inner h3 {
	color: #ffffff;
	margin: 0 0 12px;
	font-size: clamp(20px, 2.2vw, 40px);
	line-height: 1.15;
	font-weight: 800;
	letter-spacing: -0.01em;
}

.custom-boxes-grid .product-card-cta-inner p {
	color: rgba(255, 255, 255, 0.78);
	font-size: clamp(12px, 1.05vw, 18px);
	line-height: 1.55;
	margin: 0;
	max-width: 340px;
}

.custom-boxes-grid .product-card-cta-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 18px;
	font-size: clamp(18px, 1.6vw, 28px);
	line-height: 1;
}

/* Ensure CTA card styles apply anywhere this card is used */
.product-card.product-card-cta {
	height: 100%;
}

.product-card.product-card-cta:hover {
	transform: none;
}

.product-card-cta-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	min-height: 100%;
	aspect-ratio: 284 / 240;
	width: 100%;
	padding: 40px 28px 34px;
	background: #134b3f;
	border-radius: 32px;
	color: #ffffff !important;
	text-decoration: none;
}

.product-card-cta-inner:hover {
	color: #ffffff !important;
}

.product-card-cta-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.12);
	margin-bottom: 18px;
}

.product-card-cta-inner h3 {
	color: #ffffff !important;
	margin: 0 0 12px;
	font-size: 28px;
	line-height: 1.22;
	font-weight: 800;
	letter-spacing: -0.01em;
}

.product-card-cta-inner p {
	color: rgba(255, 255, 255, 0.88) !important;
	font-size: 12px;
	line-height: 1.5;
	margin: 0;
	max-width: 260px;
}

.product-card-cta-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 18px;
	font-size: 22px;
	line-height: 1;
}

.dielines-delivery-section {
	padding: 64px 0;
}

.branding-slider-section {
	padding: 56px 0 44px;
	background: #ffffff;
}

.branding-slider-header {
	text-align: center;
	margin-bottom: 22px;
}

.branding-slider-title {
	font-size: 36px;
	line-height: 1.1;
	font-weight: 800;
	color: #1c1c1c;
	margin: 0;
}

.branding-slider-subtitle {
	margin: 6px auto 0;
	color: #6c7b86;
	font-size: 12px;
	line-height: 1.4;
	max-width: 560px;
}

/* Artwork Design (screenshot section) */
.artwork-design-section {
	position: relative;
	min-height: 332px;
	display: flex;
	align-items: center;
	background-color: #6a6a6a;
	background-image: url("../Section__3_-06c64815-27e8-4c48-964a-aac260315e4d.png");
	background-repeat: no-repeat;
	background-position: right center;
	background-size: cover;
	overflow: hidden;
}

.artwork-design-section::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 52%;
	background: #6a6a6a;
	pointer-events: none;
	z-index: 0;
}

.artwork-design-inner {
	position: relative;
	z-index: 1;
}

.artwork-design-card {
	background: #ffffff;
	border-radius: 12px;
	padding: 34px 38px;
	width: min(560px, 100%);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);
}

.artwork-design-card h2 {
	margin: 0 0 12px;
	font-size: 44px;
	line-height: 1.1;
	font-weight: 800;
	letter-spacing: -0.4px;
	color: #121212;
}

.artwork-design-card p {
	margin: 0 0 18px;
	color: rgba(18, 18, 18, 0.75);
	font-size: 16px;
	line-height: 1.6;
}

.artwork-design-cta svg {
	transition: transform 0.2s ease;
}

.artwork-design-cta:hover svg {
	transform: translateX(2px);
}

@media only screen and (max-width: 767px) {
	.artwork-design-section {
		min-height: 520px;
		padding: 44px 0;
	}

	.artwork-design-section::before {
		width: 100%;
	}

	.artwork-design-card {
		padding: 26px 20px;
	}

	.artwork-design-card h2 {
		font-size: 34px;
	}
}

/* How It Works (custom boxes) */
.how-it-works-section {
	--hiw-bg: #1b3d2f;
	--hiw-accent: #93c01f;
	padding: 72px 0 80px;
	background: var(--hiw-bg);
	text-align: center;
}

.how-it-works-section .container {
	max-width: 1120px;
}

.how-it-works-badge {
	display: inline-block;
	margin: 0 0 20px;
	padding: 8px 18px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
	color: #ffffff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.how-it-works-headline {
	margin: 0 auto 48px;
	max-width: 920px;
	font-size: clamp(26px, 4vw, 40px);
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: #ffffff;
}

.how-it-works-headline-line {
	display: block;
}

.how-it-works-headline-accent {
	color: var(--hiw-accent);
}

.how-it-works-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 40px 32px;
	align-items: start;
}

.how-it-works-step h3 {
	margin: 0 0 10px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
	color: #ffffff;
}

.how-it-works-step p {
	margin: 0 auto;
	max-width: 320px;
	font-size: 14px;
	line-height: 1.55;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.92);
}

.how-it-works-icon-wrap {
	position: relative;
	display: inline-block;
	margin: 0 auto 20px;
}

.how-it-works-step-num {
	position: absolute;
	top: -2px;
	right: -6px;
	z-index: 2;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--hiw-accent);
	color: #ffffff;
	font-size: 13px;
	font-weight: 800;
	line-height: 38px;
	text-align: center;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.how-it-works-icon-circle {
	width: 128px;
	height: 128px;
	margin: 0 auto;
	border-radius: 50%;
	background: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
}

.how-it-works-icon-svg {
	width: 72px;
	height: 72px;
	display: block;
}

.branding-split-slider {
	position: relative;
	height: 300px;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04);
	width: 100%;
	max-width: min(1120px, 100%);
	margin: 0 auto;
	--pos: 50%;
	--branding-bg-y: -142px;
	touch-action: none;
}

.branding-split-before,
.branding-split-after {
	position: absolute;
	inset: 0;
	background-image: var(
		--branding-before-img,
		url("../Section__1_-11abd693-91ae-463d-aff4-b1e6512f0008.png")
	);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.branding-split-before {
	clip-path: inset(0 calc(100% - var(--pos)) 0 0);
}

.branding-split-after {
	background-image: var(
		--branding-after-img,
		url("../Section__1_-11abd693-91ae-463d-aff4-b1e6512f0008.png")
	);
	clip-path: inset(0 0 0 var(--pos));
}

.branding-split-divider {
	position: absolute;
	top: 0;
	bottom: 0;
	left: var(--pos);
	width: 2px;
	background: rgba(255, 255, 255, 0.9);
	transform: translateX(-1px);
	pointer-events: none;
}

.branding-split-handle {
	position: absolute;
	top: 50%;
	left: var(--pos);
	transform: translate(-50%, -50%);
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.95);
	border: 1px solid rgba(0, 0, 0, 0.06);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: grab;
	padding: 0;
	touch-action: none;
}

.branding-split-handle-text {
	font-size: 11px;
	font-weight: 900;
	letter-spacing: 0.4px;
	color: #8c8c8c;
}

.dielines-delivery-section .section-header {
	margin-bottom: 34px;
	text-align: left;
}

.dielines-delivery-section .section-header p {
	max-width: 720px;
	margin: 8px 0 0;
	font-size: 14px;
	line-height: 22px;
	color: #777777;
}

.dielines-delivery-section .section-header .dielines-main-heading {
	font-size: 32px;
	font-weight: 800;
	font-family: var(--font-heading);
	margin: 0 0 8px;
	line-height: 1.2;
}

/* Dielines block (ACF): palette + image-based cards */
.dielines-delivery-section .dielines-card.card-light {
	background: #ddf0d1;
}

.dielines-delivery-section .dielines-card.card-dark {
	background: #134b3f;
}

.dielines-delivery-section .dielines-featured-card {
	background: #cbedea;
}

.dielines-delivery-section .dielines-card,
.dielines-delivery-section .dielines-featured-card {
	border-radius: 30px;
}

.dielines-delivery-section .dielines-grid {
	gap: 24px;
	margin-bottom: 24px;
}

/* Match screenshot typography + spacing */
.dielines-delivery-section .dielines-card {
	min-height: 160px;
	padding: 26px 28px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.dielines-delivery-section .dielines-card-content {
	max-width: 340px;
}

.dielines-delivery-section .dielines-card h3 {
	margin: 0 0 8px;
	font-size: 18px;
	line-height: 24px;
	font-weight: 700;
	color: #121212;
}

.dielines-delivery-section .dielines-card p {
	margin: 0;
	font-size: 13px;
	line-height: 20px;
	color: rgba(18, 18, 18, 0.7);
}

.dielines-delivery-section .dielines-card.card-dark h3 {
	color: #ffffff;
}

.dielines-delivery-section .dielines-card.card-dark p {
	color: rgba(255, 255, 255, 0.78);
}

.dielines-delivery-section .dielines-card-art--image img {
	max-width: 170px;
	border-radius: 12px;
}

.dielines-delivery-section .dielines-featured-card {
	overflow: hidden;
	min-height: 320px;
}

.dielines-delivery-section .dielines-featured-media {
	width: 50%;
}

.dielines-delivery-section .dielines-featured-content {
	width: 40%;
	padding: 36px 34px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	text-align: left;
	gap: 10px;
}

.dielines-delivery-section .dielines-featured-content h3 {
	margin: 0;
	font-size: 22px;
	line-height: 28px;
	font-weight: 700;
	color: #121212;
}

.dielines-delivery-section .dielines-featured-content p {
	margin: 0;
	font-size: 14px;
	line-height: 22px;
	color: rgba(18, 18, 18, 0.7);
	max-width: 360px;
}

.dielines-delivery-section .dielines-featured-cta {
	text-decoration: none;
	margin-top: 6px;
	align-self: flex-start;
}

.dielines-card-art--image {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.dielines-card-art--image img {
	width: 100%;
	max-width: 200px;
	height: auto;
	border-radius: 16px;
	object-fit: cover;
	display: block;
}

.dielines-card-placeholder {
	display: block;
	width: 180px;
	height: 120px;
	border-radius: 16px;
	background: linear-gradient(
		135deg,
		rgba(255, 255, 255, 0.6),
		rgba(18, 60, 43, 0.08)
	);
}

.dielines-card-placeholder--dark {
	background: linear-gradient(
		135deg,
		rgba(255, 255, 255, 0.12),
		rgba(0, 0, 0, 0.15)
	);
}

.dielines-featured-media--image {
	display: flex;
	align-items: stretch;
}
.dielines-featured-media--image img {
	width: 100%;
	height: 460px;
	min-height: 460px;
	object-fit: contain;
	display: block;
	padding-top: 19px;
	padding-bottom: 19px;
}

.dielines-featured-placeholder {
	width: 100%;
	min-height: 320px;
	background: linear-gradient(145deg, #def4f0 0%, #b8ddd9 100%);
}

.dielines-featured-cta svg {
	transition: transform 0.2s ease;
}

.dielines-featured-cta:hover svg {
	transform: translateX(3px);
}

.dielines-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-bottom: 18px;
}

.dielines-card {
	border-radius: 20px;
	min-height: 180px;
	padding: 30px 28px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
}

.dielines-card.card-light {
	background: #cfe3bc;
}

.dielines-card.card-dark {
	background: #145246;
}

.dielines-card-content {
	flex: 1;
	max-width: 320px;
}

.dielines-card h3 {
	margin: 0 0 10px;
	font-size: 36px;
	line-height: 40px;
	font-weight: 800;
}

.dielines-card p {
	margin: 0;
	color: #121212b3;
	font-size: 18px;
	line-height: 28px;
}

.dielines-card.card-dark h3 {
	color: #ffffff;
}

.dielines-card.card-dark p {
	color: #ffffffcc;
}

.dielines-card-art {
	width: 180px;
	flex-shrink: 0;
	display: grid;
	gap: 8px;
}

/* Use screenshot sprite slices for exact visuals */
.dielines-artwork {
	grid-template-columns: 1fr;
}

.dielines-artwork span {
	display: block;
	width: 180px;
	height: 95px;
	border-radius: 0;
	background-image: url("../images/dielines-section-sprite.png");
	background-repeat: no-repeat;
	background-size: 1024px 768px;
	background-position: -326px -174px;
	box-shadow: none;
}

.dielines-samples {
	grid-template-columns: repeat(2, 1fr);
	gap: 6px;
}

.dielines-samples span {
	display: block;
	width: 68px;
	height: 46px;
	border-radius: 6px;
	background-image: url("../images/dielines-section-sprite.png");
	background-repeat: no-repeat;
	background-size: 1024px 768px;
	border: 0;
}

.dielines-samples span:nth-child(1) {
	background-position: -812px -176px;
}

.dielines-samples span:nth-child(2) {
	background-position: -888px -176px;
}

.dielines-samples span:nth-child(3) {
	background-position: -812px -225px;
}

.dielines-samples span:nth-child(4) {
	background-position: -888px -225px;
}

.dielines-featured-card {
	background: #d1ece9;
	border-radius: 20px;
	display: flex;
	align-items: stretch;
	overflow: hidden;
	min-height: 360px;
}

.dielines-featured-media {
	width: 58%;
	position: relative;
	overflow: hidden;
}

.pack-shot {
	position: absolute;
	background-image: url("../images/dielines-section-sprite.png");
	background-repeat: no-repeat;
	background-size: 1024px 768px;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.pack-shot-open {
	width: 244px;
	height: 268px;
	left: 122px;
	bottom: 35px;
	background-position: -67px -422px;
}

.pack-shot-tall {
	width: 158px;
	height: 176px;
	left: 267px;
	bottom: 195px;
	background-position: -289px -368px;
}

.pack-shot-small {
	width: 110px;
	height: 121px;
	left: 297px;
	bottom: 31px;
	background-position: -304px -570px;
}

.dielines-featured-content {
	width: 42%;
	padding: 50px 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.dielines-featured-content h3 {
	margin-bottom: 12px;
	font-size: 36px;
	line-height: 40px;
	font-weight: 800;
}

.dielines-featured-content p {
	margin-bottom: 22px;
	color: #121212b3;
	font-size: 18px;
	line-height: 28px;
}

.premium-finishes-section {
	padding: 72px 0;
	background: #ffffff;
}

.premium-finishes-header {
	text-align: center;
	margin-bottom: 28px;
}

.premium-finishes-header :is(h1, h2, h3) {
	font-size: 36px;
	line-height: 1.2;
	letter-spacing: -0.2px;
	margin-bottom: 10px;
	font-weight: 800;
}

.premium-finishes-header p {
	color: #666;
	font-size: 16px;
	line-height: 1.45;
	margin: 0;
}

.finishes-tabs {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
	gap: 8px;
	background: #e9efe1;
	border-radius: 10px;
	padding: 8px;
	margin-bottom: 28px;
}

.finishes-tab {
	appearance: none;
	border: 0;
	background: transparent;
	cursor: pointer;
	text-align: center;
	border-radius: 8px;
	padding: 10px 8px;
	font-size: 14px;
	line-height: 1.2;
	color: #4a4a4a;
	font-weight: 500;
}

.finishes-tab.active {
	background: #87cd37;
	color: #121212;
	font-weight: 700;
}

.finishes-panels {
	position: relative;
}

.finishes-panel {
	display: none;
}

.finishes-panel.is-active {
	display: block;
}

.finishes-empty {
	text-align: center;
	color: #666;
	margin: 2rem 0;
	font-size: 16px;
}

/* Specification tab: render full post HTML content from the editor */
.finishes-spec-content {
	padding: 6px 0 0;
}

.finishes-spec-content > p:empty {
	display: none;
}

/* Reusable .spec-table snippet (paste in Custom HTML block) */
.spec-table {
	--spec-bullet: #121a2b;
	--spec-label: #121a2b;
	--spec-value: #2b3340;
	--spec-row-gap: 18px;
	--spec-col-gap: 80px;
	--spec-label-w: 220px;
	font-family: inherit;
	color: var(--spec-value);
}

.spec-table .spec-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: var(--spec-col-gap);
	row-gap: var(--spec-row-gap);
	padding: 6px 0 0;
}

.spec-table .spec-row {
	display: grid;
	grid-template-columns: minmax(180px, var(--spec-label-w)) minmax(0, 1fr);
	gap: 24px;
	align-items: start;
	break-inside: avoid;
}

.spec-table .spec-label {
	position: relative;
	padding-left: 18px;
	font-size: 14px;
	font-weight: 700;
	color: var(--spec-label);
	line-height: 1.5;
}

.spec-table .spec-label::before {
	content: "";
	position: absolute;
	left: 0;
	top: 8px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--spec-bullet);
}

.spec-table .spec-value {
	font-size: 14px;
	line-height: 1.55;
	color: var(--spec-value);
}

@media (max-width: 1100px) {
	.spec-table {
		--spec-col-gap: 40px;
		--spec-label-w: 180px;
	}
}

@media (max-width: 768px) {
	.spec-table .spec-grid {
		grid-template-columns: 1fr;
		column-gap: 0;
		row-gap: 14px;
	}
}

@media (max-width: 520px) {
	.spec-table .spec-row {
		grid-template-columns: 1fr;
		gap: 4px;
	}
	.spec-table .spec-label {
		font-size: 13px;
	}
	.spec-table .spec-value {
		font-size: 13px;
		padding-left: 18px;
	}
}

.finish-item-image--photo {
	background-image: none;
	height: auto;
	min-height: 0;
	margin-bottom: 12px;
}

.finish-item-image--photo img {
	width: 100%;
	height: 182px;
	object-fit: cover;
	border-radius: 24px;
	display: block;
}

.finish-item-image--placeholder {
	background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
	background-image: none;
}

.finishes-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 30px 18px;
}

.finish-item-image {
	width: 100%;
	height: 182px;
	border-radius: 24px;
	background-image: url("../Section__3_-de4680c0-d0d6-44ff-b80e-ca0a0cb9d2e7.png");
	background-repeat: no-repeat;
	background-size: 1024px 682px;
	margin-bottom: 12px;
}

.finish-item h3 {
	margin: 0 0 8px;
	font-size: 16px;
	line-height: 24px;
	font-weight: 600;
}

.finish-item p {
	margin: 0;
	color: #666;
	font-size: 12px;
	line-height: 20px;
}

.finish-item-image.img-1 {
	background-position: -56px -186px;
}

.finish-item-image.img-2 {
	background-position: -307px -186px;
}

.finish-item-image.img-3 {
	background-position: -539px -186px;
}

.finish-item-image.img-4 {
	background-position: -770px -186px;
}

.finish-item-image.img-5 {
	background-position: -56px -402px;
}

.finish-item-image.img-6 {
	background-position: -307px -402px;
}

.finish-item-image.img-7 {
	background-position: -539px -402px;
}

.finish-item-image.img-8 {
	background-position: -770px -402px;
}

.product-gallary-section {
	--pgs-sprite: url("../Section__4_-670196dc-ea22-40bd-a090-706e3dbc479b.png");
	padding: 56px 0;
}

.product-gallary-wrap {
	display: grid;
	grid-template-columns: 47% 53%;
	gap: 34px;
	align-items: start;
}

.pgs-left,
.pgs-right {
	min-width: 0;
}

.pgs-gallery {
	display: grid;
	grid-template-columns: 90px 1fr;
	gap: 12px;
	margin-bottom: 10px;
}

.pgs-thumbs {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.pgs-thumb {
	appearance: none;
	border: 2px solid transparent;
	border-radius: 6px;
	padding: 0;
	background: transparent;
	cursor: pointer;
}

.pgs-thumb.active {
	border-color: #87cd37;
}

.pgs-thumb-img {
	display: block;
	width: 86px;
	height: 63px;
	border-radius: 4px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	background-color: #f2f2f2;
}

.pgs-thumb-img.t1 {
	background-position: -59px -45px;
}

.pgs-thumb-img.t2 {
	background-position: -60px -117px;
}

.pgs-thumb-img.t3 {
	background-position: -60px -190px;
}

.pgs-thumb-img.t4 {
	background-position: -60px -262px;
}

.pgs-main {
	position: relative;
	border-radius: 7px;
	overflow: hidden;
	min-height: 320px;
	aspect-ratio: 16 / 9;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pgs-main-img {
	width: 100%;
	height: 100%;
	max-height: 340px;
	object-fit: contain;
	background: transparent;
}

.pgs-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 30px;
	height: 30px;
	border: 0;
	border-radius: 2px;
	background: rgba(19, 75, 63, 0.45);
	color: #fff;
	cursor: pointer;
	z-index: 2;
}

.pgs-nav.prev {
	left: 0px;
}

.pgs-nav.next {
	right: 0px;
}

.pgs-help-box {
	background: #dceac9;
	border-radius: 6px;
	padding: 22px 22px;
}

.pgs-help-box h3 {
	font-size: 20px;
	line-height: 1.3;
	margin-bottom: 8px;
}

.pgs-help-box p {
	margin: 0 0 1rem;
	font-size: 0.95rem;
	line-height: 1.55;
	color: #272626;
	font-size: 15px;
	line-height: 1.5;
	margin-bottom: 8px;
}

.pgs-help-box a {
	text-decoration: underline;
	color: #121212;
	font-size: 15px;
}

.pgs-delivery-strip {
	margin-top: 10px;
	display: flex;
	align-items: center;
	gap: 14px;
}

.pgs-truck {
	width: 66px;
	height: 25px;
	display: inline-block;
	background-image: var(--pgs-sprite);
	background-repeat: no-repeat;
	background-size: 1024px 644px;
	background-position: -63px -531px;
}

.pgs-estimate {
	font-size: 12px;
	color: #666;
}

.pgs-delivery-strip .btn-primary {
	margin-left: auto;
	padding: 10px 16px;
	font-size: 14px;
	border-radius: 8px;
	white-space: nowrap;
	/* width: 100%; */
	margin-top: 1rem;
	padding: 14px 14px;
	font-size: 1.05rem;
	justify-content: center;
	border-radius: 6px;
}

.pgs-sku {
	color: #87cd37;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.4px;
	margin: 0 0 6px;
}

.pgs-product-title {
	font-size: 48px;
	line-height: 1.15;
	margin: 4px 0 12px;
	font-weight: 800;
}

.pgs-lead {
	font-size: 15px;
	line-height: 1.6;
	margin-bottom: 16px;
	color: #5f6b74;
}

.pgs-form {
	margin-top: 10px;
}

.pgs-form-section-label {
	display: block;
	font-size: 12px;
	font-weight: 800;
	color: #222;
	margin: 0 0 8px;
}

.pgs-form label {
	display: block;
	font-size: 13px;
	font-weight: 700;
	margin-bottom: 6px;
}

.pgs-cols-4 {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.pgs-cols-2 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 16px;
	margin-top: 10px;
}

.pgs-cols-2--tight {
	margin-top: 12px;
}

.pgs-cols-2--bottom {
	margin-top: 12px;
	align-items: start;
}

.pgs-field input,
.pgs-field select,
.pgs-cols-4 input,
.pgs-cols-4 select,
.pgs-field textarea {
	width: 100%;
	height: 42px;
	border: 1px solid #a8a8a8;
	border-radius: 6px;
	padding: 10px 12px;
	font-size: 12px;
	color: #4e4e4e;
	background: #fff;
}

.pgs-field textarea {
	height: 140px;
	resize: none;
}

.pgs-upload {
	height: 140px;
	border: 1px dashed #cfcfcf;
	border-radius: 6px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 10px;
	background: #fff;
}

.pgs-upload-icon {
	width: 24px;
	height: 24px;
	display: inline-block;
	margin-bottom: 8px;
	background-image: var(--pgs-sprite);
	background-repeat: no-repeat;
	background-size: 1024px 644px;
	background-position: -856px -452px;
}

.pgs-upload p {
	margin: 0 0 4px;
	font-size: 13px;
}

.pgs-upload p span {
	color: #87cd37;
}

.pgs-upload small {
	font-size: 11px;
	color: #777;
}

.pgs-submit {
	width: 100%;
	margin-top: 12px;
	justify-content: center;
	padding: 14px 20px;
	border-radius: 6px;
}

.compare-section {
	padding: 0 0 64px;
}

.compare-head {
	background: #ffffff;
	padding: 24px 0 80px;
	margin-bottom: -42px;
}

.compare-title,
.compare-head :is(h1, h2, h3).compare-title {
	text-align: center;
	color: #121212;
	margin: 0;
	font-size: 36px;
	line-height: 40px;
	font-weight: 800;
	letter-spacing: 0;
}

.compare-title span,
.compare-title .text-primary {
	color: #16a34a;
}

.compare-table-wrap {
	background: #ffffff;
	border-radius: 12px;
	border: 1px solid #e2e8f0;
	overflow: hidden;
}

.compare-table {
	width: 100%;
	border-collapse: collapse;
}

.compare-table th,
.compare-table td {
	border: 1px solid #e2e8f0;
	padding: 11px 12px;
	font-size: 12px;
	color: #475569;
	vertical-align: top;
	line-height: 1.45;
}

.compare-table thead th {
	background: #f8fafc;
	text-align: left;
}

.compare-table thead th:first-child {
	width: 18%;
	text-transform: uppercase;
	font-size: 11px;
	letter-spacing: 0.6px;
	color: #64748b;
}

.compare-table thead th h3 {
	margin: 5px 0 2px;
	font-size: 16px;
	line-height: 1.15;
	font-weight: 700;
	color: #121212;
}

.compare-table thead th p {
	margin: 0;
	font-size: 11px;
	color: #475569;
	line-height: 1.35;
}

.compare-table thead th small {
	display: inline-block;
	text-transform: uppercase;
	font-size: 10px;
	letter-spacing: 0.5px;
	color: #64748b;
	background: #f1f5f9;
	border: 1px solid #e2e8f0;
	border-radius: 4px;
	padding: 2px 6px;
}

.compare-table thead th .tag-premium {
	color: #16a34a;
}

.compare-table tbody th {
	background: #f8fafc;
	font-weight: 600;
	color: #475569;
	text-align: left;
}

.compare-table tbody tr:nth-child(even) td,
.compare-table tbody tr:nth-child(even) th {
	background: #fbfdff;
}

.compare-table tbody tr:nth-child(2) td {
	font-style: italic;
}

.compare-table .badge {
	display: inline-block;
	background: #edf2ee;
	border: 1px solid #d7dfd8;
	border-radius: 4px;
	padding: 2px 7px;
	font-size: 11px;
	line-height: 1.25;
	color: #50626c;
}

.compare-table .ok {
	color: #4e9a7d;
	font-weight: 700;
}

.compare-table .no {
	color: #d64b4b;
	font-weight: 700;
}

/* Cost */
.cost-section {
	padding: 56px 0 10px;
	background: #ffffff;
}

.cost-title {
	text-align: center;
	color: #1c1c1c;
	font-size: 28px;
	font-weight: 800;
	margin-bottom: 18px;
}

.cost-table-wrap {
	border: 1px solid #e6e9ee;
	border-radius: 12px;
	background: #ffffff;
	overflow: hidden;
	margin: 0 auto;
	max-width: 1180px;
}

.cost-table {
	width: 100%;
	border-collapse: collapse;
}

.cost-table th,
.cost-table td {
	padding: 12px 18px;
	border-bottom: 1px solid #eceff3;
	font-size: 12px;
	color: #3f4f58;
	vertical-align: middle;
	text-align: left;
}

.cost-table thead th {
	background: #f7f8fb;
	font-weight: 700;
	color: #2f3d45;
}

.cost-table tbody tr:last-child td {
	border-bottom: 0;
}

.cost-amount {
	color: #87cd37;
	font-weight: 800;
	white-space: nowrap;
}

.reimbursement-box {
	margin: 22px auto 0;
	max-width: 1180px;
	background: #87cd37;
	border-radius: 12px;
	padding: 28px 28px 26px;
	color: #1c1c1c;
}

.reimbursement-box h3 {
	margin: 0 0 10px;
	font-size: 18px;
	font-weight: 800;
}

.reimbursement-box p {
	margin: 0;
	font-size: 13px;
	line-height: 1.6;
	color: #1c1c1c;
}

/* Revisions & Redesigns */
.revisions-section {
	padding: 64px 0;
	background: #ffffff;
}

.revisions-title {
	text-align: center;
	color: #121212;
	font-size: 34px;
	font-weight: 800;
	margin: 0 0 40px;
	line-height: 1.15;
}

.revisions-title span,
.revisions-title .text-primary {
	color: #16a34a;
}

.revisions-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px;
	align-items: start;
}

.revision-card {
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	background: #ffffff;
	padding: 28px 28px 26px;
}

/* Apply alternate styling only to the 2nd card */
.revisions-grid .revision-card:nth-child(2) {
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background: #f8fafc;
	padding: 28px 28px 26px;
}

.revision-card h3 {
	font-size: 18px;
	font-weight: 800;
	margin: 0 0 10px;
	color: #121212;
}

.revision-card p {
	margin: 0 0 16px;
	font-size: 16px;
	line-height: 24px;
	color: #475569;
}

.revision-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.revision-list li {
	position: relative;
	padding-left: 18px;
	font-size: 13px;
	line-height: 1.55;
	color: #475569;
}

.revision-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 9px;
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: #94a3b8;
}

.makers-section {
	background: #ffffff;
	padding: 42px 0 64px;
}

.makers-wrap {
	display: grid;
	grid-template-columns: 320px 1fr;
	gap: 34px;
	align-items: start;
}

.makers-sidebar {
	color: #1c1c1c;
	padding: 8px 10px 0 0;
}

.makers-grid,
.makers-card,
.makers-sidebar,
.makers-filter-pill,
.makers-filter-block {
	pointer-events: auto;
	visibility: visible;
}

.makers-filter-pill {
	display: none;
}

.makers-products-title {
	font-size: 14px;
	font-weight: 700;
	color: #1c1c1c;
	margin-bottom: 12px;
}

.makers-products-title span {
	font-weight: 600;
	color: #7a7a7a;
}

.makers-products-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.makers-prod-item {
	font-size: 14px;
	color: #1c1c1c;
}

.makers-prod-active {
	font-weight: 700;
}

.makers-category-group {
	margin-top: 16px;
}

.makers-category-pill {
	display: inline-block;
	background: #edf4e2;
	color: #87cd37;
	font-weight: 700;
	font-size: 13px;
	padding: 8px 16px;
	border-radius: 999px;
	margin-bottom: 14px;
}

.makers-category-items {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding-left: 6px;
}

.makers-sidebar-heading {
	margin-top: 24px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.6px;
	color: #7a7a7a;
	text-transform: uppercase;
	margin-bottom: 12px;
}

.makers-industry-title {
	margin-top: 20px;
}

.makers-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding-left: 2px;
}

.makers-tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #ffffff;
	border: 1px solid #ececec;
	border-radius: 999px;
	padding: 6px 14px;
	font-size: 12px;
	color: #3b3b3b;
	font-weight: 600;
}

.makers-industry-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding-left: 2px;
}

.makers-radio-item {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	color: #1c1c1c;
	cursor: pointer;
	user-select: none;
}

.makers-radio-item input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.makers-radio-ui {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	border: 1px solid #d6d6d6;
	background: #fff;
	display: inline-block;
	position: relative;
}

.makers-radio-item input:checked + .makers-radio-ui {
	border-color: #87cd37;
}

.makers-radio-item input:checked + .makers-radio-ui::after {
	content: "";
	position: absolute;
	inset: 3px;
	border-radius: 50%;
	background: #87cd37;
}

.makers-filter-block {
	background: #ffffff;
	border-radius: 14px;
	padding: 18px 16px;
	margin-bottom: 16px;
	border: 1px solid #e6e6e6;
}

.makers-filter-block h3 {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.6px;
	color: #3e3e3e;
	margin-bottom: 10px;
}

.makers-check {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
	font-size: 12px;
	color: #404040;
}

.makers-check input {
	accent-color: #87cd37;
}

.makers-apply {
	width: 100%;
	margin-top: 8px;
	justify-content: center;
}

.makers-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 26px 22px;
}

.makers-card h3 {
	color: #2b2b2b;
	font-size: 12px;
	font-weight: 600;
	margin-top: 10px;
	text-align: left;
}

.makers-card-cta {
	display: inline-block;
	color: #87cd37;
	font-weight: 500;
	font-size: 12px;
	margin-top: 10px;
}

.latest-insights-section {
	padding: 56px 0 64px;
	background: #ffffff;
}

.latest-insights-title {
	font-size: 28px;
	font-weight: 800;
	margin-bottom: 28px;
	color: #1c1c1c;
}

.latest-insights-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 26px;
}

.insight-card {
	border-radius: 16px;
	background: #ffffff;
	overflow: hidden;
}

.insight-media {
	display: block;
	border-radius: 16px;
	overflow: hidden;
}

.insight-media img,
.insight-thumb-img {
	width: 100%;
	height: 175px;
	object-fit: cover;
	background: #f3f3f3;
	display: block;
}

.insight-media-fallback {
	width: 100%;
	height: 175px;
	background: #f3f3f3;
}

.insight-body {
	padding: 16px 14px 14px;
	background: #f4f6f8;
	border-radius: 0 0 16px 16px;
}

.insight-category {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.6px;
	color: var(--color-primary);
	margin-bottom: 10px;
	text-transform: uppercase;
}

.insight-title {
	font-size: 14px;
	margin: 0 0 12px;
	line-height: 1.4;
	font-weight: 800;
}

.insight-title a {
	color: #1c1c1c;
	display: -webkit-box;
	line-clamp: 2;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.insight-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 10px;
}

.insight-meta {
	display: flex;
	align-items: center;
	gap: 10px;
}

.insight-author-block {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.insight-author-name {
	font-size: 12px;
	font-weight: 700;
	color: #1c1c1c;
	line-height: 1.2;
}

.insight-avatar {
	width: 28px;
	height: 28px;
	flex-shrink: 0;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #1a2b4b;
	color: #ffffff;
	font-size: 9px;
	font-weight: 900;
	letter-spacing: 0.02em;
}

.insight-date {
	font-size: 11px;
	color: #6c7b86;
	font-weight: 600;
}

.insight-arrow {
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: #e8ecef;
	color: #1c1c1c;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	font-size: 14px;
	flex-shrink: 0;
}

.insight-arrow:hover {
	background: #dde3e7;
	color: var(--color-dark);
}

.latest-insights-load {
	display: flex;
	justify-content: center;
	margin-top: 34px;
}

.latest-load-btn {
	border: none;
	background: #f2f5f3;
	border-radius: 999px;
	padding: 10px 22px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	font-weight: 800;
	color: #3a4a52;
	text-decoration: none;
}

.latest-load-btn:hover {
	background: #e8ede9;
	color: #1c1c1c;
}

.latest-insights-empty {
	text-align: center;
	color: #6c7b86;
	font-size: 15px;
	padding: 24px 0;
}

.latest-load-btn svg {
	width: 18px;
	height: 18px;
}

/* What's Included */
.included-section {
	padding: 64px 0 56px;
	background: #ffffff;
}

.included-title {
	font-size: 34px;
	font-weight: 800;
	color: #1c1c1c;
	text-align: center;
	line-height: 1.15;
	margin-bottom: 40px;
}

.included-title span,
.included-title .text-primary {
	color: #6aa329;
}

.included-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
	max-width: 920px;
	margin: 0 auto;
}

.included-card {
	border-radius: 20px;
	padding: 28px 28px 26px;
}

.included-card--included {
	background: #ecfdf3;
}

.included-card--excluded {
	background: #fef2f2;
}

.included-card-title {
	font-size: 15px;
	font-weight: 800;
	color: #1c1c1c;
	margin: 0 0 14px;
}

.included-card--included .included-card-title {
	color: #166534;
}

.included-card--excluded .included-card-title {
	color: #991b1b;
}

.included-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 10px;
}

.included-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 14px;
	color: #2b2b2b;
	line-height: 1.55;
}

.included-icon {
	display: inline-flex;
	width: 20px;
	height: 20px;
	align-items: center;
	justify-content: center;
	font-weight: 900;
	flex-shrink: 0;
}

.included-icon img {
	width: 20px;
	height: 20px;
	object-fit: contain;
	display: block;
}

.included-icon--yes {
	color: #166534;
}

.included-icon--no {
	color: #991b1b;
}

.included-note {
	margin: 32px 0 0;
	font-size: 12px;
	color: #7a8792;
	line-height: 1.6;
	text-align: center;
	max-width: 100%;
}

/* Deliverables */
.deliverables-section {
	padding: 64px 0;
}

/* Before you Ask */
.before-ask-section {
	padding: 78px 0 70px;
	background: #ffffff;
}

.before-ask-header {
	text-align: center;
	max-width: 980px;
	margin: 0 auto 36px;
}

.before-ask-title {
	margin: 0 0 10px;
	font-size: 36px;
	font-weight: 900;
	line-height: 1.12;
	letter-spacing: -0.015em;
}

.before-ask-title span,
.before-ask-title .text-primary {
	color: var(--color-primary);
}

.before-ask-intro {
	margin: 0 auto;
	max-width: 980px;
	color: #5f6b63;
	font-size: 14px;
	line-height: 1.7;
}

.before-ask-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 26px 34px;
	max-width: 1100px;
	margin: 0 auto;
}

.before-ask-card {
	background: #f1f8e8;
	border-radius: 22px;
	padding: 30px 34px 28px;
	box-shadow: 0 0 0 1px rgba(19, 75, 63, 0.04) inset;
}

.before-ask-icon {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: rgba(135, 205, 55, 0.12);
	color: #134b3f;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
}

.before-ask-icon img {
	width: 20px;
	height: 20px;
	object-fit: contain;
}

.before-ask-card-title {
	margin: 0 0 10px;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.25;
	color: #121212;
}

.before-ask-card-desc {
	margin: 0;
	color: #5f6b63;
	font-size: 13px;
	line-height: 1.7;
}

.deliverables-title {
	text-align: center;
	font-size: 30px;
	font-weight: 800;
	color: #1c1c1c;
	line-height: 1.15;
	margin-bottom: 24px;
}

.deliverables-box {
	background: #f1f8e8;
	border-radius: 16px;
	padding: 18px 28px 18px 22px;
	position: relative;
	overflow: hidden;
	margin: 0 auto;
}

.deliverables-box::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 6px;
	background: #87cd37;
	border-radius: 16px 0 0 16px;
}

.deliverables-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 0;
	position: relative;
	z-index: 1;
}

.deliverables-num {
	width: 22px;
	height: 22px;
	border-radius: 999px;
	background: #87cd37;
	color: #ffffff;
	font-weight: 900;
	font-size: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.deliverables-text {
	color: #1c1c1c;
	font-size: 14px;
	line-height: 1.55;
}

.makers-card-img {
	border-radius: 14px;
	background-image: url("../Main-92c8dc7d-5b19-45fb-bb25-84eabe58c832.png");
	background-repeat: no-repeat;
	background-size: 706px 1024px;
	background-color: #f0f0f0;
	height: 128px;
}

.makers-card-img.c1 {
	background-position: -280px -80px;
}
.makers-card-img.c2 {
	background-position: -440px -80px;
}
.makers-card-img.c3 {
	background-position: -600px -80px;
}
.makers-card-img.c4 {
	background-position: -280px -260px;
}
.makers-card-img.c5 {
	background-position: -440px -260px;
}
.makers-card-img.c6 {
	background-position: -600px -260px;
}
.makers-card-img.c7 {
	background-position: -280px -440px;
}
.makers-card-img.c8 {
	background-position: -440px -440px;
}
.makers-card-img.c9 {
	background-position: -600px -440px;
}

.packaging-solutions-section {
	--ps-sprite: url("../Section__5_-c43878ba-09ff-43e3-b862-9364fde7b5f5.png");
	padding: 64px 0 56px;
}

.ps-header {
	text-align: center;
	max-width: 1120px;
	margin: 0 auto 34px;
}

.ps-badge {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	background: #e6f4d5;
	color: #7dac34;
	font-size: 10px;
	letter-spacing: 0.8px;
	font-weight: 700;
}

.ps-header :is(h1, h2, h3) {
	margin: 12px 0 8px;
	font-size: 52px;
	line-height: 1.12;
	letter-spacing: -0.3px;
}

.ps-icon.ps-icon--image {
	background-image: none;
	line-height: 0;
}

.ps-icon.ps-icon--image img {
	width: 68px;
	height: 68px;
	object-fit: contain;
	display: block;
}

.ps-header p {
	margin: 0 auto;
	font-size: 13px;
	line-height: 1.5;
	color: #5f6b74;
	max-width: 980px;
}

.ps-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 42px 36px;
}

.ps-item {
	text-align: center;
}

.ps-icon {
	width: 68px;
	height: 68px;
	display: inline-block;
	margin-bottom: 14px;
	background-image: var(--ps-sprite);
	background-repeat: no-repeat;
	background-size: 1024px 554px;
}

.ps-icon.i1 {
	background-position: -163px -174px;
}
.ps-icon.i2 {
	background-position: -486px -174px;
}
.ps-icon.i3 {
	background-position: -810px -174px;
}
.ps-icon.i4 {
	background-position: -163px -352px;
}
.ps-icon.i5 {
	background-position: -486px -352px;
}
.ps-icon.i6 {
	background-position: -810px -352px;
}

.ps-item h3 {
	margin: 0 0 8px;
	font-size: 16px;
	line-height: 1.25;
	font-weight: 700;
}

.ps-item p {
	margin: 0 auto;
	max-width: 280px;
	color: #5f6b74;
	font-size: 12px;
	line-height: 1.5;
}

.launch-cta-section {
	padding: 56px 0;
}

.launch-cta-card {
	background: #85cd27;
	border-radius: 26px;
	padding: 56px 24px;
	text-align: center;
}

.launch-cta-card :is(h1, h2, h3) {
	margin: 0 0 16px;
	font-size: 36px;
	line-height: 1.1;
	letter-spacing: 0;
	color: #121212;
}

.launch-cta-card :is(h1, h2, h3) span {
	color: #ffffff;
}

.launch-cta-card p {
	margin: 0;
	font-size: 18px;
	line-height: 28px;
	color: rgba(18, 18, 18, 0.7);
	max-width: 520px;
	margin-left: auto;
	margin-right: auto;
}

.launch-cta-actions {
	display: flex;
	justify-content: center;
	gap: 14px;
	margin-top: 24px;
}

/* Custom Boxes page — static info columns above pre-footer */
.custom-boxes-footer-columns {
	padding: 48px 0 32px;
	background: #f7f8f7;
}

.custom-boxes-footer-columns .cfc-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px;
}

.custom-boxes-footer-columns h3 {
	font-size: 18px;
	font-weight: 800;
	margin: 0 0 12px;
	color: #1c1c1c;
}

.custom-boxes-footer-columns p,
.custom-boxes-footer-columns li {
	font-size: 14px;
	line-height: 1.55;
	color: #5f6b74;
}

.custom-boxes-footer-columns ul {
	margin: 0;
	padding-left: 1.1rem;
}

@media only screen and (max-width: 768px) {
	.custom-boxes-footer-columns .cfc-grid {
		grid-template-columns: 1fr;
	}
}

.launch-btn-primary {
	background: #134b3f;
	color: #ffffff;
	min-width: 196px;
	min-height: 48px;
	padding: 12px 24px;
	font-size: 14px;
	border-radius: 12px;
}

.launch-btn-primary:hover {
	background: #0f3d34;
	color: #ffffff;
}

.launch-btn-white {
	background: #ffffff;
	border-color: #d7d7d7;
	color: #121212;
	min-width: 196px;
	min-height: 48px;
	padding: 12px 24px;
	font-size: 14px;
	border-radius: 12px;
}

.split-section.bg-light {
	background-color: #fdf3e8;
	display: flex;
	align-items: center;
}

.split-inner {
	display: flex;
	align-items: center;
	gap: var(--spacing-xl);
}

/* .split-inner.reverse {
flex-direction: row-reverse;
} */
section.split-section.cbd-oil-packaging {
	background-color: var(--color-bg-cbd-oil-split);
	display: flex;
	flex-direction: row;
	align-items: center;
}

.split-image,
.split-content {
	flex: 1;
}

.split-content {
	padding: 30px 0;
}

.split-content p {
	font-size: 16px;
	line-height: 26px;
	color: var(--color-dark);
}

.split-content :is(h1, h2, h3, h4, h5, h6) {
	font-size: 36px;
	line-height: 40px;
	font-weight: 800;
}

.feature-list {
	margin: var(--spacing-md) 0;
}

.feature-list li {
	margin-bottom: 0.5rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 500;
	font-size: 16px;
	line-height: 32px;
	color: var(--color-dark);
}

.feature-list i.icon-check {
	display: inline-block;
	width: 24px;
	height: 24px;
	background-image: url("https://palevioletred-rhinoceros-537749.hostingersite.com//wp-content/uploads/2026/03/Overlay.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.feature-list img.feature-list__icon {
	display: block;
	width: 24px;
	height: 24px;
	object-fit: contain;
	flex-shrink: 0;
}

.quote-split-section {
	padding: 56px 0;
}

.quote-split-wrap {
	display: grid;
	grid-template-columns: 50% 50%;
	gap: 20px;
	align-items: stretch;
}

.quote-split-media {
	border-radius: 10px;
	min-height: 730px;
	background-image: url("../Section__6_-932a4622-6317-45f8-97bc-7e85a47d3ff4.png");
	background-repeat: no-repeat;
	background-size: 1024px 660px;
	background-position: -56px -41px;
	background-color: #dbe3ea;
}

.quote-split-form-side h2 {
	margin-bottom: 14px;
	font-size: 54px;
	line-height: 1.1;
}

.quote-split-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 12px;
}

.quote-split-form input,
.quote-split-form select,
.quote-split-form textarea {
	width: 100%;
	border: 1px solid #cdcdcd;
	border-radius: 8px;
	height: 42px;
	padding: 10px 14px;
	font-size: 12px;
	color: #6a6a6a;
	background: #fff;
}

.quote-split-form textarea {
	height: 168px;
	resize: none;
}

.quote-split-upload {
	height: 168px;
	border: 1px dashed #cecece;
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 10px;
}

.quote-split-upload h4 {
	margin-bottom: 10px;
	font-size: 31px;
	line-height: 1.15;
}

.quote-split-upload-icon {
	width: 20px;
	height: 20px;
	margin-bottom: 10px;
	background-image: url("../Section__6_-932a4622-6317-45f8-97bc-7e85a47d3ff4.png");
	background-repeat: no-repeat;
	background-size: 1024px 660px;
	background-position: -859px -482px;
}

.quote-split-upload p {
	margin: 0 0 3px;
	font-size: 13px;
}

.quote-split-upload p span {
	color: #6a9fd0;
	text-decoration: underline;
}

.quote-split-upload small {
	font-size: 11px;
	color: #737373;
}

.quote-split-submit {
	grid-column: 1 / -1;
	margin-top: 2px;
	justify-content: center;
	font-size: 16px;
	padding: 12px 20px;
}

.about-cbd-section {
	padding: 64px 0 56px;
}

.about-cbd-header {
	text-align: center;
	max-width: 1150px;
	margin: 0 auto 34px;
}

.about-cbd-header :is(h1, h2, h3) {
	margin: 0 0 10px;
	font-size: 54px;
	line-height: 1.12;
	letter-spacing: -0.3px;
}

.about-cbd-icon img {
	width: 22px;
	height: 22px;
	object-fit: contain;
	display: block;
}

.about-cbd-header p {
	margin: 0 auto;
	max-width: 970px;
	color: #606a73;
	font-size: 13px;
	line-height: 1.55;
}

.about-cbd-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 26px 24px;
}

.about-cbd-card {
	background: #edf3e7;
	border-radius: 22px;
	padding: 24px 24px 20px;
}

.about-cbd-icon {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: #e3edd8;
	color: #134b3f;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 12px;
}

.about-cbd-card h3 {
	margin: 0 0 8px;
	font-size: 16px;
	line-height: 1.3;
	font-weight: 700;
}

.about-cbd-card p {
	margin: 0;
	color: #606a73;
	font-size: 12px;
	line-height: 1.6;
	max-width: 95%;
}

.process-steps-section {
	padding: 48px 0 54px;
	background: #ffffff;
}

.process-steps-section h2 {
	text-align: center;
	color: #1c1c1c;
	margin-bottom: 30px;
	font-size: 34px;
	line-height: 1.15;
	font-weight: 800;
}

.process-steps-section h2 span {
	color: #87cd37;
}

.process-steps-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	justify-items: center;
}

.process-step-tag {
	display: inline-block;
	background: #87cd37;
	color: #145246;
	border-radius: 999px;
	padding: 5px 14px;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 12px;
}

.process-step h3 {
	color: #1c1c1c;
	margin: 0 0 6px;
	font-size: 12px;
	line-height: 1.25;
	font-weight: 700;
	text-align: center;
}

.process-step p {
	margin: 0;
	color: #6c7b86;
	font-size: 11px;
	line-height: 1.4;
	max-width: 160px;
	text-align: center;
}

.process-timeline-icon {
	width: 52px;
	height: 52px;
	border-radius: 999px;
	background: #f4f4f4;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.04);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #4b4b4b;
	margin: 0 auto 12px;
}

.process-timeline-icon svg {
	width: 22px;
	height: 22px;
	display: block;
}

.process-timeline-icon img {
	width: 22px;
	height: 22px;
	object-fit: contain;
	display: block;
}

.process-timeline-icon--ship {
	color: #145246;
}

.process-timeline-icon--specify,
.process-timeline-icon--order,
.process-timeline-icon--create {
	color: #6a6a6a;
}

/* Process & Timeline (match design screenshot) */
.cbd-section--process-timeline .process-step-tag {
	display: none;
}

.cbd-section--process-timeline .process-step {
	text-align: center;
}

.cbd-section--process-timeline .process-steps-heading,
.cbd-section--process-timeline
:is(h1, h2, h3, h4, h5, h6).process-steps-heading {
	text-align: center;
	color: #1e293b;
	margin-bottom: 56px;
	font-size: 34px;
	line-height: 1.15;
	font-weight: 800;
}

.cbd-section--process-timeline .process-steps-heading span,
.cbd-section--process-timeline .process-steps-heading .text-primary {
	color: #16a34a;
}

.cbd-section--process-timeline .process-steps-grid {
	gap: 96px;
}

.cbd-section--process-timeline .process-timeline-icon {
	width: 60px;
	height: 60px;
	margin-bottom: 14px;
	background: #f1f5f9;
	border: 0;
	box-shadow: 0 10px 26px rgba(18, 18, 18, 0.08);
}

.cbd-section--process-timeline .process-timeline-icon img,
.cbd-section--process-timeline .process-timeline-icon svg {
	width: 69px;
	height: 78px;
}

.cbd-section--process-timeline .process-step h3 {
	font-size: 14px;
	font-weight: 700;
	color: #121212;
	margin-bottom: 6px;
}

.cbd-section--process-timeline .process-step p {
	font-size: 12px;
	line-height: 1.45;
	max-width: 180px;
	color: #475569;
}

/* Smooth Process block (ACF) — dark strip */
.process-steps-section--smooth {
	padding: 64px 0;
	background: #1b3b2b;
}

.process-steps-section--smooth .process-steps-heading,
.process-steps-section--smooth :is(h1, h2, h3).process-steps-heading {
	text-align: center;
	color: #ffffff;
	margin: 0 0 2.5rem;
	font-size: clamp(1.75rem, 4vw, 2.25rem);
	font-weight: 800;
	line-height: 1.2;
	font-family: var(--font-heading);
}

.process-steps-section--smooth .process-steps-heading .text-primary {
	color: #9cd434;
}

.process-steps-section--smooth .process-steps-grid--smooth {
	justify-items: stretch;
	gap: 1.5rem 2rem;
}

.process-steps-section--smooth .process-step {
	text-align: left;
}

.process-steps-section--smooth .process-step-tag {
	background: #9cd434;
	color: #142a22;
	border-radius: 20px;
	padding: 4px 12px;
	margin-bottom: 15px;
	font-size: 13px;
	font-weight: 700;
}

.process-steps-section--smooth .process-step h3 {
	color: #ffffff;
	text-align: left;
	font-size: 1.125rem;
	line-height: 1.35;
	margin: 0 0 0.5rem;
	max-width: none;
}

.process-steps-section--smooth .process-step p {
	color: rgba(255, 255, 255, 0.88);
	text-align: left;
	font-size: 0.9375rem;
	line-height: 1.55;
	max-width: none;
}

.sample-kit-section {
	padding: 64px 0;
}

.sample-kit-wrap {
	display: grid;
	grid-template-columns: 48% 52%;
	gap: 32px;
	align-items: start;
}

.sample-kit-left :is(h1, h2, h3) {
	margin: 0 0 12px;
	font-size: 36px;
	line-height: 1.15;
	font-weight: 800;
	color: #121212;
}

.sample-kit-left :is(h1, h2, h3) .text-primary,
.sample-kit-left :is(h1, h2, h3) span {
	color: #16a34a;
}

.sample-kit-left > p {
	margin: 0 0 24px;
	color: #475569;
	font-size: 14px;
	line-height: 22px;
	max-width: 520px;
}

.sample-kit-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-bottom: 18px;
}

.sample-kit-card {
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	padding: 20px 20px 18px;
	background: #ffffff;
}

.sample-kit-card h3 {
	margin: 0 0 6px;
	font-size: 20px;
	line-height: 1.2;
	font-weight: 800;
	color: #121212;
}

.sample-kit-card h4 {
	margin: 0 0 10px;
	font-size: 16px;
	line-height: 24px;
	color: #166534;
	font-weight: 700;
}

.sample-kit-card p {
	margin: 0 0 14px;
	color: #475569;
	font-size: 14px;
	line-height: 22px;
}

.sample-kit-card .btn-white {
	width: 100%;
	max-width: 140px;
	padding: 10px 14px;
	font-size: 14px;
	border-radius: 10px;
	color: #145246;
}

.sample-kit-cta {
	padding: 12px 24px;
	font-size: 14px;
	min-height: 44px;
	border-radius: 12px;
}

.sample-kit-right {
	border-radius: 20px;
	min-height: 420px;
	background-image: url("../Section__9_-adc3b103-1c77-48df-a452-2c0b14167102.png");
	background-repeat: no-repeat;
	background-size: 1024px 483px;
	background-position: -496px -55px;
	background-color: #e8e2dd;
}

.sample-kit-right--acf {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.sample-recommendations-section {
	padding: 64px 0;
}

.sample-recommendations-heading,
.sample-recommendations-section :is(h1, h2, h3).sample-recommendations-heading {
	text-align: center;
	margin-bottom: 32px;
	font-size: 36px;
	line-height: 40px;
	font-weight: 800;
	color: #121212;
}

.sample-recommendations-heading span,
.sample-recommendations-heading .text-primary {
	color: #16a34a;
}

.sample-rec-list {
	max-width: 802px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.sample-rec-item {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	overflow: hidden;
}

.sample-rec-item summary {
	list-style: none;
	cursor: pointer;
	padding: 16px 18px;
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
	color: #121212;
	position: relative;
	padding-right: 44px;
}

.sample-rec-item summary::-webkit-details-marker {
	display: none;
}

.sample-rec-item summary::after {
	content: "";
	position: absolute;
	right: 18px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-right: 1.5px solid #475569;
	border-bottom: 1.5px solid #475569;
	transform: translateY(-60%) rotate(45deg);
	transition: transform 0.2s ease;
}

.sample-rec-item[open] summary::after {
	transform: translateY(-35%) rotate(-135deg);
}

.sample-rec-body {
	padding: 0 18px 14px;
	font-size: 14px;
	color: #475569;
	line-height: 1.6;
}

.contact-connect-section {
	--contact-sprite: url("../Main-8cf2ff44-f4fc-4b4e-b467-ea15446cd376.png");
	background: #f7f8f7;
	padding: 56px 0;
}

.contact-connect-top {
	display: grid;
	grid-template-columns: 40% 60%;
	gap: 24px;
	margin-bottom: 24px;
}

.contact-card {
	border-radius: 18px;
}

.contact-card-info {
	padding: 36px 34px;
	background-image:
		linear-gradient(180deg, rgba(19, 75, 63, 1), rgba(19, 75, 63, 1)),
		var(--contact-sprite);
	background-size: cover;
	background-position: left top;
	color: #ffffff;
}

.contact-card-info h2 {
	color: #ffffff;
	font-size: 48px;
	margin: 0 0 8px;
}

.contact-card-info > p {
	color: rgba(255, 255, 255, 0.9);
	font-size: 14px;
	line-height: 1.55;
	margin-bottom: 24px;
	max-width: 320px;
}

.contact-info-list {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.contact-info-item h3 {
	color: #87cd37;
	font-size: 12px;
	margin: 0 0 4px;
	letter-spacing: 0.6px;
}

.contact-info-item a,
.contact-info-item p {
	color: #ffffff;
	font-size: 14px;
	line-height: 1.45;
	margin: 0;
}

.contact-social {
	margin-top: 34px;
}

.contact-social > span {
	display: block;
	color: #ffffff;
	font-size: 14px;
	font-weight: 700;
	margin-bottom: 10px;
}

.contact-social-icons {
	display: flex;
	gap: 8px;
}

.contact-social-icons a {
	width: 30px;
	height: 30px;
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.14);
	color: #ffffff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	font-weight: 700;
}

.contact-card-form {
	background: #f4f5f6;
	padding: 30px 34px 26px;
	box-shadow: 0 18px 24px rgba(18, 26, 32, 0.32);
}

.contact-card-form h2 {
	margin: 0 0 6px;
	font-size: 54px;
	line-height: 1.1;
	color: #1c3348;
}

.contact-card-form > p {
	margin: 0 0 14px;
	color: #63717d;
	font-size: 14px;
}

.ccf-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px 14px;
}

.ccf-field label {
	display: block;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 4px;
	color: #3b4e5b;
}

.ccf-field input,
.ccf-field textarea {
	width: 100%;
	border: 1px solid #d8dde2;
	border-radius: 9px;
	background: #eef1f4;
	color: #4b5b67;
	font-size: 12px;
	padding: 10px 12px;
}

.ccf-message {
	margin-top: 10px;
}

.ccf-message textarea {
	min-height: 84px;
	resize: none;
}

.contact-connect-form .btn-primary {
	margin-top: 16px;
	width: 100%;
	justify-content: center;
	padding: 12px 20px;
}

.contact-map-wrap {
	border-radius: 18px;
	min-height: 268px;
	background-image: var(--contact-sprite);
	background-size: 1024px 924px;
	background-position: -112px -640px;
	position: relative;
	overflow: hidden;
}

.contact-map-overlay {
	width: 340px;
	max-width: calc(100% - 28px);
	background: rgba(255, 255, 255, 0.92);
	border-radius: 14px;
	text-align: center;
	padding: 28px 16px 20px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.contact-map-overlay h3 {
	margin: 0 0 8px;
	font-size: 33px;
	line-height: 1.2;
	color: #1c3348;
}

.contact-map-overlay p {
	margin: 0 0 14px;
	color: #445661;
	font-size: 13px;
	line-height: 1.5;
}

.contact-map-overlay a {
	color: #87cd37;
	font-size: 12px;
	font-weight: 700;
}

/* Get In Touch — form white, map teal fallback, social SVGs */
.get-in-touch-section.contact-connect-section {
	background: #ffffff;
}

.get-in-touch-section .contact-card {
	border-radius: 24px;
}

.get-in-touch-section .contact-card-form.get-in-touch-form-card {
	background: #ffffff;
	border-radius: 24px;
	box-shadow: 0 18px 40px rgba(18, 26, 32, 0.14);
	padding: 48px;
}

.get-in-touch-section .contact-card-form h2.get-in-touch-form-title {
	font-size: 36px;
	line-height: 40px;
	font-weight: 800;
	color: #0e2a47;
	margin: 0 0 6px;
}

.get-in-touch-section .contact-card-form > p {
	font-size: 16px;
	line-height: 24px;
	color: #64748b;
	margin: 0 0 18px;
}

.get-in-touch-section .ccf-field label {
	font-size: 16px;
	line-height: 24px;
	font-weight: 700;
	margin-bottom: 8px;
	color: #0e2a47;
}

.get-in-touch-section .ccf-field input,
.get-in-touch-section .ccf-field textarea {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 12px 11px;
	font-size: 14px;
	color: #0f172a;
}

.get-in-touch-section .ccf-field textarea {
	min-height: 120px;
}

.get-in-touch-section .contact-connect-form .btn-primary {
	background: #87cd37;
	border-radius: 12px;
	min-height: 56px;
	padding: 16px 12px;
	font-size: 16px;
	font-weight: 700;
	color: #ffffff;
	margin-top: 18px;
}

.get-in-touch-section .contact-connect-form .btn-primary:hover {
	background: #78b92f;
	color: #ffffff;
}

.get-in-touch-section .contact-social-icons a.get-in-touch-social-link {
	width: 36px;
	height: 36px;
	font-size: 0;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.18);
	border: 1px solid rgba(255, 255, 255, 0.12);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.get-in-touch-section .contact-social-icons a.get-in-touch-social-link:hover {
	background: rgba(255, 255, 255, 0.26);
}

.get-in-touch-section
.contact-social-icons
a.get-in-touch-social-link.is-disabled {
	opacity: 0.55;
	pointer-events: none;
}

.get-in-touch-section .contact-social-icons a.get-in-touch-social-link svg {
	display: block;
}

.get-in-touch-map:not([style*="background-image"]) {
	background: linear-gradient(
		145deg,
		#7bb7b6 0%,
		#4a9e9c 35%,
		#2d6f72 75%,
		#1a4a4e 100%
	);
	background-size: cover;
}

.get-in-touch-section .contact-map-wrap.get-in-touch-map {
	border-radius: 24px;
	min-height: 360px;
	background-size: cover;
	background-position: center;
	position: relative;
	overflow: hidden;
}

/* Map background fallback (when no ACF map image is provided) */
.get-in-touch-section
.contact-map-wrap.get-in-touch-map:not([style*="background-image"]) {
	background: linear-gradient(
		145deg,
		#7bb7b6 0%,
		#4a9e9c 35%,
		#2d6f72 75%,
		#1a4a4e 100%
	);
	background-size: cover;
	background-position: center;
}

.get-in-touch-section .get-in-touch-map-iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.get-in-touch-section .contact-map-overlay.get-in-touch-map-overlay {
	width: 420px;
	max-width: calc(100% - 56px);
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid rgba(226, 232, 240, 0.85);
	border-radius: 16px;
	box-shadow: 0 18px 40px rgba(18, 26, 32, 0.14);
	padding: 32px 20px 24px;
}

.get-in-touch-section .contact-map-overlay.get-in-touch-map-overlay h3 {
	font-size: 30px;
	line-height: 36px;
	font-weight: 700;
	color: #0e2a47;
}

.get-in-touch-section .contact-map-overlay.get-in-touch-map-overlay p {
	font-size: 14px;
	line-height: 22px;
	color: #4b5563;
}

.get-in-touch-section .get-in-touch-maps-link {
	margin-top: 4px;
	font-size: 12px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	gap: 8px;
	color: #87cd37;
}

.get-in-touch-map-overlay .get-in-touch-map-pin {
	display: flex;
	justify-content: center;
	margin: 0 0 8px;
	color: #87cd37;
}

.get-in-touch-maps-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	text-decoration: none;
	letter-spacing: 0.04em;
}

.get-in-touch-maps-link:hover {
	text-decoration: underline;
}

.facilitate-section {
	padding: 54px 0 58px;
	/*   background-image:
	linear-gradient(rgba(20, 79, 68, 0.9), rgba(20, 79, 68, 0.9)),
	var(
	--facilitate-bg,
	url("../Section__10_-2a39b481-5914-427f-a455-88bf477cd56a.png")
	);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center; */
}

.facilitate-header {
	text-align: center;
	margin-bottom: 28px;
}

.facilitate-header h2 {
	color: #ffffff;
	margin: 0;
	font-size: clamp(32px, 3.2vw, 48px);
	line-height: 1.15;
	font-weight: 800;
	letter-spacing: -0.02em;
	white-space: nowrap;
}

.facilitate-header .facilitate-underline {
	display: block;
	width: 100%;
	max-width: 240px;
	height: 6px;
	border-radius: 6px;
	background: #87cd37;
	margin: 14px auto 0;
}

.facilitate-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.facilitate-card {
	background: rgba(29, 92, 78, 0.5);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 14px;
	padding: 22px 22px 20px;
}

.facilitate-card i {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #87cd37;
	margin-bottom: 12px;
}

.facilitate-card i img {
	width: 24px;
	height: 24px;
	object-fit: contain;
	display: block;
	filter: brightness(0) saturate(100%) invert(61%) sepia(90%) saturate(402%)
		hue-rotate(42deg) brightness(93%) contrast(90%);
}

.facilitate-card h3 {
	margin: 0 0 8px;
	color: #ffffff;
	font-family: var(--font-heading);
	font-size: 16px;
	line-height: 24px;
	font-weight: 700;
}

.facilitate-card p {
	margin: 0;
	color: rgba(226, 236, 232, 0.94);
	font-family: var(--font-main);
	font-size: 14px;
	line-height: 22px;
	max-width: 250px;
}

.tiles-expertise-section {
	padding: 64px 0 70px;
	background: #ffffff;
}

.tiles-expertise-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 56px;
}

.tiles-expertise-side {
	flex: 1;
	max-width: 330px;
	display: flex;
	flex-direction: column;
	gap: 46px;
}

.tiles-expertise-feature h3 {
	margin: 10px 0 8px;
	font-size: 16px;
	line-height: 1.25;
	color: #134b3f;
	font-weight: 800;
}

.tiles-expertise-feature p {
	color: #5f6b74;
	font-size: 13px;
	line-height: 1.65;
	margin: 0;
	max-width: 280px;
}

.tiles-expertise-icon {
	width: 44px;
	height: 44px;
	border-radius: 14px;
	background: #eff7ea;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #87cd37;
	flex-shrink: 0;
}

.tiles-expertise-center {
	flex: 0 0 420px;
	display: flex;
	justify-content: center;
}

.tiles-expertise-center-grid {
	width: 420px;
	max-width: 100%;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 16px;
}

.tiles-center-tile {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	height: 170px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.tiles-tile-illustration {
	width: 115%;
	height: 115%;
	transform: translateY(2px);
	display: block;
}

.tiles-tile-books {
	background: #e9d1b1;
}

.tiles-tile-gift {
	background: #e0c5a2;
}

.tiles-tile-solid-green {
	background: #87cd37;
}

.tiles-tile-boxes {
	background: #134b3f;
}

@media only screen and (max-width: 1100px) {
	.tiles-expertise-inner {
		gap: 34px;
	}

	.tiles-expertise-center {
		flex-basis: 380px;
	}

	.tiles-expertise-center-grid {
		width: 380px;
	}

	.tiles-center-tile {
		height: 155px;
	}
}

@media only screen and (max-width: 820px) {
	.tiles-expertise-inner {
		flex-direction: column;
		gap: 32px;
	}
	
	.get-in-touch-section .contact-map-overlay.get-in-touch-map-overlay h3 {
		font-size: 26px;
	}
	
	.tiles-expertise-side {
		max-width: 100%;
		width: 100%;
		gap: 26px;
	}

	.tiles-expertise-center {
		flex-basis: auto;
		width: 100%;
	}

	.tiles-expertise-center-grid {
		width: 100%;
	}

	.tiles-center-tile {
		height: 145px;
	}
}

.quote-calculator .container {
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* Get A Quote — split image + form */
.get-a-quote-section {
	padding: 64px 0;
	background: #ffffff;
}

.get-a-quote-wrap {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	gap: 40px;
	align-items: start;
}

.get-a-quote-media {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	min-height: 200px;
	background: #eef1f4;
}

.get-a-quote-media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 420px;
	object-fit: cover;
	border-radius: 18px;
}

.get-a-quote-media-placeholder {
	min-height: 420px;
	background: linear-gradient(145deg, #e8eef2 0%, #d4dde4 100%);
	border-radius: 18px;
}

.get-a-quote-form-side {
	min-width: 0;
}

.get-a-quote-title {
	margin: 0 0 20px;
	font-size: 36px;
	font-weight: 800;
	line-height: 1.15;
	color: var(--color-dark);
}

.get-a-quote-intro {
	margin: -8px 0 20px;
	font-size: 15px;
	line-height: 1.5;
	color: var(--color-text-light);
}

.get-a-quote-calculator .form-row {
	margin-bottom: 1rem;
}

.get-a-quote-action {
	margin-top: 24px;
	padding-top: 8px;
}

.get-a-quote-action .btn-get-quote {
	width: 100%;
	max-width: none;
}

.get-a-quote-dropzone {
	position: relative;
	min-height: 220px;
}

.get-a-quote-file-input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
	z-index: 4;
}

.get-a-quote-dropzone h4,
.get-a-quote-dropzone .upload-icon-container,
.get-a-quote-dropzone .get-a-quote-file-hint,
.get-a-quote-dropzone small {
	position: relative;
	z-index: 1;
	pointer-events: none;
}

.get-a-quote-file-hint {
	font-size: 14px;
	color: #6e757c;
	margin: 0 0 10px;
}

.quote-calculator {
	padding: 64px 0;
	background: #ecf4e4;
}

.section-header.text-center {
	text-align: center;
}

.form-row {
	display: flex;
	gap: 1rem;
	margin-bottom: 1rem;
}

.form-row > .form-group {
	flex: 1;
}

.form-group input,
.form-group select,
.form-group textarea {
	width: 100%;
	padding: 20px 24px;
	border: 1px solid #a8a8a8;
	border-radius: var(--radius-md);
	font-size: 12px;
	font-family: var(--font-main);
	outline: none;
	background: transparent;
	color: #6e757c;
	font-weight: 500;
}

.form-group input::placeholder,
.form-group textarea::placeholder {
	color: #8c998c;
}

.form-group select {
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236E757C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 10px center;
	background-size: 16px;
	padding-right: 48px;
}

.calculator-box {
	width: 100%;
}

.form-action.text-center.mt-4.pt-4 {
    text-align: center;
    margin-top: 30px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
	border-color: var(--color-primary);
}

.calculator-footer-new {
	display: flex;
	gap: 1rem;
	margin-top: 1rem;
}

.specs-textarea {
	flex: 1;
}

.specs-textarea textarea {
	height: 100%;
	min-height: 200px;
	resize: none;
}

.file-upload-box {
	flex: 1;
	border: 1px dashed #a8a8a8;
	border-radius: var(--radius-md);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.file-upload-box h4 {
	font-size: 16px;
	font-weight: 700;
	color: var(--color-dark);
	margin-bottom: 20px;
}

.upload-icon-container {
	margin-bottom: 15px;
	background: #ffffff;
	padding: 12px;
	border-radius: 8px;
	display: inline-flex;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
}

.file-upload-box p {
	font-size: 14px;
	font-weight: 500;
	color: var(--color-dark);
	margin-bottom: 5px;
}

.file-upload-box small {
	font-size: 12px;
	color: #8c998c;
}

.text-primary-blue {
	color: #0066cc;
	cursor: pointer;
	text-decoration: none;
	font-weight: 600;
}

.btn-order-now {
	padding: 14px 40px;
	font-size: 16px;
	border-radius: 8px;
	border: none;
	cursor: pointer;
	min-width: 200px;
}

.wholesale-banner {
	background: linear-gradient(135deg, #1f4d39, #163729);
	color: var(--color-white);
	padding: 64px 0;
}

.wholesale-banner.wholesale-banner--hub {
	background: linear-gradient(135deg, #163729, #0f2a20);
}

.wholesale-banner .container {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.wholesale-banner :is(h1, h2, h3, h4, h5, h6) {
	color: var(--color-white);
	text-align: center;
	font-size: 36px;
	line-height: 40px;
	font-weight: 800;
	letter-spacing: 0;
	margin-bottom: 16px;
}

.wholesale-banner :is(h1, h2, h3, h4, h5, h6) span {
	color: var(--color-primary);
}

.wholesale-banner .container > p {
	text-align: center;
	color: rgba(255, 255, 255, 0.7);
	font-size: 18px;
	line-height: 28px;
	max-width: 760px;
	margin: 0 auto 26px;
}

.wholesale-features {
	display: flex;
	justify-content: center;
	gap: 32px;
	margin: 18px 0 34px;
	font-weight: 600;
}

.wholesale-features span {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
	color: #ffffff;
}

.wholesale-features img {
	width: 20px;
	height: 20px;
	object-fit: contain;
}

.faq-content {
	text-align: start;
	width: 50%;
}

/* FAQ Accordion */
.faq-accordion {
	display: flex;
	flex-direction: column;
	gap: 15px;
	margin-top: 2rem;
}

.faq-item {
	background: var(--color-white);
	border: 1px solid #e4e7e4;
	border-radius: 12px;
	overflow: hidden;
}

.faq-question {
	width: 100%;
	text-align: left;
	padding: 16px 18px;

	background: #f7f8f7;
	border: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-weight: 600;
	font-size: 16px;
	cursor: pointer;
	color: var(--color-dark);
}

.faq-icon {
	transition: transform 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
}

.faq-item.active .faq-icon {
	transform: rotate(180deg);
}

.faq-answer {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.3s ease;
}

.faq-item.active .faq-answer {
	grid-template-rows: 1fr;
}

.faq-answer-inner {
	overflow: hidden;
	padding: 0 20px;
	color: var(--color-text-light);
	font-size: 15px;
	line-height: 1.6;
	background: #f7f8f7;
	border-top: 1px solid #e4e7e4;
}

.faq-answer-inner p {
	font-size: 16px;
	line-height: 24px;
}

/* Capabilities & FAQ Section */
.capabilities-faq-section {
	padding: 70px 0;
	background: #ffffff;
}

.capabilities-faq-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4rem;
	align-items: start;
}

.capabilities-title {
	font-size: 32px;
	line-height: 1.15;
	font-weight: 800;
	color: #1c1c1c;
	margin: 0 0 12px;
}

.capabilities-description {
	margin: 0;
	color: #6c7b86;
	font-size: 13px;
	line-height: 1.7;
}

.capabilities-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-top: 26px;
}

.capability-item {
	background: #edf7e1;
	border-radius: 10px;
	padding: 16px 10px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.capability-icon {
	color: #134b3f;
	margin-bottom: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.capability-icon img {
	width: 32px;
	height: 32px;
	object-fit: contain;
	display: block;
}

.capability-text {
	color: #134b3f;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.2;
}

.capabilities-btn {
	margin-top: 24px;
}

.capabilities-faq-title {
	font-size: 32px;
	line-height: 1.15;
	font-weight: 800;
	color: #1c1c1c;
	margin: 0 0 18px;
	text-align: left;
}

.capabilities-faq-section .faq-accordion {
	margin-top: 0;
	gap: 14px;
}

.capabilities-faq-section .faq-item {
	border-radius: 10px;
	border: 1px solid #e6e6e6;
	overflow: hidden;
}

.capabilities-faq-section .faq-question {
	background: #ffffff;
	padding: 16px 18px;
	font-size: 13px;
	color: #1c1c1c;
	border: none;
}

/* ==========================================================================
Product category archive (matches screenshot)
========================================================================== */
.archive-page {
	background: #ffffff;
}

.archive-header {
	text-align: center;
	padding: var(--spacing-xxl) 0 var(--spacing-md);
}

.archive-title {
	margin: 0 0 10px;
	font-size: 44px;
	line-height: 1.15;
	font-weight: 800;
	color: #121212;
}

.archive-subtitle {
	margin: 0;
	color: var(--color-text-light);
	font-size: 14px;
	line-height: 22px;
}

.archive-product-grid .grid.col-4 {
	gap: 24px;
}

.archive-product-grid .product-card {
	box-shadow: none;
}

.archive-product-grid .product-card:hover {
	transform: none;
}

.archive-product-grid .product-card__link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.archive-product-grid .card-img {
	border-radius: 24px;
	overflow: hidden;
	aspect-ratio: 284 / 240;
	background: #f4f6f8;
	margin-bottom: 12px;
}

.archive-product-grid .card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.archive-product-grid .card-meta {
	padding: 4px 0 0;
}

.archive-pagination {
	margin-top: 28px;
}

.archive-pagination .nav-links {
	display: flex;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
}

.archive-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 12px;
	border-radius: 10px;
	border: 1px solid var(--color-border);
	color: #1c1c1c;
	background: #ffffff;
	font-size: 13px;
	font-weight: 600;
}

.archive-pagination .page-numbers.current {
	border-color: rgba(135, 205, 55, 0.6);
	background: rgba(135, 205, 55, 0.12);
}

.archive-pagination .page-numbers:hover {
	border-color: rgba(135, 205, 55, 0.6);
}

.structures-grid-section {
	padding: 60px 0 40px;
	background: #ffffff;
}

.structures-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(164, 255, 201, 0.35);
	color: #3c7e5a;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.8px;
	border-radius: 999px;
	padding: 4px 12px;
	margin: 0 auto 14px;
}

.structures-title {
	text-align: center;
	font-size: 28px;
	line-height: 1.1;
	color: #1c1c1c;
	font-weight: 800;
	margin: 0 0 10px;
}

.structures-title span {
	color: #87cd37;
}

.structures-description {
	text-align: center;
	color: #6c7b86;
	font-size: 12px;
	line-height: 1.55;
	max-width: 760px;
	margin: 0 auto 26px;
}

.structures-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	max-width: 760px;
	margin: 0 auto;
}

.structures-tile {
	border-radius: 4px;
	overflow: hidden;
	background: #fff;
}

.structures-tile img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.structures-tile--placeholder {
	background: #f1f5f9;
	border: 1px dashed #cbd5e1;
}

.structures-tile__ph {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 180px;
	background: linear-gradient(135deg, #eef2f6 0%, #f8fafc 100%);
}

.structures-tile--wide {
	grid-column: 1 / -1;
}

/* ==========================================================================
Structures Grid (Tiles expertise section)
========================================================================== */
.structures-expertise {
	padding: 10px 0 0;
}

.structures-expertise__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 460px) minmax(0, 1fr);
	gap: 84px;
	align-items: center;
}

.structures-expertise__side {
	display: flex;
	flex-direction: column;
	gap: 56px;
}

.structures-expertise__item {
	max-width: 340px;
}

.structures-expertise__item--right {
	margin-left: auto;
	text-align: right;
}

.structures-expertise__icon {
	width: 64px;
	height: 64px;
	border-radius: 18px;
	background: #f4f7fb;
	display: grid;
	place-items: center;
	margin: 0 0 16px;
}

.structures-expertise__item--right .structures-expertise__icon {
	margin-left: auto;
}

.structures-expertise__icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.structures-expertise__icon-ph {
	width: 18px;
	height: 18px;
	border-radius: 6px;
	background: linear-gradient(135deg, #e8f4d6 0%, #f7fbf1 100%);
}

/* Force typography (some templates override h3/p in content areas). */
.structures-grid-section .structures-expertise__title {
	font-size: 18px;
	line-height: 1.25;
	font-weight: 800;
	margin: 0 0 10px;
	color: #134b3f;
}

.structures-grid-section .structures-expertise__text {
	font-size: 14px;
	line-height: 1.7;
	color: #5f6b74;
	margin: 0;
	max-width: 300px;
}

.structures-expertise__item--right .structures-expertise__text {
	margin-left: auto;
}

.structures-expertise__tiles {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px;
	width: 100%;
	max-width: 460px;
	margin: 0 auto;
}

.structures-expertise__tiles-col {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.structures-expertise__tile {
	border-radius: 24px;
	overflow: hidden;
	background: #fff;
}

.structures-expertise__tile img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.structures-expertise__tile--short {
	height: 180px;
}

.structures-expertise__tile--tall {
	height: 300px;
}

.structures-expertise__tile-ph {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #eef2f6 0%, #f8fafc 100%);
}

.capabilities-faq-section .faq-answer-inner {
	background: #ffffff;
	border-top: 0;
	padding: 0 18px;
}

.faq-question:focus {
	outline: none;
}

.faq-item.active .faq-answer-inner {
	padding: 20px;
}

.copyright {
	font-size: 14px;
}

/* Content box — Terms-style clauses (icon + title + description) */
.content-box-section {
	padding: 48px 0 56px;
	background: #ffffff;
}

/* Readable column width for policy clauses only (this section) */
.content-box-panel {
	width: 100%;
	margin: 0 auto;
	padding: 40px 0px 0px;
	border-radius: 8px;
	background: #ffffff;
	box-sizing: border-box;
}

.content-box-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 36px;
}

.content-box-item {
	display: flex;
	gap: 20px;
	align-items: flex-start;
}

.content-box-icon {
	flex: 0 0 36px;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.content-box-icon img {
	display: block;
	width: 28px;
	height: 36px;
	object-fit: contain;
}

.content-box-icon-placeholder {
	display: block;
	width: 48px;
	height: 48px;
	border-radius: 8px;
	background: linear-gradient(135deg, #e8ecf1 0%, #f4f6f9 100%);
	border: 1px dashed #c5cdd8;
}

.content-box-body {
	flex: 1;
	min-width: 0;
}

.content-box-title {
	margin: 0 0 10px;
	font-size: 30px;
	font-weight: 800;
	line-height: 36px;
	color: #0e2a47;
}

.content-box-text {
	margin: 0 0 12px;
	font-size: 16px;
	line-height: 27px;
	color: #4b5563;
}

.content-box-text:last-child {
	margin-bottom: 0;
}

.content-box-footer {
	margin: 40px 0 0;
	padding-top: 24px;
	border-top: 1px solid #e8ecf1;
	font-size: 14px;
	line-height: 1.55;
	color: #6b7688;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
