/* front end styles */

:root {
	--brand-orange: #EE522A;
	--yellow-black: #2A2A22;
	--wc-form-border-radius: 0;
	--mushroom: #E6E1DB;
	--blue-black: #091919;
	--grey: #F0F0F0;
	--yellow-grey: #7A7A6F;
	--white: #FFFFFF;
}

body, html {
	color: var(--yellow-black);
	font-family: "Barlow Condensed", sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 24px;
}
/*header {
	background: #FFF;
	display: inline-block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 10;
}*/
#main {
	margin-top: 0;
}
.content {
	margin: 0 auto;
	max-width: 1440px;
	padding: 0;
	width: 100%;
}
.site-main-woocommerce .content {
	padding: 80px 100px;
}
section {
	width: 100%;
}
p {
	margin-bottom: 20px;
}
h1 {
	font-size: 58px;
	font-weight: 500;
    line-height: 64px;
    margin-bottom: 30px;
}
h2 {
    font-size: 44px;
    font-weight: 500;
    line-height: 50px;
    margin-bottom: 24px;

}
h3 {
    font-size: 30px;
    font-weight: 500;
    line-height: 38px;
    margin-bottom: 20px;
}
h4 {
	font-size: 24px;
	font-weight: 500;
	line-height: 30px;
	margin-bottom: 20px;
}
h5 {
	font-size: 20px;
	font-weight: 500;
	line-height: 26px;
	margin-bottom: 15px;
}
a {
	color: var(--yellow-black);
	font-weight: 500;
}
hr {
	border: 0;
	border-top: 1px solid var(--grey);
}

button {
	background-color: var(--brand-orange);
	border: 0;
	color: var(--white);
	cursor: pointer;
	font-family: 'Barlow Condensed', sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 18px;
	height: 48px;
	line-height: 48px;
	padding: 0 40px;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 1px;
}
.margin-bottom {
	margin-bottom: 86px;
}
.brand-orange {
	color: var(--brand-orange);
}

.download-link {
	background-color: var(--brand-orange);
	color: var(--white);
	padding: 3px 5px;
	text-decoration: none;
}

div.wpforms-container-full .wpforms-field-label,
.wp-core-ui div.wpforms-container-full .wpforms-field-label {
	font-size: 18px;
	letter-spacing: 2.25px;
	line-height: 22px;
	margin-bottom: 16px;
	text-transform: uppercase;
}

strong, b {
	font-weight: 700;
}

div.wpforms-container-full input[type=submit]:not(:hover):not(:active),
div.wpforms-container-full button[type=submit]:not(:hover):not(:active),
div.wpforms-container-full .wpforms-page-button:not(:hover):not(:active),
.wp-core-ui div.wpforms-container-full input[type=submit]:not(:hover):not(:active),
.wp-core-ui div.wpforms-container-full button[type=submit]:not(:hover):not(:active),
.wp-core-ui div.wpforms-container-full .wpforms-page-button:not(:hover):not(:active),
div.wpforms-container-full input[type=submit],
div.wpforms-container-full button[type=submit],
div.wpforms-container-full .wpforms-page-button,
.wp-core-ui div.wpforms-container-full input[type=submit],
.wp-core-ui div.wpforms-container-full button[type=submit],
.wp-core-ui div.wpforms-container-full .wpforms-page-button {
	text-transform: uppercase;
	font-size: 18px !important;
	letter-spacing: 2.25px;
}

@media (max-width: 780px) {
	h1 {
		font-size: 38px;
		font-weight: 500;
	    line-height: 40px;
	    margin-bottom: 10px;
	}
	h3 {
    	font-size: 24px;
    	font-weight: 500;
    	line-height: 30px;
    	margin-bottom: 20px;
	}
}

/* nav */
	/* top-level menu */
	.menu > li {
		display: flex;
		align-items: center;
	}

	.menu > li > a {
		display: block;
		font-weight: 600;
		text-decoration: none;
		color: #111;
	}
	.lhs .menu > li > a {
		padding: 15px 20px 15px 0;
	}
	.rhs .menu > li > a {
		padding: 15px 0 15px 20px;
	}

	/* hover */
	.menu > li:hover > a {
		color: #f60; /* adjust to your theme colour */
	}

	.menu .sub-menu {
		position: absolute;
		top: 100%;
		background: var(--brand-orange);
		color: var(--white);
		width: fit-content;
		list-style: none;
		padding: 60px 60px 60px 20px;
		margin: 0;
		box-shadow: 0 5px 20px rgba(0,0,0,0.1);
		z-index: 50;

		/* GRID — auto-fit = collapse empty columns */
		/*display: grid;
		grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
		column-gap: 8%;
		row-gap: 20px;
		justify-content: center;     /* <- centres the last row */
		/*justify-items: center;*/

		max-width: 1440px;            /* <- prevents going to 5 columns */
		margin: 0 auto;

		/* HIDDEN STATE */
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		max-height: 0;
		overflow: hidden;
		transition: opacity .25s ease, max-height .25s ease;
	}

	.menu-item-has-children.open > .sub-menu {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		max-height: 1240px;
	}

	.menu-item-has-children.open > .menu-toggle::before,
	.menu-toggle.active::before {
		transform: rotate(-135deg);
	}

	/* dropdown items */
	.menu .sub-menu li a {
		display: block;
		padding: 12px 15px;
		text-decoration: none;
		color: var(--white);
		white-space: nowrap;
	}

	.menu .sub-menu li a:hover {
		color: var(--yellow-black);
	}

	header .content .nav ul.menu .sub-menu a {
		padding: 10px 15px;
	}

	.menu-cat-thumb {
		width: 140px;
		height: 140px;
		object-fit: cover;
	}

	.menu-toggle {
		background: none;
		border: none;
		width: 20px;
		height: 20px;
		cursor: pointer;
		padding: 0;
		position: relative;
		line-height: 20px;
	}

	.menu-toggle::before {
		content: "";
		border: solid #333;
		border-width: 0 2px 2px 0;
		display: inline-block;
		padding: 4px;
		transform: rotate(45deg);
		position: absolute;
		top: 5px;
		left: 5px;
		transition: transform 0.2s ease;
	}

	/* rotate arrow when open */
	.menu-toggle.active::before {
		transform: rotate(-135deg);
	}

/* slick slider */
	.reviews-slider .slick-slide {
		margin: 0 20px; /* total 20px gap between slides */
		height: auto !important;
		display: flex !important;
	}

	/* Keep first slide flush and peek only on the right */
	.reviews-slider .slick-list {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto;
		box-sizing: border-box;
		overflow: hidden;
	}

	/* Optional: prevent accidental clipping from parent containers */
	.reviews-slider .slick-track {
		display: flex !important;
		overflow: visible;
		margin-left: clamp(10px, 4vw, 63px);
	}
	.reviews-slider .slick-slide > div {
		display: flex;
		flex-direction: column;
		width: 100%;
	}

/* header */
	header .content {
		padding: 30px 80px;
		position: relative; /* this is for the mega menu */
	}
	header .top-bar {
		align-items: center;
		border-bottom: 1px solid var(--yellow-black);
		display: flex;
		justify-content: space-between;
		padding-bottom: 20px;
		margin-bottom: 30px;
		width: 100%;
		position: relative;
	}
	header .top-bar .telephone {
		font-weight: 400;
		font-style: normal;
	}
	header a {
		color: #000;
	  	font-weight: 400;
		font-style: normal;
		line-height: 0;
	}
	header .top-bar .strapline {
	  	font-weight: 500;
		font-style: normal;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		text-align: center;
	}
	header .top-bar .button-holder {
		display: flex;
		letter-spacing: 1px;
		align-items: center;
		gap: 20px;
	}
	header .top-bar .button-holder a.orange-link {
		color: var(--brand-orange);
		font-weight: 700;
	}

	header .cart-total {
		display: none !important;
	}

	/* =========================================
	   NAV LAYOUT (DESKTOP) - logo truly centered
	========================================= */

	header .content .nav {
		display: grid;
		grid-template-columns: 1fr auto 1fr;
		align-items: center;
		gap: 20px;
	}

	/* Undo any old "50%" nav rule */
	header .content .nav nav {
		width: auto !important;
	}

	/* Position columns */
	header .content .nav .lhs { justify-self: start; }
	header .content .nav .rhs { justify-self: end; }
	header .content .nav .brand { justify-self: center; display: inline-flex; align-items: center; }

	/* Menus (keeps your styling) */
	header .content .nav ul.menu {
		margin-left: 0;
		display: flex;
		align-items: center;
		padding: 0;
		margin-top: 0;
		margin-bottom: 0;
		list-style: none;
	}

	header .content .nav ul li a {
		color: #000;
		font-weight: 700;
		font-size: 18px;
		font-style: normal;
		letter-spacing: 2.25px;
		line-height: 18px;
		text-transform: uppercase;
		text-decoration: none;
	}

	header .content .nav ul.sub-menu li a {
		color: var(--white);
	}
	header .content .nav ul li a:hover {
		color: var(--brand-orange);
	}
	header .content .nav ul.sub-menu li a:hover {
		color: var(--mushroom);
	}

	/* Desktop spacing */
	header .content .nav .lhs > ul li { margin-right: 50px; }
	header .content .nav ul.sub-menu li { margin-right: 0; }
	header .content .nav .rhs ul { justify-content: flex-end; }
	header .content .nav .rhs ul li a { display: flex; margin-left: 50px; }

	/* Search icon */
	header .content .nav .rhs ul#menu-secondary-menu li.menu-search > a:before {
		font-family: "Material Icons";
		font-size: 30px;
		font-weight: 400;
		content: '\e8b6';
		margin-right: 5px;
	}
	header .content .nav .rhs li.menu-search > a:before { font-size: 30px; }

	/* Search dropdown (desktop) */
	header .content .nav .rhs li.menu-search { position: relative; }

	header .content .nav .rhs li.menu-search .header-search {
		position: absolute;
		right: calc(100% - 60px);
		top: 50%;
		transform: translateY(-50%);
		width: 0;
		opacity: 0;
		overflow: hidden;
		white-space: nowrap;
		transition: width 0.3s ease, opacity 0.2s ease;
		z-index: 50;
	}

	header .content .nav .rhs li.menu-search .header-search.active {
		width: 220px;
		opacity: 1;
	}

	header .content .nav .rhs li.menu-search .header-search input {
		width: 220px;
		padding: 8px 10px;
		border: 3px solid var(--brand-orange);
		font-size: 14px;
	}

	/* Visibility helpers */
	header .content .nav .desktop-only { display: block; }
	header .content .nav .mobile-only  { display: none; }

	/* Burger button */
	.menu-burger {
		display: none;
		width: 48px;
		height: 48px;
		background: none;
		border: 0;
		padding: 0;
		cursor: pointer;
	}

	/* Burger lines */
	.menu-burger span {
		display: block;
		width: 28px;
		height: 2px;
		margin: 6px auto;
		background: #000;
	}

	.drawer-close {
		position: absolute;
		top: 20px;
		right: 20px;
		width: 40px;
		height: 40px;
		background: none;
		border: 0;
		cursor: pointer;
		padding: 0;
	}

	.drawer-close span {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 24px;
		height: 2px;
		background: #000;
	}

	.drawer-close span:first-child {
		transform: translate(-50%, -50%) rotate(45deg);
	}

	.drawer-close span:last-child {
		transform: translate(-50%, -50%) rotate(-45deg);
	}

	/* =========================================
	   MOBILE (<= 1235px)
	========================================= */

	@media (max-width: 1235px) {

		/* Drawer overlay */
		header .content .nav .menu-drawer {
			display: none;
			position: fixed;
			inset: 0;
			height: fit-content;
			padding: 26px 20px 20px;
			background: #fff;
			display: flex;
			flex-direction: column;
			overflow: auto;
			z-index: 9999;
		}

		header .content .nav .menu-drawer .rhs .menu > li > a {
			padding: 15px 0;
		}

		header .content .nav .menu-drawer .rhs ul.menu {
			gap: 0;
		}

		/* burger | centered logo | empty */
		header .content .nav {
			grid-template-columns: auto 1fr auto;
		}

		/* hide desktop menus */
		header .content .nav .desktop-only { display: none; }
		header .content .nav .menu-burger {
			display: block;
		}

		header .content .nav .menu-drawer[hidden] { display: none; }

		/* Stack menu items vertically */
		header .content .nav .menu-drawer ul.menu {
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			gap: 12px;
		}

		/* Remove desktop spacing inside drawer */
		header .content .nav .menu-drawer .lhs > ul li { margin-right: 0; }
		header .content .nav .menu-drawer .rhs ul li a { margin-left: 0; }

		/* Submenus indent */
		header .content .nav .menu-drawer ul.sub-menu { padding-left: 16px; }

		/* Make search usable in drawer */
		header .content .nav .menu-drawer li.menu-search .header-search {
			position: static;
			transform: none;
			width: auto;
			opacity: 1;
			overflow: visible;
			white-space: normal;
			transition: none;
			margin: 10px;
		}

		header .content .nav .menu-drawer li.menu-search .header-search input {
			width: 100%;
			max-width: 360px;
		}

		.menu-item-has-children {
			display: flex;
			flex-wrap: wrap;
			align-items: center;
		}

		.menu-item-has-children > a,
		.menu-item-has-children > .menu-toggle {
			flex: 0 0 auto;
		}

		.menu-item-has-children > .sub-menu {
			background: var(--brand-orange);
			box-shadow: none;
			display: flex;
			flex-basis: 100%;
			flex-wrap: wrap;
			padding: 0;
			position: relative;
			width: 100%;
		}
		header .content .nav ul.sub-menu li {
			width: 100%;
		}
		header .content .nav ul.menu .sub-menu a {
			padding: 10px 0;
			text-align: left;
		}
		.menu .sub-menu li a img {
			display: none;
		}
		.menu-item.open > .sub-menu {
			margin: 10px 0 0 0;
		}
		.menu-item.open > .sub-menu a p {
			margin: 0;
		}
	}

	/* Mobile */
	@media (max-width: 880px) {
		header .content {
			padding: 30px 40px;
		}
		header .top-bar {
			display: inline-block;
			text-align: center;
		}
		header .top-bar .strapline {
			margin: 10px 0;
			position: relative;
		}
		header .top-bar .button-holder {
			display: inline-block;
		}
	}

/* header block */
	.header-block .content {
		display: flex;
	}
	.header-block .content div {
		overflow: hidden;
		width: 26%;
	}
	.header-block .content div.text {
		background-color: var(--blue-black);
		padding: 50px 50px 100px 50px;
		text-align: center;
		width: 48%;
	}
	.header-block .content div.text h1 {
		font-family: "Dela Gothic One", sans-serif;
	}
	.header-block .content div.text h2 {
		font-size: 18px;
		line-height: 22px;
		margin-bottom: 22px;
	}
	.header-block .content div.text p {
		color: var(--white);
		display: inline-block;
		font-size: 18px;
		font-weight: 500;
		line-height: 19px;
		max-width: 400px;
		width: 100%;
	}
	.search-form {
		display: flex;
    	margin: 0 auto;
    	max-width: 100%;
	    width: fit-content;
	}
	.search-form input {
		background: transparent;
		border: 3px solid var(--brand-orange);
		color: #FFF;
		display: inline-block;
		float: left;
		height: 48px;
		margin: 0;
		max-width: 205px;
		padding: 0 15px;
		width: 100%;
	}
	.search-form button {
		color: var(--white);
		padding: 0;
		width: 115px;
	}

	@media (max-width: 780px) {
		.header-block .content div.lhs-image,
		.header-block .content div.rhs-image {
			display: none;
		}
		.header-block .content div.text {
			padding-bottom: 60px;
			width: 100%;
		}
	}

/* 404 - or empty page */
	.empty .content {
		padding: 80px 100px;
	}
	.empty .content h1 {
		font-weight: 700;
		text-transform: uppercase;
	}

/* 2 column promo */
	.two-column-promo .content {
		display: flex;
	}
	.two-column-promo .promo-content {
		align-items: center;
		display: flex;
		gap: 20px;
	}
	.two-column-promo .promo-content > :first-child {
		flex: 0 0 40%; /* no grow, no shrink, fixed 40% */
	}
	.two-column-promo .promo-content > :not(:first-child) {
		flex: 1;
	}
	.two-column-promo .content .lhs {
		background-color: var(--brand-orange);
		color: #FFF;
		padding: 70px 60px 70px 100px;
		width: 100%;
	}
	.two-column-promo .content .lhs p {
		font-size: 18px;
		text-transform: uppercase;
	}
	.two-column-promo .content h2 {
		font-family: "Dela Gothic One", sans-serif;
		font-size: 28px;
		font-weight: 400;
		line-height: 32px;
	}
	.two-column-promo .content .rhs {
		background-color: var(--yellow-black);
		color: #FFF;
		font-weight: 700;
		letter-spacing: 2.5px;
		padding: 70px 100px 70px 60px;
		text-transform: uppercase;
		width: 100%;
	}
	@media (max-width: 768px) {
		.two-column-promo .content,
		.two-column-promo .promo-content {
			display: inline-block;
		}
		.two-column-promo .content .lhs,
		.two-column-promo .content .rhs {
			padding: 70px 40px 70px 40px;
		}
	}

/* shortcuts promo */
	.shortcuts-promo {
		text-align: center;
	}
	.shortcuts-promo h2 {
		font-family: "Dela Gothic One", sans-serif;
		font-size: 58px;
	}
	.shortcuts-promo h2 strong {
		font-weight: normal;
		text-decoration: underline;
	}
	.shortcuts-promo .shortcuts {
		display: flex;
		margin: 0 100px;
		gap: 5%;
		flex-wrap: wrap;
	}
	.shortcuts-promo .shortcuts div {
		width: 20%;
	}
	@media (max-width: 1300px) {
		.shortcuts-promo .shortcuts div {
			width: 40%;
		}
	}
	@media (max-width: 800px) {
		.shortcuts-promo h2 {
			font-size: 38px;
		}
		.shortcuts-promo .shortcuts div {
			width: 100%;
		}
	}

/* reviews promo */
	.reviews-promo .content {
		color: #FFF;
		padding: 80px 0 80px 100px;
	}
	.reviews-promo .content h3 {
		font-size: 16px;
		line-height: 20px;
		margin-bottom: 10px;
		text-transform: uppercase;
	}
	.reviews-promo .content h2 {
		font-family: "Dela Gothic One", sans-serif;
		font-size: 58px;
		line-height: 60px;
		margin-bottom: 60px;
		text-transform: uppercase;
	}
	.reviews-promo .review-slide {
		background-color: var(--yellow-black);
		color: #FFF;
		padding: 44px 40px 88px 40px;
		position: relative;
	}
	.reviews-promo .review-slide blockquote footer {
		font-size: 18px;
		font-weight: 700;
		letter-spacing: 2.25px;
		text-transform: uppercase;
		position: absolute;
		bottom: 40px;
		width: auto;
	}
	@media (max-width: 768px) {
		.reviews-promo .content {
			padding: 40px 0 40px 40px;
		}
	}

/* logo promo */
	.logo-promo .content {
		padding: 80px 100px;
	}
	.logo-promo h2 {
		font-size: 16px;
		font-weight: 700;
		letter-spacing: 2px;
		margin-bottom: 40px;
		text-transform: uppercase;
		width: 100%;
	}
	.logo-promo .logos {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 80px;
		align-items: start;
	}

	.logo-promo .logos div {
		width: 100%;
		align-self: start;
		text-align: center;
	}

	.logo-promo .logos img {
		display: block;
		max-width: 100%;
		height: auto;
		margin: 0 auto;
	}
	@media (max-width: 768px) {
		.logo-promo .content {
			padding: 40px;
		}
		.logo-promo .logos {
			grid-template-columns: repeat(2, 1fr);
			gap: 60px;
		}
	}
	@media (max-width: 500px) {
		.logo-promo .logos {
			grid-template-columns: 1fr;
			gap: 40px;
		}
	}

/* case studies */
	.case-studies .content {
		background-color: var(--mushroom);;
		padding: 80px 100px;
	}
	.case-studies h3 {
		font-size: 16px;
		font-weight: 700;
		letter-spacing: 2px;
		line-height: 20px;
		margin-bottom: 30px;
		text-transform: uppercase;
	}
	.case-studies h2 {
		font-family: "Dela Gothic One", sans-serif;
		font-size: 58px;
		text-transform: uppercase;
		font-weight: 400;
		margin-bottom: 50px;
	}
	.case-studies .case-studies-container {
		display: flex;
		flex-wrap: wrap;
		gap: 10%;
	}
	.case-studies .case-studies-container article {
		line-height: 20px;
		margin-bottom: 30px;
		width: 45%;
	}
	.case-studies .case-studies-container article.large-promo {
		margin-bottom: 42px;
	}
	.case-studies .case-studies-container article h2 {
		font-size: 28px;
		text-transform: uppercase;
		line-height: 32px;
		margin-bottom: 14px;
		width: 80%;
	}
	.case-studies .case-studies-container article h2 a {
		color: var(--yellow-black);
	}
	.case-studies .case-studies-container article p {
		font-weight: 500;
		line-height: 20px;
		margin-bottom: 0;
	}
	.case-studies .case-studies-container article.large-promo p {
		margin-bottom: 20px;
	}
	.case-studies .case-studies-container article.large-promo img {
		height: 100%;
		width: 100%;
	}
	.case-studies .case-studies-container article.small-promo {
		display: flex;
	}
	.case-studies .case-studies-container article.small-promo .case-study-thumb a {
		display: inline-block;
		height: 90px;
		width: 90px;
		margin-right: 20px;
	}
	.case-studies .case-studies-container article.small-promo img {
		height: 100%;
		line-height: 0;
		width: 100%;
	}
	.case-studies .case-studies-container article.small-promo .text {
		border-top: 1px solid rgba(42, 42, 34, 0.25);
		padding-top: 10px;
	}
	.case-studies .case-studies-container article.small-promo .text h2 {
		font-size: 18px;
		font-weight: 700;
		margin-bottom: 8px;
		text-transform: uppercase;
	}
	.case-studies button.more-case-studies {
		background-color: var(--brand-orange);
		color: #FFF;
		float: right;
		font-size: 18px;
		font-weight: 700;
		letter-spacing: 1px;
		margin-top: 30px;
		padding: 0 42px;
	}

	.case-study .content {
		background-color: var(--mushroom);
		display: flex;
		padding: 80px 100px 80px 100px;
	}
	.case-study .content.case-study-image {
		background-color: transparent;
	    display: flex;
	    padding: 0;
	}
	.case-study .back-to-archive {
		color: var(--brand-orange);
		font-weight: bold;
		text-transform: uppercase;
		letter-spacing: 2px;
		margin-bottom: 30px;
	}
	.case-study .content .case-study-title {
		font-family: "Dela Gothic One", sans-serif;
		text-transform: uppercase;
		margin-bottom: 30px;
	}
	@media (max-width: 768px) {
		.case-studies .case-studies-container {
			display: inline-block;
		}
		.case-studies .content {
			padding: 40px;
		}
		.case-studies .case-studies-container article {
			width: 100%;
		}
	}

/* products categories promo */
	.category-tabs-slider .cat-tab {
		text-align: left;
	}
	.category-tabs-slider .cat-tab a {
		color: var(--yellow-black);
		display: block;
		font-family: "Dela Gothic One", sans-serif;
		font-size: 46px;
		font-weight: 400;
		line-height: 50px;
		padding: 0;
		white-space: nowrap;
		text-transform: uppercase;
	}
	.category-tabs-slider .cat-tab a.active {
		color: var(--brand-orange);
	}

	/* Section wrapper */
	.product-categories-promo .content {
		padding: 80px 0 80px 100px;
	}

	.product-categories-promo .content h2.product-title {
		font-weight: 700;
	    font-size: 18px;
	    line-height: 18px;
	    margin: 15px 20px 6px 20px;
	}

	.product-categories-promo .content .product-code {
		margin: 0 20px 16px 20px;
	}

	.product-categories-promo .content .product-prices {
		margin: 0 20px;
	}

	@media (max-width: 1024px) {
		.product-categories-promo .content {
			padding: 60px 0 60px 40px;
		}
	}

	@media (max-width: 768px) {
		.product-categories-promo .content {
			padding: 40px 20px;
		}
		.product-categories-promo .content h2.product-title {
		    margin: 15px 50px 6px 50px;
		}
		.product-categories-promo .content .product-code {
    		margin: 0 50px 16px 50px;
		}
		.product-categories-promo .content .product-prices {
    		margin: 0 50px;
		}
		.category-products .content {
			padding: 40px;
		}
	}

	/* Slick viewport: stop clipping the first slide */
	.promo-categories-slider .slick-list {
		overflow: hidden;
		box-sizing: border-box;
	}

	/* Each slide */
	.promo-categories-slider .promo-category {
		margin: 15px 25px 0; /* top gap + horizontal spacing */
	}

	/* Kill the left margin on the first slide */
	.promo-categories-slider .promo-category:first-child {
		margin-left: 0;
	}

	/* Category title */
	.promo-categories-slider .promo-category a h3 {
		color: var(--yellow-black);
		font-size: 18px;
		letter-spacing: 2.25px;
		text-transform: uppercase;
		text-align: center;
		margin-top: 15px;
	}

	/* Image box */
	.promo-categories-slider .promo-category .image {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 252px;
		height: 252px;
		background-color: var(--mushroom);
		padding: 20px;
		margin: 0 auto;
	}

	/* Category image */
	.promo-categories-slider .promo-category .image img {
		max-width: 100%;
		max-height: 100%;
		object-fit: contain;
		display: block;
		mix-blend-mode: multiply;
	}

	.promo-categories-slider .promo-category.no-products {
		height: 252px;
		width: 252px;
		text-align: center;
		padding: 40px;
		background: #f5f5f5;
		color: #666;
		display: flex;
		font-style: italic;
		align-items: center;
		justify-content: center;
	}

	/* Force slick to behave as a row of slides */
	.promo-categories-slider .slick-track {
		display: flex !important;
		flex-wrap: nowrap !important;
	}

	@media (max-width: 768px) {
		.category-tabs-slider .cat-tab a {
			font-size: 30px;
	        font-weight: 500;
	        line-height: 32px;
	        margin-bottom: 10px;
		}
		.category-products .content {
			padding: 40px !important;
		}
	}

/* category landing - i made it generic for all landing pages */
	.landing-header {
		background-color: var(--yellow-black);
	}
	.landing-header .content {
		display: flex;
		justify-content: space-between;
		padding: 50px 100px 55px 100px;
	}
	.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb {
		text-transform: uppercase;
		color: var(--brand-orange);
		font-weight: 700;
	}
	.landing-header .intro-text p,
	.landing-header .intro-text .breadcrumbs .woocommerce-breadcrumb .sep,
	.landing-header .intro-text .breadcrumbs .woocommerce-breadcrumb a {
		font-weight: 700;
		color: #FFF;
		text-transform: uppercase;
		margin-bottom: 20px;
	}
	.landing-header .intro-text h1 {
		color: var(--brand-orange);
		text-transform: uppercase;
		font-family: "Dela Gothic One", sans-serif;
		font-size: 46px;
		font-weight: 400;
		line-height: 46px;
		margin-bottom: 20px;
	}
	.landing-header .intro-text p {
		max-width: 50%;
	}
	.landing-header .intro-text p:last-of-type {
		margin-bottom: 0;
	}
	.landing-header .filter-sort {
		display: flex;
		align-items: flex-end;
	}
	.landing-header .filter-buttons button {
		color: #FFF;
		display: inline-block;
		float: left;
		font-weight: 700;
		letter-spacing: 1px;
		margin-right: 18px;
		width: 200px;
	}
	.landing-header .vat-buttons {
		width: 50px;
	}
	.landing-header .vat-buttons a {
		display: inline-block;
		color: #FFF;
		font-weight: 700;
		font-size: 18px;
		text-decoration: none;
		opacity: 0.4;
		width: 100%;
		line-height: 22px;
	}
	.landing-header .vat-buttons a.active {
		color: #FFF;
		opacity: 1;
	}

	.category-products .content {
		padding: 50px 100px 55px 100px;
	}
	.category-products .content ul.products {
		list-style: none;
		margin: 0;
		padding: 0;
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		column-gap: 10px; /* space between items left/right */
		row-gap: 70px;    /* space between rows top/bottom */
		align-items: stretch;
	}
	@media (max-width: 1200px) {
		.landing-header .content {
		    display: inline-block;
		    padding: 40px;
		}
	}
	/* Tablets (max 1024px) → 3 wide */
	@media (max-width: 1024px) {
		.category-products .content ul.products {
			grid-template-columns: repeat(3, 1fr);
		}
		.landing-header .intro-text p {
			max-width: 75%;
		}
	}

	/* Mobiles (max 768px) → 2 wide */
	@media (max-width: 768px) {
		.category-products .content ul.products {
			grid-template-columns: repeat(2, 1fr);
		}
	}

	/* Tiny screens (optional, max 480px) → 1 wide */
	@media (max-width: 576px) {
		.category-products .content ul.products {
			grid-template-columns: 1fr;
		}
		.landing-header .intro-text p {
			max-width: 100%;
		}
	}
	.category-products .content ul.products li.product {
		width: 100%;  /* fill grid cell */
		height: auto; /* let content dictate height */
		box-sizing: border-box;
		opacity: 1;
		padding-bottom: 62px;
    	position: relative;
    	transition: opacity 0.4s ease-in-out;
	}
	.category-products .content ul.products li.product.loading {
		opacity: 0;
	}
	.category-products .content .product .product-image {
		aspect-ratio: 1 / 1;
		background-color: var(--grey);
		box-sizing: border-box;
		margin-bottom: 16px;
		width: 100%;
		padding: 18px;
	}
	.category-products .content .product .product-image img {
		mix-blend-mode: multiply;
		width: 100%;
		height: 100%;
		object-fit: contain; /* or cover */
		display: block;
	}
	.category-products .content .product h2.product-title {
		font-weight: 700;
		font-size: 18px;
		line-height: 18px;
		margin-bottom: 6px;
	}
	.category-products .content .product h2.product-title a {
		color: var(--yellow-black);
	}
	.category-products .content .product .product-code {
		color: var(--yellow-grey);
		font-weight: 400;
		margin-bottom: 16px;
	}

	/* toggle prices block */
	.product-prices {
		border: 1px solid var(--mushroom);
		bottom: 0;
		display: flex;
		font-weight: 500;
		line-height: 22px;
		max-width: 176px;
		position: absolute;
		border-radius: 3px;
		overflow: hidden;
		position: relative;
	}

	/* sliding background */
	.product-prices::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 50%;
		height: 100%;
		background-color: var(--mushroom);
		transition: transform 0.25s ease;
		z-index: 0;
	}

	/* left side active (buy) */
	.product-prices[data-mode="buy"]::before {
		transform: translateX(0%);
	}

	/* right side active (rent) */
	.product-prices[data-mode="rent"]::before {
		transform: translateX(100%);
	}

	.single-product-content .product-prices .purchase-price,
	.single-product-content .product-prices .hire-price {
		cursor: pointer;
	}
	.product-prices .purchase-price,
	.product-prices .hire-price {
		width: 88px;
		height: 60px;
		position: relative;
		z-index: 1;
		display: flex;
    	align-items: center;
    	justify-content: center;
	}
	.add-to-enquiry-button {
		padding: 0 10px;
		text-align: center;
	}
	.rental-fields .date-field {
		margin-bottom: 20px;
		width: 100%;
	}
	.rental-fields label {
		display: inline-block;
		width: 100px;
	}
	.date-wrapper .form-control.input {
		border: 1px solid var(--yellow-grey);
		border-radius: 0;
		cursor: pointer;
		height: 30px;
    	line-height: 28px;
    	padding: 0 30px 0 10px;
    	width: 200px;
	}
	.rental-fields .date-wrapper {
		position: relative;
		display: inline-block;
	}

	.rental-fields .date-wrapper:after {
		content: '\e935';
		font-family: "Material Icons Outlined";
		font-size: 20px;
		position: absolute;
		right: 10px;
		top: 50%;
		transform: translateY(-50%);
		pointer-events: none;
		color: #333;
	}
	.flatpickr-calendar.arrowTop:before {
 	   border-bottom-color: #bbb !important;
	}
	.cart .rental-summary {
		margin-bottom: 20px;
	}

	/* text colours */
	.product-prices .price {
		color: var(--yellow-black);
		font-size: 18px;
		font-weight: 700;
	}
	.product-prices .hire-price {
		font-weight: 500;
	}
	.product-prices .hire-price .price {
		color: var(--brand-orange);
	}
	.product-prices .hire-price a {
		color: var(--brand-orange);
		font-size: 14px;
		font-weight: 700;
	}
	.woocommerce:where(body:not(.woocommerce-uses-block-theme)) ul.products li.product .price {
		color: var(--yellow-black);
		font-size: 18px;
		font-weight: 700;
	}
	.woocommerce:where(body:not(.woocommerce-uses-block-theme)) ul.products li.product .hire-price .price {
		color: var(--brand-orange);
	}
	.woocommerce:where(body:not(.woocommerce-uses-block-theme)) ul.products li.product .hire-price a {
		font-size: 14px;
	}

	/* optional: change label colour when active/inactive */
	.product-prices .price-toggle {
		opacity: 0.7;
	}

	.product-prices .price-toggle.is-active {
		opacity: 1;
	}

	.load-more-wrap {
		text-align: center;    /* center button inside */
		margin-top: 100px;      /* breathing space from products */
	}
	.load-more-wrap button {
		background-color: var(--yellow-black);
		color: #FFF;
		font-weight: 700;
		letter-spacing: 1px;
		width: 206px;
	}

	#le-sort-menu .woocommerce-result-count {
		display:none;
	}

	#le-sort-menu .woocommerce-ordering {
		margin: 0;
	}

	/* Optional: popover positioning */
	.le-sort {
		position: relative;
		display: inline-block;
	}
	.le-sort__menu {
		position: absolute;
		top: 100%;
		left: 0;
		z-index: 999;
		padding: 12px;
		background: var(--brand-orange);
		width: 200px;
	}
	/* Base select cleanup */
		.le-sort select.orderby {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;

		width: 100%;
		padding: 10px 42px 10px 14px;
		font-size: 10px;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: .05em;

		color: #111;
		background: #fff;
		border: 0;
		border-radius: 0px;

		cursor: pointer;
	}

	/* Custom arrow */
	.le-sort .woocommerce-ordering {
		position: relative;
	}

	.le-sort .woocommerce-ordering::after {
		content: '▾';
		position: absolute;
		right: 14px;
		top: 50%;
		transform: translateY(-50%);
		pointer-events: none;
		font-size: 14px;
		color: #111;
	}

	/* Focus / hover */
	.le-sort select.orderby:hover {
		border-color: #000;
	}

	.le-sort select.orderby:focus {
		outline: none;
		border-color: #000;
		box-shadow: 0 0 0 2px rgba(0,0,0,.1);
	}

/* single product page */
	.single-product-page .landing-header {
		margin-bottom: 60px;
	}
	.single-product-content .content {
		padding: 0 80px;
	}
	.single-product-content .content .lhs h2 {
		text-transform: uppercase;
		font-size: 28px;
		font-weight: 700;
		letter-spacing: 3.5px;
	}

	.two-column-layout {
		display: flex;
		flex-wrap: nowrap;
		gap: 110px;
	}
	.two-column-layout .lhs,
	.two-column-layout .rhs {
		width: 50%;
	}
	.two-column-layout .lhs .image-holder {
		background-color: var(--grey);
		display: flex;
		align-items: center;
		justify-content: center;
		margin-bottom: 115px;
	}
	.two-column-layout .rhs h1 {
		font-size: 36px;
		font-weight: 700;
		letter-spacing: 4.5px;
		line-height: 43px;
		text-transform: uppercase;
		margin-bottom: 19px;
	}
	.two-column-layout .rhs .catalog-number {
		color: var(--yellow-grey);
		margin-bottom: 30px;
	}
	.two-column-layout .rhs .product-sub-title {
		display: inline-block;
		font-size: 18px;
		font-weight: 700;
		letter-spacing: 2.25px;
		margin-bottom: 16px;
		text-transform: uppercase;
		width: 100%;
	}
	.two-column-layout .rhs .product-prices {
		margin-bottom: 30px;
		position: relative;
	}
	.two-column-layout .rhs li.custom-product {
		position: relative;
	}
	.two-column-layout .rhs .quatity-button-holder {
		display: flex;
		justify-content: space-between;
		margin-bottom: 115px;
	}
	.two-column-layout .rhs .quantity input {
		border: 1px solid var(--yellow-grey);
		border-radius: 0;
		height: 46px;
	    line-height: 44px;
	    padding: 0 5px 0 10px;
	    text-align: left;
	    width: 100px;
	}
	.two-column-layout .rhs .additional-info {
		margin-bottom: 100px;
	}
	.two-column-layout .rhs .additional-info h3,
	.two-column-layout .rhs .related-products h3 {
		font-size: 28px;
		letter-spacing: 3.5px;
		line-height: 30px;
		margin-bottom: 38px;
		text-transform: uppercase;
	}

	.two-column-layout .rhs .related-item {
		display: flex;
		gap: 36px;
		margin-bottom: 36px;
	}
	.two-column-layout .rhs .related-item .image {
		background-color: var(--grey);
		display: flex;
		align-items: center;
		justify-content: center;
		width: 300px;
		height: 300px;
		flex: 0 0 300px;
	}
	.two-column-layout .rhs .related-item .image img {
		max-width: 100%;
		max-height: 100%;
		height: auto;
		width: auto;
		display: block;
		object-fit: contain; /* or 'cover' */
	}
	.two-column-layout .rhs .related-item h4 {
		color: var(--yellow-black);
		margin-bottom: 8px;
	}
	.two-column-layout .rhs .related-item .catalog-number {
		margin-bottom: 8px;
	}
	.related-item .purchase-price,
	.related-item .hire-price {
		color: var(--yellow-black);
	}
	@media only screen and (max-width: 1050px) {
		.two-column-layout .rhs .related-item {
			display: inline-block;
		}
		.two-column-layout .rhs .related-item .image {
			margin-bottom: 20px;
		}
	}
	@media only screen and (max-width: 740px) {
		.two-column-layout {
			display: inline-block;
		}
		.two-column-layout .lhs,
		.two-column-layout .rhs {
			width: 100%;
		}
		.single-product-content .content {
			padding: 0 40px;
		}
	}

/* contact form */
	.contact-form .content {
		padding: 60px 100px;
	}
	.contact-form .content h2 {
		font-family: "Dela Gothic One", sans-serif;
		font-size: 28px;
		line-height: 32px;
		margin-bottom: 16px;
		text-transform: uppercase;
	}
	.contact-form .content p {
		margin-bottom: 80px;
	}

/* full width image block */
	.full-width-image-block .content {
		min-height: 600px;
	}

/* full width text block */
	.full-width-text-block .content {
		padding: 0 30px;
	}

/* footer */
	footer {
		background-color: var(--yellow-black);
		color: var(--mushroom);
		display: inline-block;
		width: 100%;
	}
	footer .content {
		padding: 70px 100px 200px 100px;
	}
	footer .footer-columns {
		display: flex;
		float: right;
		gap: 20%;
		width: 60%;
	}
	footer .footer-columns h3 {
		font-size: 16px;
		font-weight: 700;
		letter-spacing: 2px;
		line-height: 19px;
		text-transform: uppercase;
	}
	footer .footer-columns ul {
  		font-weight: 500;
  		font-style: normal;
  		letter-spacing: 0.2px;
  		margin: 0 0 10px 0;
	}
	footer .footer-columns ul li {
		font-size: 16px;
		list-style-type: none;
	}
	@media only screen and (max-width: 768px) {
		footer .content {
			padding: 40px;
		}
		footer .content a img {
			margin-bottom: 20px;
		}
		footer .footer-columns {
			float: left;
			width: 100%;
		}
	}
	@media only screen and (max-width: 500px) {
		footer .footer-columns {
			display: flex;
			flex-wrap: wrap;
		}
		footer .footer-columns .column-1,
		footer .footer-columns .column-2,
		footer .footer-columns .column-3 {
			width: 40%;
		}
	}

/* @media only screen and (max-width: XXXpx) {

*/

/* checkout mods */
.woocommerce-checkout-review-order-table th:last-child {
	display: none;
}

.woocommerce-checkout-review-order-table td:last-child {
	display: none;
}

.woocommerce-checkout-review-order-table thead th.product-total,
.woocommerce-checkout-review-order-table tbody td.product-total,
.woocommerce-checkout-review-order-table .cart-subtotal,
.woocommerce-checkout-review-order-table .tax-rate,
.woocommerce-checkout-review-order-table .order-total {
	display: none !important;
}

.woocommerce-cart table.cart th.product-price,
.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart th.product-subtotal,
.woocommerce-cart table.cart td.product-subtotal,
.woocommerce-cart .cart-subtotal,
.woocommerce-cart .order-total {
	display: none !important;
}