/* front end styles */

/* font weights 300, 400, 500, 700 */

@import url("fonts.css");
@import url("woocommerce-styling.css");

:root {
	--brand-orange: #EE522A;
}

body, html {
	color: #2A2A22;
	font-family: "Dela Gothic One", 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%;
}
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;
}

button {
	background-color: var(--brand-orange);
	border: 0;
	color: #FFF;
	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;
}
.margin-bottom {
	margin-bottom: 86px;
}
.brand-orange {
	color: var(--brand-orange);
}

/* 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 */
	section.header .content {
		padding: 30px 80px;
	}
	section.header .top-bar {
		align-items: center;
		border-bottom: 1px solid #2A2A22;
		display: flex;
		justify-content: space-between;
		margin-bottom: 40px;
		padding-bottom: 20px;
		width: 100%;
	}
	section.header .top-bar .telephone {
		font-family: "Barlow Condensed", sans-serif;
		font-weight: 400;
		font-style: normal;
		width: 21%;
	}
	section.header a {
		color: #000;
		font-family: "Barlow Condensed", sans-serif;
	  	font-weight: 400;
		font-style: normal;
	}
	section.header .top-bar .strapline {
		font-family: "Barlow Condensed", sans-serif;
	  	font-weight: 500;
		font-style: normal;
	}
	section.header .top-bar .button-holder {
		text-align: right;
		letter-spacing: 1px;
		width: 21%;
	}
	section.header .top-bar .button-holder a.orange-link {
		color: var(--brand-orange);
		font-weight: 700;
		margin-left: 20px;
	}
	section.header .content .nav {
		align-items: center;
		display: flex;
		justify-content: space-between;
		vertical-align: middle;
	}
	section.header .nav nav {
		margin-bottom: 20px;
		width: 50%; /* force them to be 50 */
	}
	section.header .content .nav ul {
		margin-left: 0;
		display: flex;
	}
	section.header .content .nav ul li a {
		color: #000;
		font-family: "Barlow Condensed", sans-serif;
	  	font-weight: 700;
	  	font-size: 18px;
		font-style: normal;
		letter-spacing: 2.25px;
		text-transform: uppercase;
	}
	section.header .content .nav .lhs ul li a {
		margin-right: 50px;
	}
	section.header .content .nav .rhs ul {
		justify-content: flex-end;
	}
	section.header .nav .rhs ul li a {
		display: flex;
		margin-left: 50px;
	}
	section.header .nav .rhs ul#menu-secondary-menu li:first-child a:before {
    	font-family: "Material Icons";
    	font-size: 30px;
    	font-weight: 400;
    	content: '\e8b6';
    	margin-right: 5px;
	}

/* header block */
	.header-block .content {
		display: flex;
	}
	.header-block .content div {
		overflow: hidden;
		width: 26%;
	}
	.header-block .content div.text {
		background-color: #091919;
		padding: 50px 50px 100px 50px;
		text-align: center;
		width: 48%;
	}
	.header-block .content div.text h2 {
		font-family: "Barlow Condensed", sans-serif;
		font-size: 16px;
		line-height: 20px;
		margin-bottom: 20px;
	}
	.header-block .content div.text p {
		display: inline-block;
		font-family: "Barlow Condensed", sans-serif;
		font-size: 16px;
		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: #FFF;
		font-family: "Barlow Condensed", sans-serif;
		font-weight: 700;
		letter-spacing: 1px;
		padding: 0;
		text-transform: uppercase;
		width: 115px;
	}

/* 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 h2 {
		font-size: 28px;
		font-weight: 400;
		line-height: 32px;
	}
	.two-column-promo .content .rhs {
		background-color: #2A2A22;
		color: #FFF;
		font-family: "Barlow Condensed", sans-serif;
		font-weight: 700px;
		padding: 70px 100px 70px 60px;
		text-transform: uppercase;
		width: 100%;
	}

/* shortcuts promo */
	.shortcuts-promo {
		text-align: center;
	}
	.shortcuts-promo h2 strong {
		font-weight: normal;
		text-decoration: underline;
	}
	.shortcuts-promo .shortcuts {
		display: flex;
		margin: 0 100px;
		gap: 40px;
	}

/* reviews promo */
	.reviews-promo .content {
		color: #FFF;
		padding: 80px 0 80px 100px;
	}
	.reviews-promo .content h2 {
		font-size: 16px;
		line-height: 20px;
		margin-bottom: 10px;
		text-transform: uppercase;
	}
	.reviews-promo .review-slide {
		background-color: #2A2A22;
		color: #FFF;
		padding: 44px 40px;
	}
	.reviews-promo .review-slide blockquote footer {
		text-transform: uppercase;
	}

/* logo promo */
	.logo-promo .content {
		padding: 80px 100px;
	}
	.logo-promo h2 {
		font-size: 16px;
		margin-bottom: 40px;
		text-transform: uppercase;
		width: 100%;
	}
	.logo-promo .logos {
		align-items: center;
		display: flex;
		justify-content: center;
		gap: 80px;
	}

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

/* products categories promo */
	.category-tabs-slider .cat-tab {
		text-align: left;
	}
	.category-tabs-slider .cat-tab a {
		color: #2A2A22;
		display: block;
		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: #EE522A;
	}

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

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

	@media (max-width: 768px) {
		.product-categories-promo .content {
			padding: 40px 20px;
		}
	}

	/* 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: #2A2A22;
		font-family: "Barlow Condensed", sans-serif;
		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: #E6E1DB;
		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;
	}

/* category landing */
	.category-landing-header {
		background-color: #2A2A22;
	}
	.category-landing-header .content {
		display: flex;
		justify-content: space-between;
		padding: 50px 100px 55px 100px;
	}
	.category-landing-header .intro-text p {
		font-family: "Barlow Condensed", sans-serif;
		font-weight: 700;
		color: #FFF;
		text-transform: uppercase;
		margin-bottom: 20px;
	}
	.category-landing-header .intro-text h1 {
		color: #EE522A;
		text-transform: uppercase;
		font-size: 46px;
		font-weight: 400;
		line-height: 46px;
		margin-bottom: 0;
	}
	.category-landing-header .filter-sort {
		display: flex;
		align-items: flex-end;
	}
	.category-landing-header .filter-buttons button {
		color: #FFF;
		display: inline-block;
		float: left;
		font-family: "Barlow Condensed", sans-serif;
		font-weight: 700;
		letter-spacing: 1px;
		margin-right: 18px;
	}
	.category-landing-header .vat-buttons {
		width: 50px;
	}
	.category-landing-header .vat-buttons a {
		display: inline-block;
		color: #FFF;
		font-family: "Barlow Condensed", sans-serif;
		font-weight: 700;
		font-size: 18px;
		text-decoration: none;
		opacity: 0.4;
		width: 100%;
		line-height: 22px;
	}
	.category-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;
	}
	/* Tablets (max 1024px) → 3 wide */
	@media (max-width: 1024px) {
		.category-products .content ul.products {
			grid-template-columns: repeat(3, 1fr);
		}
	}

	/* 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;
		}
	}
	.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: #F0F0F0;
		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-family: "Barlow Condensed", sans-serif;
		font-weight: 700;
		font-size: 18px;
		line-height: 18px;
		margin-bottom: 6px;
	}
	.category-products .content .product h2.product-title a {
		color: #2A2A22;
	}
	.category-products .content .product .product-code {
		color: #7A7A6F;
		font-family: "Barlow Condensed", sans-serif;
		font-weight: 400;
		font-size: 16px;
		margin-bottom: 16px;
	}
	.product-prices {
		border: 1px solid #E6E1DB;
		bottom: 0;
		display: flex;
		font-family: "Barlow Condensed", sans-serif;
		font-size: 16px;
		font-weight: 500;
		line-height: 22px;
		max-width: 176px;
		position: absolute;
	}
	.product-prices .purchase-price,
	.product-prices .hire-price {
		text-align: center;
		width: 88px;
		height: 60px;
		padding-top: 8px;
	}
	.product-prices .purchase-price {
		background-color: #E6E1DB;
	}
	.product-prices .hire-price .price {
		color: var(--brand-orange);
	}
	.product-prices .price {
		font-size: 18px;
		font-weight: 700;
	}
	.load-more-wrap {
		text-align: center;    /* center button inside */
		margin-top: 100px;      /* breathing space from products */
	}
	.load-more-wrap button {
		background-color: #2A2A22;
		color: #FFF;
		font-weight: 700;
		letter-spacing: 1px;
		width: 206px;
	}

/* footer */
	footer {
		background-color: #2A2A22;
		display: inline-block;
		width: 100%;
	}
	footer .content {
		padding: 70px 100px 200px 100px;
	}
	footer .footer-columns {
		color: #FFF;
		display: flex;
		float: right;
		gap: 20%;
		width: 60%;
	}
	footer .footer-columns h3 {
		font-family: "Barlow Condensed", sans-serif;
		font-size: 16px;
		font-weight: 700;
		text-transform: uppercase;
	}
	footer .footer-columns ul {
		text-transform: uppercase;
		font-family: "Barlow Condensed", sans-serif;
  		font-weight: 500;
  		font-style: normal;
  		margin: 0 0 10px 0;
	}
	footer .footer-columns ul li {
		font-size: 16px;
		list-style-type: none;
	}

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

*/