/*
 Theme Name: Divi Child
 Theme URI: https://www.elegantthemes.com/gallery/divi/
 Description: Divi Child Theme
 Author: Elegant Themes
 Author URI: https://www.elegantthemes.com
 Template: Divi
 Version: 1.0.0
*/
 
/* =Theme customization starts here
------------------------------------------------------- */

:root {
	/*---- MASTER VALUES ----*/

	--master-font-size: 	 100px;
	--master-line-height: 	 1em;
	--master-letter-spacing: 0em;
	--master-section-pad: 	 10px;

	/*---- FRAME SIZES ----*/

	--frame-max-l: 1600px;
	--frame-max-m: 1120px;
	--frame-max-s: 1000px;
	--frame-pad:   400px;
	--frame-width: calc(100% - (var(--frame-pad) / 2));

	/*---- SPACING ----*/

	--column-gap: 10px;
	--row-gap: 10px;

	/*---- FONTS ----*/

	--font-main: 	 "Signika", var(--font-default);
	--font-body: 	 'source-sans-pro', var(--font-default);
	--font-default:  "sans-serif";
	--font-fa: 		 "Font Awesome 6 Pro", FontAwesome;
	--font-fak: 	 "Font Awesome Kit", FontAwesome;
	--font-fa-sharp: "Font Awesome 6 Sharp";

	/*---- FONT SIZING ----*/

	--size-1:  clamp(12px, 0.13rem, 13px);
	--size-2:  clamp(14px, 0.16rem, 16px);
	--size-3:  clamp(14px, 0.18rem, 18px);
	--size-4:  clamp(18px, 0.22rem, 22px);
	--size-5:  clamp(22px, 0.26rem, 26px);
	--size-6:  clamp(24px, 0.30rem, 30px);
	--size-7:  clamp(22px, 0.34rem, 34px);
	--size-8:  clamp(24px, 0.38rem, 38px);
	--size-9:  clamp(26px, 0.40rem, 40px);
	--size-10: clamp(30px, 0.46rem, 46px);
	--size-11: clamp(30px, 0.50rem, 50px);
	--size-12: clamp(34px, 0.54rem, 54px);
	--size-13: clamp(34px, 0.58rem, 58px);
	--size-14: clamp(34px, 0.62rem, 62px);
	--size-15: clamp(34px, 0.66rem, 66px);
	--size-16: clamp(36px, 0.70rem, 70px);

    --size-h1: var(--size-9);
    --size-h2: var(--size-9);
    --size-h3: var(--size-7);
    --size-h4: var(--size-4);
    --size-h5: var(--size-3);
    --size-h6: var(--size-1);

	/*---- PADDING ----*/

	--pad-1:25px;
	--pad-2:50px;
	--pad-3:75px;
	--pad-4:100px;
	--pad-5:125px;
	--pad-6:150px;
	--pad-7:175px;
	--pad-8:200px;


	/*---- COLOURS ----*/

	--colour-primary: 	 #A6192E;
	--colour-secondary:  #35403F;
	--colour-white: 	 #FFF;
	--colour-black: 	 #000;
	--colour-background: #F2F2F1;
	--colour-dark:		 #231f20;
	--colour-grey:		 #dededa;
	--colour-light:		 #F2F2F1;
	--colour-text:	 	 #333;

	/*---- TRANSITIONS ----*/

	--transition: 	all 0.3s cubic-bezier(0,0,0.1,0.9);
	--transition-fast: all 0.15s cubic-bezier(0,0,0.1,0.9);
	--transition-hover:   	all 0.1s ease-in-out 0s;

	/*---- Z-INDEX SCALE ----*/

	--z-below:    -1;
	--z-base:      0;
	--z-raised:   10;
	--z-dropdown: 50;
	--z-sticky:  100;
	--z-overlay: 200;
	--z-modal:   300;
}

/*---- UNIVERSAL - FONT SIZE ADJUSTMENT ----*/

@media screen and (max-width:1600px) { :root { --master-font-size: 90px; }}
@media screen and (max-width:1400px) { :root { --master-font-size: 80px; }}
@media screen and (max-width:1200px) { :root { --master-font-size: 70px; }}
@media screen and (max-width:1000px) { :root { --master-font-size: 60px; }}
@media screen and (max-width:800px)  { :root { --master-font-size: 50px; }}
@media screen and (max-width:600px)  { :root { --master-font-size: 40px; }}
@media screen and (max-width:400px)  { :root { --master-font-size: 30px; }}


/*---- DEFAULT - TEXT FORMATTING CSS ----*/

/* Text - Headers */
/* -------------- */
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
	font-family: 	var(--font-main);
	text-transform: none;
	padding-bottom: 0px;
}
h1, .h1 {
	font-weight: 	600;
	color: 			var(--colour-primary);
	margin-bottom:  20px;
}
h2, .h2 {
	font-weight: 	600;
	color: 			var(--colour-primary);
	margin-bottom:  20px;
}
h3, .h3 {
	font-weight: 	600;
	color: 			var(--colour-primary);
	margin-bottom:  20px;
}
h4, .h4 {
	font-weight: 	600;
	color: 			var(--colour-primary);
	margin-bottom:  20px;
}
h5, .h5 {
	font-weight: 	600;
	color: 			var(--colour-primary);
	margin-bottom:  20px;
}
h6, .h6 {
	font-weight: 	600;
	text-transform: uppercase;
	color: 			var(--colour-primary);
	letter-spacing: 0.05em;
	margin-bottom:  20px;
}

h1, .h1 { font-size: var(--size-h1); line-height: calc(var(--master-line-height) * 1.2); }
h2, .h2 { font-size: var(--size-h2);  line-height: calc(var(--master-line-height) * 1.2); }
h3, .h3 { font-size: var(--size-h3);  line-height: calc(var(--master-line-height) * 1.3); }
h4, .h4 { font-size: var(--size-h4);  line-height: calc(var(--master-line-height) * 1.2); }
h5, .h5 { font-size: var(--size-h5);  line-height: calc(var(--master-line-height) * 1.2); }
h6, .h6 { font-size: var(--size-h6);  line-height: calc(var(--master-line-height) * 1.2); }


/*---- Text - Inline Tags ----*/

strong, b {
	font-weight: 700;
}
strong, span, em, a, i, b, strike {
	font-size: inherit;
	color: inherit;
	line-height: inherit;
}
p span, p , li, .footer .foot-menu > li a, label {
	font-weight: 400;
	color: inherit;
	font-family: var(--font-body);
	letter-spacing: 0px;
	line-height: calc(var(--master-line-height) * 1.7);
	font-size: 16px;
}
a {
	transition: var(--transition);
}
a:hover {
	color: var(--colour-primary);
	transition: var(--transition);
}

hr {
	border: 0;
	border-top: 1px solid rgba(0,0,0,0.15);
	margin: 20px 0;
}

.font-large p,
.font-large p span {
	font-size: clamp(20px, 0.30rem ,26px);
	line-height: calc(var(--master-line-height) * 1.7);
}


/*---- Text - Lists ----*/

li { list-style-position: inside; }

/*---- Ordered Lists ----*/

.et_pb_section ol {
	counter-reset: list-counter;
	padding-left: 30px;
}
.et_pb_section ol li {
	counter-increment: list-counter;
	list-style: none;
}
.et_pb_section ol li::before {
	content: counter(list-counter)".";
	margin: 0px 15px 0px -30px;
	min-width: 10px;
	display: inline-flex;
	font-weight: 500;
}

/*---- REDUCED MOTION ----*/

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration:        0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration:       0.01ms !important;
		scroll-behavior:           auto !important;
	}
}

/*---- Text Size Overrides ----*/
.et_pb_column_1_3 h1,
.et_pb_column_1_4 h1,
.et_pb_column_1_5 h1,
.et_pb_column_1_6 h1,
.et_pb_column_2_5 h1 {
	font-size: var(--size-h1);
}
.et_pb_column_1_3 h2,
.et_pb_column_1_4 h2,
.et_pb_column_1_5 h2,
.et_pb_column_1_6 h2,
.et_pb_column_2_5 h2 {
	font-size: var(--size-h2);
}
.et_pb_column_1_3 h3,
.et_pb_column_1_4 h3,
.et_pb_column_1_5 h3,
.et_pb_column_1_6 h3,
.et_pb_column_2_5 h3 {
	font-size: var(--size-h3);
}
.et_pb_column_1_3 h4,
.et_pb_column_1_4 h4,
.et_pb_column_1_5 h4,
.et_pb_column_1_6 h4,
.et_pb_column_2_5 h4 {
	font-size: var(--size-h4);
}
.et_pb_column_1_3 h5,
.et_pb_column_1_4 h5,
.et_pb_column_1_5 h5,
.et_pb_column_1_6 h5,
.et_pb_column_2_5 h5 {
	font-size: var(--size-h5);
}
.et_pb_column_1_3 h6,
.et_pb_column_1_4 h6,
.et_pb_column_1_5 h6,
.et_pb_column_1_6 h6,
.et_pb_column_2_5 h6 {
	font-size: var(--size-h6);
}

/*---- DEFAULT - DOCUMENT STRUCTURE CSS ----*/

html {
	font-size: 		 var(--master-font-size);
	line-height: 	 var(--master-line-height);
	letter-spacing:  var(--master-letter-spacing);
	font-family: 	 var(--font-main);
	scroll-behavior: smooth;
}
html body.frame-full-width .body .frame { padding: 0px; }
body, html, .et_pb_section 				{ background-color: var(--colour-background); }
html *::selection 						{ background-color: var(--colour-primary); color: var(--colour-white); }

body {
	color: var(--colour-text);
}

*, *::before, *::after {
	box-sizing: border-box;
}

#main-content {
	background-color: var(--colour-background);
}

/*---- DEFAULT - MEDIA ----*/

img, video, svg, canvas, iframe, embed, object {
	display:   block;
	max-width: 100%;
}
img, video {
	height: auto;
}

/* Offset anchor targets so they clear a sticky header */
:target {
	scroll-margin-top: 160px;
}

/*---- ACCESSIBILITY ----*/

:focus-visible {
	outline:        2px solid var(--colour-primary);
	outline-offset: 3px;
	border-radius:  2px;
}
:focus:not(:focus-visible) {
	outline: none;
}

/* On dark backgrounds the primary red (#A6192E) fails 3:1 contrast (SC 2.4.11).
   Use white for header and footer focus rings, carve out dropdown/mobile menu
   which render on lighter surfaces. */
header .et_pb_section :focus-visible,
header .et_pb_section .header-ribbon :focus-visible {
	outline-color: var(--colour-white);
}
header .et-menu ul.sub-menu :focus-visible,
header .et_mobile_menu :focus-visible {
	outline-color: var(--colour-primary);
}
footer :focus-visible {
	outline-color: var(--colour-white);
}

@media screen and (max-width:1600px) { :root { --frame-pad: 300px; } }
@media screen and (max-width:1400px) { :root { --frame-pad: 280px; }}
@media screen and (max-width:1300px) { :root { --frame-pad: 240px; } }
@media screen and (max-width:1100px) { :root { --frame-pad: 200px; } }
@media screen and (max-width:800px)  { :root { --frame-pad: 160px; }}
@media screen and (max-width:600px)  { :root { --frame-pad: 100px; } }
@media screen and (max-width:400px)  { :root { --frame-pad: 60px; }}

/*---- DEFAULT - POST BUILDER STRUCTURE CSS ----*/

.et_pb_section .et_pb_module {
	margin: 0px;
	margin-bottom: 0px !important;
}
.et_pb_section .et_pb_row {
	display: 	flex;
	flex-wrap: 	nowrap;
	row-gap: 	clamp(30px, calc(var(--row-gap) * 6), 60px);
	column-gap: clamp(30px, calc(var(--column-gap) * 6), 60px);
	max-width:  var(--frame-max-m);
	width: 		var(--frame-width);
	padding: 	0px;
}
.et_pb_section .et_pb_column {
	display: 		flex;
	flex-direction: column;
	max-width: 		unset;
	column-gap: 	clamp(30px, calc(var(--column-gap) * 4), 40px);
	margin: 		0px !important;
	width:			100%;
	float:			none;
}
.et_pb_row::after {
	display: none;
}
.et_pb_section:has(.et_pb_row_2) .et_pb_row {
	padding-bottom: 30px;
}
.et_pb_section:has(.et_pb_row_2) .et_pb_row:last-child {
	padding-bottom: 0px;
}

.et_pb_section .et_pb_column.et_pb_column_1_6  	{ flex: 1 1 12%; }
.et_pb_section .et_pb_column.et_pb_column_1_5  	{ flex: 1 1 15%; }
.et_pb_section .et_pb_column.et_pb_column_1_4  	{ flex: 1 1 25%; }
.et_pb_section .et_pb_column.et_pb_column_1_3   { flex: 1 1 33%; }
.et_pb_section .et_pb_column.et_pb_column_1_2   { flex: 1 1 45%; }
.et_pb_section .et_pb_column.et_pb_column_2_5   { flex: 1 1 40%; }
.et_pb_section .et_pb_column.et_pb_column_3_5   { flex: 1 1 60%; }

@media screen and (max-width:1400px){
	.et_pb_section .et_pb_row:has(.et_pb_column.et_pb_column_1_4, .et_pb_column.et_pb_column_1_5, .et_pb_column.et_pb_column_1_6) { flex-wrap: wrap; }
	.et_pb_section .et_pb_column.et_pb_column_1_4 { flex: 1 1 45%; }
	.et_pb_section .et_pb_column.et_pb_column_1_5 { flex: 1 1 25%; }
	.et_pb_section .et_pb_column.et_pb_column_1_6 { flex: 1 1 25%; }
}
@media screen and (max-width:1200px){}
@media screen and (max-width:1000px){
	:root { --row-gap: 8px; --column-gap: 8px; }

	.et_pb_section .et_pb_row:has(.et_pb_column.et_pb_column_1_2) { flex-wrap: wrap; }
	.et_pb_section .et_pb_column.et_pb_column_1_2 { flex: 1 1 100%; }
	.et_pb_section .et_pb_column.et_pb_column_1_5 { flex: 1 1 45%; }
	.et_pb_section .et_pb_column.et_pb_column_1_6 { flex: 1 1 45%; }
	.et_pb_section .et_pb_column.et_pb_column_2_5 { flex: 1 1 45%; }
	.et_pb_section .et_pb_column.et_pb_column_3_5 { flex: 1 1 45%; }
}
@media screen and (max-width:800px) {
	.et_pb_section .et_pb_column.et_pb_column_1_4 { flex: 1 1 100%; }
	.et_pb_section .et_pb_column {
		row-gap: 	clamp(30px, calc(var(--row-gap) * 6), 60px);
	}
}
@media screen and (max-width:600px) {
	:root { --row-gap: 4px; --column-gap: 4px; }

	.et_pb_section .et_pb_column.et_pb_column_1_5 { flex: 1 1 100%; }
	.et_pb_section .et_pb_column.et_pb_column_1_6 { flex: 1 1 100%; }
}
@media screen and (max-width:400px) {}

/*---- DEFAULT - SECTION CSS ----*/

.et_pb_section.colour-1 { background-color: var(--colour-primary); 	}
.et_pb_section.colour-2 { background-color: var(--colour-secondary); }
.et_pb_section.colour-white { background-color: var(--colour-white); }
.et_pb_section.colour-black { background-color: var(--colour-black); }


#main-content .et_pb_section { padding: clamp(60px, calc(var(--master-section-pad) * 15), 150px); }
#main-content .et_pb_section.section-pad-0 { padding: clamp(0px,  calc(var(--master-section-pad) * 0), 0px);    }
#main-content .et_pb_section.section-pad-1 { padding: clamp(60px, calc(var(--master-section-pad) * 4), 40px);   }
#main-content .et_pb_section.section-pad-2 { padding: clamp(60px, calc(var(--master-section-pad) * 6), 60px);   }
#main-content .et_pb_section.section-pad-3 { padding: clamp(60px, calc(var(--master-section-pad) * 8), 80px);   }
#main-content .et_pb_section.section-pad-4 { padding: clamp(60px, calc(var(--master-section-pad) * 10), 100px); }
#main-content .et_pb_section.section-pad-5 { padding: clamp(60px, calc(var(--master-section-pad) * 12), 120px); }
#main-content .et_pb_section.section-pad-6 { padding: clamp(60px, calc(var(--master-section-pad) * 18), 180px); }


#main-content .et_pb_section.pad-top-none { padding-top: 0px; }
#main-content .et_pb_section.pad-bot-none { padding-bottom: 0px; }

#main-content .et_pb_section { padding-left: 0px !important; padding-right: 0px !important; }

body .et_pb_section:where(.colour-1, .colour-2, .overlay-1, .overlay-2, .overlay-3) .et_pb_text *,
body .et_pb_section:where(.colour-1, .colour-2, .colour-black, .overlay-1, .overlay-2, .overlay-3) .et_pb_module_heading { color: var(--colour-white); }
body .et_pb_section:where(.overlay-1, .overlay-2, .overlay-3) .et_pb_image_wrap {
	position: relative;
	z-index: 1;
}
body .et_pb_section:where(.overlay-1, .overlay-2, .overlay-3) .et_pb_image_wrap::before {
	content: '';
	position: absolute;
	inset: 0;
	background-color: var(--colour-black);
	opacity: 0.5;
	z-index: 1;
}

@media screen and (max-width: 1400px) { :root { --master-section-pad: 8px; } }
@media screen and (max-width: 1000px) { :root { --master-section-pad: 6px; } }
@media screen and (max-width: 600px)  { :root { --master-section-pad: 4px; } }

/*---- DEFAULT - BUTTON CSS ----*/

body .et_pb_section button.et_pb_button,
body .et_pb_section button.button,
body .et_pb_section a.et_pb_button,
body .et_pb_section a.button {
    position: relative;
    padding: 8px 16px !important;
	background-color: var(--colour-primary) !important;
	border-radius: 0 !important;
    border: none !important;
	width: fit-content;
    z-index: 2;
	opacity: 1;

    display: flex;
	align-items: center;
	justify-content: center;
    column-gap: 0px;

	font-weight: 400;
	font-size: var(--size-2) !important;
	font-family: var(--font-main);
	text-transform: unset;
	text-decoration: none;
	letter-spacing: 0.0015em;
	white-space: nowrap;
	color: var(--colour-white) !important;
	line-height: calc(var(--master-line-height) * 1.5) !important;

	transition: var(--transition);
}


body .et_pb_section button.et_pb_button:hover,
body .et_pb_section a.et_pb_button:hover {
	color: var(--colour-primary);
	background-color: var(--colour-bx-orange-hover);
}

body .et_pb_section button.et_pb_button::before,
body .et_pb_section button.button::before,
body .et_pb_section a.et_pb_button::before,
body .et_pb_section a.button::before {
    content: "";
    display: none !important;
}
body .et_pb_section button.et_pb_button::after,
body .et_pb_section a.et_pb_button::after {
	display: none !important;
}

/**
 * Button Arrow
 * -------------
 * Enable comment text to add an chevron icon to the button.
 * The arrow is positioned after the button text.
**/
/* body .et_pb_section button.et_pb_button::after,
body .et_pb_section a.et_pb_button::after {
	content: "";
    pointer-events: none;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    top: 0;
    border-radius: 35px;
	transform: translateY(0);
	z-index: -1;
    opacity: 1;
    background-color: transparent;
    border: 2px solid var(--colour-orange);
    transition: all 1s cubic-bezier(0, 0, 0.1, 0.9), top 0s, left 0s, right 0s, bottom 0s;
}

body .et_pb_section button.et_pb_button:hover::after,
body .et_pb_section a.et_pb_button:hover::after {
	bottom: -10px;
    right: -10px;
    left: -10px;
    top: -10px;
    transition: all 1s cubic-bezier(0, 0, 0.1, 0.9);
	opacity: 0;
} */

/* body .et_pb_section button.et_pb_button::after,
body .et_pb_section a.et_pb_button::after {
    content: "\f054";
    position: unset;
    opacity: 1;
    font-family: var(--font-fa) !important;
    color: inherit;
    font-size: 14px;
    margin-left: 20px;
    display: flex;
    align-items: center;
    transition: var(--transition);
    z-index: 3;
}

body .et_pb_section button.et_pb_button:hover::after,
body .et_pb_section a.et_pb_button:hover::after {
	color: var(--colour-primary);
} */

.et_pb_button i, button i,
.et_pb_button span, button span,
.et_pb_button em, button em {
	font-weight: 300;
	font-size: 1.2em;
	color: inherit;
}

/*----  BUTTON VARIANTS ----*/
body .et_pb_section button.et_pb_button.clear-btn,
body .et_pb_section a.et_pb_button.clear-btn {
    color: var(--colour-white);
}
body .et_pb_section button.et_pb_button.clear-btn::after,
body .et_pb_section a.et_pb_button.clear-btn::after {
    color: var(--colour-white);
}

body .et_pb_wc_cart_notice .wc-forward, 
body .et_pb_wc_cart_notice button.button, 
body .et_pb_wc_cart_notice .wc-backward {
	background-color: var(--colour-orange) !important;
}
body .et_pb_wc_cart_notice .wc-forward::after, 
body .et_pb_wc_cart_notice button.button::after, 
body .et_pb_wc_cart_notice .wc-backward::after {
	display: none !important;
	visibility: hidden;
	opacity: 0;
}

body.woocommerce a.button::before, 
body.woocommerce-page a.button::before {
	margin-left: 0;
}

/*---- SCROLL BUTTON ----*/
body .et_pb_section .et_pb_row:has(.scroll-btn),
body .et_pb_section .et_pb_column:has(.scroll-btn),
body .et_pb_section .et_pb_button_module_wrapper:has(.scroll-btn),
body .et_pb_section a.et_pb_button.scroll-btn {
	position: unset;
}
body .et_pb_section a.et_pb_button.scroll-btn {
	position: absolute;
	bottom: 30px;
	left: 50%;
	padding: 0px !important;
}
body .et_pb_section a.et_pb_button.scroll-btn::before {
	display: none;
}
body .et_pb_section a.et_pb_button.scroll-btn::after {
	content: '\f322';
	color: var(--colour-white);
	margin: 0;
	font-size: 18px;
}

@media screen and (max-width:1600px){}
@media screen and (max-width:1400px){}
@media screen and (max-width:1200px){}
@media screen and (max-width:1000px){}
@media screen and (max-width:800px) {}
@media screen and (max-width:600px) {}
@media screen and (max-width:400px) {}

/*---- DEFAULT - PB BLOCK CSS ----*/


/* Block - Image */
/* --------------- */
.et_pb_image .et_pb_image_wrap {
	width: 100%;
}

@media screen and (max-width: 1000px) {
body .et_pb_module .et_pb_image_wrap img {
		width: 100%;
	}
}
/* Block - Content */
/* --------------- */

.center.et_pb_text * {
	text-align: center;
}

#left-area ul, .entry-content ul, .et-l--body ul, .et-l--footer ul, .et-l--header ul {
    padding: 0px;
    line-height: 26px;
}

.et_pb_section .et_pb_divider:before {
    border-top-color: var(--colour-grey);
}

/* Negative Margin */

.nm-200 {
	margin-top: -200px !important;
}

/* Block - FAQ */
/* -------------- */

.et_pb_row:has(.et_pb_toggle) .et_pb_column {
	row-gap: 0px;
}
.et_pb_row:has(.et_pb_toggle) .et_pb_module_heading {
	text-align: center;
}
.et_pb_accordion {
	display: flex;
	flex-direction: column;
	row-gap: 15px;
}
.et_pb_toggle_close,
.et_pb_toggle_open {
	transition: var(--transition);
    background-color: var(--colour-white);
	border-radius: 20px;
    padding: 30px;
}
.et_pb_toggle_close .et_pb_toggle_title,
.et_pb_toggle_open .et_pb_toggle_title,
.et_pb_toggle_item h5 {
    color: var(--colour-text) !important;
	margin: 0px;
	font-family: var(--font-main);
	font-size: var(--size-4);
	font-weight: 600;
	line-height: 1.3em;
	text-transform: none;
	letter-spacing: normal;
}
.et_pb_module.et_pb_toggle_item:not(:last-child) {
	border-bottom: 1px solid #2222222e;
}
.et_pb_toggle .et_pb_toggle_title:before {
	content: '\2b';
	font-family: var(--font-fa) !important;
    right: 0px;
    font-size: 25px;
    color: var(--colour-secondary);
}
.et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title:before {
	content: '\f068';
	display: block;
	visibility: visible;
    color: var(--colour-secondary);
}
.et_pb_toggle_close {
	outline: 1px solid var(--colour-grey);
}
.et_pb_toggle_close:hover {
	outline: 3px solid var(--colour-secondary);
	background-color: var(--colour-white);
}
.et_pb_toggle_open {
    box-shadow:
	0px 112px 31px 0px rgba(15, 0, 0, 0.00),
	0px 72px 29px 0px rgba(15, 0, 0, 0.02),
	0px 40px 24px 0px rgba(15, 0, 0, 0.04),
	0px 18px 18px 0px rgba(15, 0, 0, 0.06),
	0px 4px 10px 0px rgba(15, 0, 0, 0.08);
}
.et_pb_toggle_open h5.et_pb_toggle_title {
    color: var(--colour-secondary) !important;
}
.et_pb_column .et_pb_module.et_pb_toggle {
	margin: 0px;
}
.et_pb_toggle {
    border: 0px solid;
}
.et_pb_toggle_content {
	padding-top: 10px;
}


@media screen and (max-width: 800px) {
	.et_pb_toggle_close .et_pb_toggle_title, .et_pb_toggle_item h5 {
	    padding-right: 0 !important;
	}
	.et_pb_toggle .et_pb_toggle_title:before {
	    left: auto;
	    right: -40px;
	}
	.et_pb_toggle_close, .et_pb_toggle_open {
		padding: 22px;
		padding-right: 60px;
	}
	.et_pb_toggle_close .et_pb_toggle_title, .et_pb_toggle_item h5 {
	    font-size: 18px;
	}
}
@media screen and (max-width: 600px) {
	.et_pb_toggle_close .et_pb_toggle_title,
	.et_pb_toggle_open .et_pb_toggle_title,
	.et_pb_toggle_item h5 {
		font-size: var(--size-3);
	}
	.et_pb_accordion .et_pb_toggle_content {
		margin-right: -40px;
	}
	.et_pb_accordion .et_pb_toggle_content p {
		font-size: var(--size-2);
	}
}



/* Block - Slider */
/* -------------- */

.et_pb_section .et_pb_module .swiper-button-prev,
.et_pb_section .et_pb_module .swiper-button-next {
	background-color: var(--colour-primary) !important;
	background-image: none !important;
	border-radius: 0px;
	transition: var(--transition);
}
.et_pb_section .et_pb_module .swiper-button-next:hover,
.et_pb_section .et_pb_module .swiper-button-prev:hover {
	background-color: var(--colour-white) !important;
	transition: var(--transition);
}
.et_pb_section .et_pb_module .swiper-button-next:hover i,
.et_pb_section .et_pb_module .swiper-button-prev:hover i {
	color: var(--colour-primary);
	transition: var(--transition);
}
.divi8-testi-icon-left, .divi8-testi-icon-right {
    font-size: var(--size-5) !important;
}


@media screen and (max-width:1600px){}
@media screen and (max-width:1400px){}
@media screen and (max-width:1200px){}
@media screen and (max-width:1000px){}
@media screen and (max-width:800px) {

}
@media screen and (max-width:600px) {}
@media screen and (max-width:400px) {

}

/*---- 404 ----*/
.section-404 .et_pb_text h1 {
    font-size: 2rem;
    line-height: 1em;
}
.section-404 .et_pb_button_module_wrapper,
.section-404 .et_pb_button_module_wrappers {
    justify-content: center;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    row-gap: 15px;
    column-gap: 15px;
}
.section-404 .et_pb_text_inner {
	text-align: center;
	margin-bottom: 40px;
}
.section-404 .et_pb_text_inner h1 {
	margin-bottom: 10px;
}

@media screen and (max-width:1600px) { }
@media screen and (max-width:1400px) { }
@media screen and (max-width:1200px) { }
@media screen and (max-width:1000px) { }
@media screen and (max-width:800px) { }


/* Default CSS END */


/*----------------*/
/*---- HEADER ----*/
/*----------------*/

header {
	padding: 0;
	width: 100%;
	z-index: 101;
	/* position: fixed; */
	position: relative;
	background-color: var(--colour-white);
	/** Enable for transparent header **/
	/* position: absolute; */
	/* background-color: transparent; */
}

/*sections*/
header .et_pb_section {
    width: 100%;
    max-width: 100%;
	row-gap: 40px;
    margin: 0 auto;
    background: var(--colour-secondary);
	position: relative;
}
header .et_pb_section.header-ribbon,
.et-db #et-boc header .et_pb_section.header-ribbon {
    background-color: var(--colour-primary);
	color: var(--colour-white);
	padding: 5px 0px;
}
header .et_pb_section.header-main,
.et-db #et-boc header .et_pb_section.header-main {
    padding: 20px 0px;
}

/*frame*/
header .et_pb_section .et_pb_row {
    max-width: 1120px;
	width: var(--frame-width);
	column-gap: 20px;
	padding: 0px;
    margin: 0 auto;
    display: flex;
    align-items: center;
	justify-content: space-between;
}
header .et_pb_section.header-main .et_pb_row {
	position: static !important;
	flex-wrap: nowrap !important;
}

header .et_pb_section .et_pb_column {
	align-items: center;
}
header .et_pb_section .et_pb_column:first-child,
header .et_pb_section .et_pb_column:last-child {
	width: 100%;
	flex: 1 1 auto;
}
header .et_pb_section .et_pb_column:has(.et_pb_searchform) {
	flex-direction: row;
}
header .et_pb_section .et_pb_column:nth-child(2) {
	width: auto;
	flex: 0 0 auto;
	column-gap: 20px;
}
header .et_pb_section .et_pb_column:first-child {
	justify-content: center;
	align-items: flex-start;
}
header .et_pb_section .et_pb_column:last-child {
	justify-content: center;
	align-items: flex-end;
}
header .et_pb_section .et_pb_column:has(.account-menu) {
	justify-content: center;
	align-items: flex-start;
}
header .et_pb_section .et_pb_column:has(.account-menu) .et_pb_group {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
header .et_pb_section .et_pb_column:has(.account-menu) .et_pb_link,
header .et_pb_section .et_pb_column:has(.account-menu) .et_pb_text {
	color: var(--colour-white);
	font-family: var(--font-body);
	display: flex;
	flex-direction: row;
	align-items: center;
	column-gap: 5px;
	font-weight: 600;
	font-size: var(--size-3);
}
header .et_pb_section .et_pb_column:has(.account-menu) .et_pb_text a {
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 16px;
}
header .et_pb_section .et_pb_column:has(.account-menu) .et_pb_text a:hover {
	color: var(--colour-white);
}
header .et_pb_section .et_pb_column:has(.account-menu) .et_pb_text::before,
header .et_pb_section .et_pb_column:has(.account-menu) .et_pb_link::before {
	font-family: "Font Awesome 6 Pro";
	font-size: 18px;
	width: 20px;
	height: 20px;
	display: flex;
	justify-content: center;
	font-weight: 900;
}

/* Header - logo / search */
header .et_pb_image,
header .et_pb_search form {
    min-width: 200px;
	max-width: 300px;
}
header .et_pb_image img {
    object-fit: contain;
	max-width: 420px;
	position: relative;
	z-index: 1001;
}

header .et_pb_search {
	border: none;
	overflow: visible;
}
header .et_pb_search * {
	transition: var(--transition-fast);
}
header .et_pb_search form {
	background-color: #495047;
	border: 1px solid #495047;
	border-radius: 0px;
	padding: 0px 0px 0px 6px;
}
header .et_pb_search form > div {
	display: flex;
	align-items: center;
}
header .et_pb_search input[type="text"] {
	font-family: var(--font-body);
	font-size: 18px;
	padding: 0px 5px 0px !important;
	outline: none !important;
	color: var(--colour-white);
	font-weight: 300;
}
header .et_pb_search input[type="text"]::placeholder {
	color: var(--colour-white);
	font-weight: 300;
	font-family: var(--font-main);
}
header .et_pb_search input[type="submit"] {
	font-family: var(--font-main) !important;
	font-size: 0px;
	line-height: 0px;
	border-radius: 0px;
	background-color: var(--colour-primary);
	height: 45px;
	width: 45px;

	background-image: url("/wp-content/uploads/2026/09/magnifying-glass-solid.png");
	background-size: 23px;
	background-repeat: no-repeat;
	background-position: center;
}

header .et_pb_search form:hover {
	border-color: var(--colour-primary);
}
header .et_pb_search form:has(input[type="text"]:focus) {
	border-color: var(--colour-secondary);
	outline: 2px solid var(--colour-secondary);
	outline-offset: 2px;
}
header .et_pb_search input[type="submit"]:hover {
	background-color: var(--colour-secondary);
}

/* Menu */
header .et_pb_section .et_pb_module {
    background-color: transparent !important;
}
header .et_pb_section .et_pb_module.dsm_menu ul,
header .et_pb_section .et_pb_module.et_pb_menu {
	display: flex;
	align-items: center;
}
header .dsm_menu .dsm-menu,
header .et_pb_menu .et-menu {
    margin-left: 0px;
    margin-right: 0px;
}
header .dsm-menu > li,
header .et-menu > li {
	margin: 0px !important;
	padding: 0px !important;
	list-style: none;
}
header .dsm-menu a,
header .et-menu a {
    display: flex;
    justify-content: center;
	font-size: 16px;
    font-weight: 300;
	line-height: 1.2em;
	padding: 10px 18px 12px;
    color: var(--colour-white);
    font-family: var(--font-main);
    border: none;
    position: relative;
    letter-spacing: 0;
    transition: var(--transition);
}
header .dsm-menu a:hover,
header .et-menu a:hover {
	opacity: 1 !important;
    color: var(--colour-primary);
	transition: var(--transition-fast);
}

header .et-menu .menu-item-has-children > a:first-child::after {
	position: relative;
	right: auto;
	top: 1px;
	margin-left: 8px;
	font-family: var(--font-fa) !important;
	content: "\f107";
	color: var(--colour-green);
}

header .et_pb_group:has(.et_pb_search) {
	row-gap: 5px;
	align-items: flex-end;
}
header .et_pb_group:has(.et_pb_search) a,
header .mobile-display {
	color: var(--colour-white);
}
header .mobile-display {
		display: none !important;
	}
@media screen and (max-width:1300px) {
	header .et_pb_image img {
		max-width: 330px;
	}
}
@media screen and (min-width:1300px) {
	
	header .header-main .et-menu a {
		font-size: 18px;
	}
}
@media screen and (max-width:1000px){
	header .mobile-display {
		display: block !important;
	}
	header .et_pb_group:has(.et_pb_search) a {
		display: none !important;
	}
}
@media screen and (max-width:800px){
	header .et_pb_section .et_pb_column:has(.account-menu) .et_pb_link {
		display: none;
	}
	header .et_pb_section .et_pb_column:has(.account-menu) .et_pb_link.fa-shopping-cart,
	header .et_pb_section .et_pb_column:has(.account-menu) .et_pb_link.fa-credit-card {
		display: flex !important;
	}
}

/* Header Dropdown */
header .et-menu > li ul.sub-menu,
header .et_pb_menu_0_tb_header.et_pb_menu .nav li ul {
	background-color: var(--colour-white) !important;
	box-shadow: 0 5px 10px rgba(0,0,0,0.25);
	border-radius: 5px;
	width: 300px;
	border: none;
	padding: 2px 0;
	transition: var(--transition);
	transition-delay: 0.2s !important;
	top: calc(100% - -10px) !important;
}
header .et-menu > li.et-hover ul.sub-menu,
header .et_pb_menu_0_tb_header.et_pb_menu .nav li.et-hover ul {
	background-color: var(--colour-white) !important;
	box-shadow: 0 10px 20px rgba(0,0,0,0.2);
	border-radius: 10px;
	border: none;
	padding: 8px 0;
	transition-delay: 0s !important;
}
header .et-menu > li ul.sub-menu li,
header .et_pb_menu_0_tb_header.et_pb_menu .nav li ul li {
	padding: 0px;
	width: 100%;
}
header .et-menu > li ul.sub-menu li a,
header .et_pb_menu_0_tb_header.et_pb_menu .nav li ul li a {
	width: 100%;
	padding: 10px 25px;
	font-size: 16px;
	font-weight: 600;
	text-transform: none;
	line-height: 1.2em;
	font-family: var(--font-main);
	justify-content: flex-start;
	color: var(--colour-text);
}
header .et-menu > li ul.sub-menu li a:hover,
header .et_pb_menu_0_tb_header.et_pb_menu .nav li ul li a:hover {
	background-color: transparent;
	color: var(--colour-orange);
	box-shadow: inset 5px 0 0 var(--colour-orange);
	opacity: 1;
	transition: var(--transition);
}

/* Header - Ribbon */
header .et_pb_section.header-ribbon .et_pb_row {
	justify-content: flex-end;
}
header .et_pb_section.header-ribbon .dsm_menu ul,
header .et_pb_section.header-ribbon .et-menu {
	column-gap: 20px;
}
header .et_pb_section.header-ribbon .dsm-menu a,
header .et_pb_section.header-ribbon .et-menu a {
	padding: 5px 0px 7px;
}

/*Account MI*/
.account-menu ul li.menu-item-36 a::before,
.account-menu ul li.et_pb_menu_page_id-12 a::before {
	content: "\f2bd";
	font-family: var(--font-fa) !important;
	margin-right: 6px;
}
/*Cart MI*/
.account-menu ul li.menu-item-38 a::before,
.account-menu ul li.et_pb_menu_page_id-10 a::before {
	content: "\f07a";
	font-family: var(--font-fa) !important;
	margin-right: 6px;
}
/*Checkout MI*/
.account-menu ul li.menu-item-37 a::before,
.account-menu ul li.et_pb_menu_page_id-11 a::before {
	content: "\e4b1";
	font-family: var(--font-fa) !important;
	margin-right: 6px;
}

.account-menu ul li a:not(:hover)::before {
	color: var(--colour-mint);
} 

/* Hide mobile-only menu items from the desktop nav */
header .et_pb_menu__menu li.mobile-only-item {
	display: none !important;
}

/*Header Responsive Override*/
@media screen and (max-width:1600px) {

}
@media screen and (max-width:1000px) {
	header {
		position: unset;
	}
	
	header .et_pb_menu .menu-item {
		width: 100%;
		border-top: 1px solid #ffffff14;
		padding: 0px calc(var(--frame-pad) / 4);
	}
	header .et_pb_menu .menu-item:last-child {
		/* border-bottom: 1px solid #05668a; */
	}
	header .et_mobile_menu li a {
		padding: 12px 0px !important;
		font-size: 22px;
		font-weight: 500;
		font-family: var(--font-main);
		display: flex;
		justify-content: space-between;
		column-gap: 20px;
	}
	header .et_mobile_menu li a::after {
		content: "\f054";
		font-size: 0.8em;
		opacity: 0.6;
		font-family: var(--font-fa);
	}
	header .et_pb_menu .menu-item a:hover {
	    text-decoration: none;
	    background: none !important;
	    color: var(--colour-mint) !important;
	    transition: var(--transition);
		opacity: 1;
	}

	header .et_mobile_menu .menu-item-has-children > a {
		background-color: transparent;
		font-weight: 500;
	}
	header .et_pb_menu .et_mobile_menu ul {
		padding-left: 0px !important;
	}
	header .et_pb_section .et_pb_menu .menu-item {
		flex-direction: column;
		align-items: flex-start;
	}
	
	header .et_pb_section .et_pb_menu .menu-item .sub-menu li {
		padding: 0;
	}
	header .et_pb_section .et_pb_menu .menu-item .sub-menu li a {
		color: var(--colour-mint);
	}
	header .et_pb_section .et_pb_menu .menu-item .sub-menu li a::after {
		content: "\f054""\f054";
	}
	
	header .et_pb_section .et_pb_row:has(.et_pb_column.et_pb_column_1_2) {
		flex-wrap: nowrap;
	}
	
	header .et_pb_menu .et_pb_menu__menu {
		display: none;
	}
	header .et_pb_menu .et_mobile_nav_menu {
		display: flex;
	}
	header .et_pb_section .et_pb_column:has(.et_pb_menu) {
		order: unset;
		flex: 1 1 45%;
		justify-content: flex-end;
		position: unset;
	}
	header .et_pb_section .et_pb_module,
	header .et_pb_menu_inner_container {
		position: unset;
	}
	header .et_pb_section .et_pb_column.et_pb_column_1_3:has(.et_pb_button) {
		display: none;
	}
	header .et_pb_section .et_pb_menu .et_mobile_menu ul {
		background-color: transparent !important;
	}
	header .et_pb_section .et_pb_menu .et_mobile_menu {
		display: none;
		position: absolute;
		top: 0;
		left: auto !important;
		right: 0 !important;
		bottom: 0;
		min-height: 100vh;
		/* max-width: 400px; */
		width: 100% !important;
		overflow-y: scroll;
		border-radius: 0;
		box-shadow: none;
		border: none !important;
		border-top: 1px solid var(--colour-primary) !important;
		background-color: var(--colour-secondary) !important;
		backdrop-filter: unset;
		padding: 85px 0px 80px !important;
		clip: unset !important;
		transition: var(--transition);
		pointer-events: none;
		opacity: 0;
		visibility: hidden;
		z-index: 1;
	}

	header .mobile_nav.opened .et_mobile_menu {
		pointer-events: all;
		opacity: 1;
		visibility: visible;
		transition: var(--transition);
	}

	/*frame*/
	header .et_pb_section.header-main,
	.et-db #et-boc header .et_pb_section.header-main {
		padding: 20px 0px;
	}

	header .et_pb_section.header-main .et_pb_column:first-child {
		flex: 1 1 auto;
		width: 200px;
		row-gap: 5px;
	}
	header .et_pb_section.header-main .et_pb_column:nth-child(2) {
		order: 2;
		align-items: flex-end;
		flex: 1 1 auto;
		width: 200px;
	}
	header .et_pb_section.header-main .et_pb_column:last-child {
		align-items: flex-end;
		flex: 1 1;
		width: auto;
		flex-direction: row-reverse;
	}
	header .et_pb_column:has(.et_pb_image) {
		z-index: 11;
	}
	header .et_pb_section.header-main:has(.mobile_nav.opened) .et_pb_image img {
		filter: grayscale(1) brightness(5);
	}

	header .et_pb_search form {
		padding: 4px;
	}

	/*Ribbon*/
	header .et_pb_section.header-ribbon .dsm-menu a, 
	header .et_pb_section.header-ribbon .et-menu a {
		font-size: 14px;
	}
}

@media screen and (max-width:800px) {
	header .et_pb_section.header-main .et_pb_column:last-child {
        justify-content: end;
	}
	header .et_pb_menu__menu li.mobile-only-item {
		display: block !important;
	}
	header .et_pb_section.header-main .et_pb_column:has(.et-menu-nav) {
		justify-content: flex-start;
	}
	body:has(.mobile_nav.opened) {
		overflow: hidden;
	}

	header .et_pb_search .et_pb_searchform {
		position: fixed;
		bottom: calc(var(--frame-pad) / 4);
		left: calc(var(--frame-pad) / 4);
		right: calc(var(--frame-pad) / 4);
		width: auto;
		max-width: unset;
		z-index: 11;

		pointer-events: none;
		visibility: hidden;
		opacity: 0;
	}
	header .header-main:has(.mobile_nav.opened) .et_pb_search .et_pb_searchform {
		pointer-events: all;
		visibility: visible;
		opacity: 1;
	}
	header .et_pb_column:has(.et_pb_search) {
		position: static;
		z-index: unset;
	}
}

/*---- HEADER SCROLL BEHAVIOR ----*/
/* Header scroll visibility animation - DESKTOP ONLY (above 1000px) */
@media screen and (min-width: 1001px) {
    header {
        transition: transform 0.3s ease-in-out;
        transform: translateY(0);
    }
    header.header--hidden {
        transform: translateY(-100%);
    }
}
@media screen and (min-width:1001px) {}
@media screen and (max-width:1200px) and (min-width:1000px) {}
@media screen and (max-width:700px){
	.header-contact {
		display: none;
	}
	header .et_pb_section .et_pb_column:has(.et_pb_menu) {
		justify-content: flex-end;
	}
	header .et_pb_section .et_pb_column.et_pb_column_1_2:has(img) {
        flex: 1 1;
		justify-content: flex-start;
	}
}
@media screen and (max-width:600px) {
	header img {
	    min-width: 150px;
	    max-width: 150px;
	    object-fit: contain;
	}
	header .et_pb_section .et_pb_row {
        flex-wrap: nowrap;
    }
}


/*----- MOBILE DROPDOWN -----*/
@media screen and (max-width:1000px) {

	.header-main .et_pb_menu .mobile_nav .mobile_menu_bar {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		transform: none;
		margin-bottom: -2px;
		cursor: pointer;
		height: 36px;
		z-index: 10;
	}

	header .header-main.et_pb_section .et_pb_column.et_pb_column_1_3:has(img) {
		z-index: 10;
	}

	.header-main .et_pb_menu .mobile_nav .mobile_menu_bar:before {
		z-index: 9999;
		font-size: 50px;
		color: var(--colour-primary);
		padding: 0 !important;
		display: flex;
		cursor: pointer;
		flex-direction: column;
		justify-content: center;
		align-items: flex-end;
		height: 30px;
	}

	.header-main .et_pb_menu .mobile_nav .mobile_menu_bar::before,
	.header-main .et_pb_menu .mobile_nav .mobile_menu_bar::after {
		content: "";
		width: 45px;
		height: 4px;
		top: 0px;
		position: relative;
		background-color: var(--colour-text);
		transition: all 0.2s cubic-bezier(0, 0, 0.1, 0.9) 0.3s, transform 0.2s cubic-bezier(0, 0, 0.1, 0.9) 0s, background-color 0.2s cubic-bezier(0, 0, 0.1, 0.9) 0s;
	}
	.header-main .et_pb_menu .mobile_nav .mobile_menu_bar::before,
	.header-main .et_pb_menu .mobile_nav .mobile_menu_bar::after {
		background-color: var(--colour-primary);
	}
	.header-main .et_pb_menu .mobile_nav .mobile_menu_bar::after {
		background-color: var(--colour-primary);
		box-shadow: 0px 22px 0 var(--colour-primary);
	}

	.header-main .et_pb_menu .mobile_nav .mobile_menu_bar::after {
		top: -15px;
		width: 45px;
	}

	.header-overlay:not(.header-floating-dark) .header .col.logo-wrap .mobile-menu-trigger i.fa-bars::before,
	.header-overlay:not(.header-floating-dark) .header .col.logo-wrap .mobile-menu-trigger i.fa-bars::after {
		background-color: var(--colour-primary);
	}

	.header-overlay:not(.header-floating-dark) .header .col.logo-wrap .mobile-menu-trigger:not(.open) i.fa-bars::after {
		box-shadow: 0px 22px 0 var(--colour-primary);
		background-color: var(--colour-primary);
	}

	.header-main .et_pb_menu .mobile_nav.opened .mobile_menu_bar::before {
		top: 2px;
		width: 35px;
		background-color: var(--colour-primary);
		transform: rotate(45deg);
		transition: all 0.2s cubic-bezier(0, 0, 0.1, 0.9), transform 0.2s cubic-bezier(0, 0, 0.1, 0.9) 0.3s, background-color 0.2s cubic-bezier(0, 0, 0.1, 0.9) 0s;
	}

	.header-main .et_pb_menu .mobile_nav.opened .mobile_menu_bar::after {
		top: -2px;
		width: 35px;
		background-color: var(--colour-primary);
		box-shadow: 0 0px 0 var(--colour-primary);
		transform: rotate(-45deg);
		transition: all 0.2s cubic-bezier(0, 0, 0.1, 0.9), transform 0.2s cubic-bezier(0, 0, 0.1, 0.9) 0.3s, background-color 0.2s cubic-bezier(0, 0, 0.1, 0.9) 0s;
	}
	header .header-main.et_pb_section .menu-item a {
		color: var(--colour-white) !important;
	}
}


/*---- FOOTER ----*/
footer .et_pb_section, 
footer {
	background: var(--colour-dark);
	position: relative;
	overflow: hidden;
	color: var(--colour-light);
}
footer .et_builder_inner_content {
	z-index: unset;
}

footer .et_pb_section,
.et-db #et-boc footer.et-l .et_pb_section {
	padding: 40px 0 0;
	row-gap: clamp(30px, calc(var(--row-gap) * 4), 40px);
}
footer .et_pb_row {
	padding: 0;
	max-width: 1120px !important;
	color: var(--colour-primary);
}
footer .et_pb_row .et_pb_column {
	column-gap:0;
	row-gap:0;
}

/*Footer Menu / Elements*/
footer .et_pb_image {
	width: 100%;
}

footer .footer-menus.et_pb_row {
	row-gap: clamp(30px, calc(var(--row-gap) * 6), 60px);
  	column-gap: clamp(30px, calc(var(--column-gap) * 6), 60px);
}

/*top*/
footer .footer-top .et_pb_image img {
	max-width: 240px;
	min-width: 240px;
	margin-bottom: 30px;
}
footer .footer-top .et_pb_text {
	max-width: 400px;
}
footer .footer-top .et_pb_text p {
	font-size: 14px;
	color: var(--colour-light);
	opacity: 0.6;
}

footer .footer-top .et_pb_column:last-child {
	/* justify-content: flex-end; */
	flex-direction: column;
}
footer .footer-top .et_pb_column:last-child > * {
	justify-content: flex-end;
}

.footer-buttons.et_pb_menu {
	background: none !important;
}
.footer-buttons.et_pb_menu > *,
.footer-buttons.dsm_menu ul.dsm-menu {
	justify-content: flex-end;
}
.footer-buttons nav ul {
	display: flex;
	column-gap: 12px;
	row-gap: 6px;
}

.footer-buttons nav ul li {
	padding: 0 !important;
	margin: 0 !important;
	list-style: none;
}
.footer-buttons nav ul li a {
	display: flex;
	column-gap: 8px;
	padding: 14px 24px;
	border-radius: 30px;
	background-color: var(--colour-primary);
	color: var(--colour-white);
	font-family: var(--font-main);
	font-size: 16px;
	line-height: 1.2em;
	font-weight: 600;
	transition: var(--transition-fast);
}
.footer-buttons nav ul li.menu-item-88 a,
.footer-buttons nav ul li.et_pb_menu_page_id-9 a {
	background-color: var(--colour-orange);
}
.footer-buttons nav ul li a:hover {
	background-color: var(--colour-white);
	color: var(--colour-text);
	opacity: 1;
}

.footer-buttons nav ul li.menu-item-88 a::before,
.footer-buttons nav ul li.et_pb_menu_page_id-9 a::before {
	font-family: var(--font-fak);
	content: "\e01f";
}
.footer-buttons nav ul li.menu-item-86 a::before,
.footer-buttons nav ul li.et_pb_menu_page_id-37 a::before {
	font-family: var(--font-fa);
	font-weight: 300;
	content: "\f590";
}

/*mid*/
footer .footer-mid.et_pb_row {
	padding: clamp(30px, calc(var(--row-gap) * 6), 40px) 0 !important;

	justify-content: space-between;
	row-gap: clamp(30px, calc(var(--row-gap) * 60), 60px);
  	column-gap: clamp(40px, calc(var(--column-gap) * 8), 80px);
}
footer .footer-mid .et_pb_column {
	flex: 0 0 auto;
	width: auto;
}

footer .footer-mid .dsm_menu h4,
footer .footer-mid .et_pb_text h4,
.dsm_menu_1_tb_footer h4.dsm-menu-title,
.dsm_menu_2_tb_footer h4.dsm-menu-title,
.dsm_menu_3_tb_footer h4.dsm-menu-title {
	color: #ffffff !important;
	font-weight: 600;
	letter-spacing: 0;
	font-size: 18px;
	padding: 0;
	text-transform: uppercase;
}

footer .footer-mid .dsm_menu,
footer .footer-mid .et_pb_menu {
	background-color: transparent;	
}
footer .footer-mid .dsm_menu ul,
footer .footer-mid .et_pb_menu ul.nav {
	display: flex;
	flex-direction: column;
	row-gap: 10px;
}
footer .footer-mid .dsm_menu ul > li,
footer .footer-mid .et_pb_menu ul.nav > li {
	font-family: var(--font-main);
	font-size: 16px;
	line-height: 1.2em;
	font-weight: 500;
	margin-top: 5px;
	list-style: none;
}
footer .footer-mid .dsm_menu ul > li a,
footer .footer-mid .et_pb_menu ul.nav > li a {
	color: var(--colour-light);
	padding-bottom: 5px;
}

footer .footer-mid .dsm_menu ul > li a:hover,
footer .footer-mid .et_pb_menu ul.nav > li a:hover,
footer .footer-bottom .dsm_menu ul > li a:hover,
footer .footer-bottom .et_pb_menu ul.nav > li a:hover {
	color: var(--colour-orange);
	opacity: 1;
}

/*Social*/
footer ul.social-links {
	display: flex;
	flex-direction: row;
	align-items: center;
	column-gap: 15px;
	width: auto;
	margin-left: -5px !important;
	margin-right: -5px !important;
}
footer ul.social-links li {
	position: relative;
	text-align: center;
	color: #fff;
	font-size: 28px;
}
footer ul.social-links li span.et-pb-icon,
.et-db #et-boc footer.et-l ul.social-links li span.et-pb-icon {
	color: #fff;
	font-size: 24px;
	padding: 5px;
	margin: 0 !important;
}	
footer ul.social-links li div.et_pb_icon_list_text {
	position: absolute;
	font-size: 12px;
	font-weight: 500;
	font-family: var(--font-main);
	line-height: 1.2em;
	padding: 5px 8px 6px;
	color: var(--colour-white);
	background-color: var(--colour-primary);
	transform: translateX(-50%);
	left: 50%;
	bottom: calc(100% - 8px);
	transition: var(--transition-fast);
	pointer-events: none;
	visibility: hidden;
	opacity: 0;
}

footer ul.social-links li:hover,
footer ul.social-links li:hover span.et-pb-icon,
.et-db #et-boc footer.et-l ul.social-links li span.et-pb-icon:hover {
	color: var(--colour-mint);
}
footer ul.social-links li:hover div.et_pb_icon_list_text,
footer ul.social-links li:focus-within div.et_pb_icon_list_text {
	opacity: 1;
	visibility: visible;
	bottom: calc(100% - 0px);
	border-radius: 8px;
}

/*Footer Bottom*/
.et_pb_section .et_pb_row.footer-bottom {
    padding-left: calc((100% - 1120px) / 2) !important;
    padding-right: calc((100% - 1120px) / 2) !important;
    box-sizing: border-box;
	padding: 20px;
	background-color: var(--colour-black);
	max-width: 100% !important;
	width: 100% !important;
}

footer .footer-bottom .et_pb_text p {
	display: flex;
	justify-content: flex-end;
	column-gap: 10px;
}
footer .footer-bottom .et_pb_text p,
footer .footer-bottom .et_pb_text p a { 
	color: var(--colour-light);
	font-size: 14px;
	opacity: 1;
}
footer .footer-bottom .et_pb_column:last-child {
	justify-content: flex-end;
}
footer .footer-bottom .et_pb_column:last-child > *,
footer .footer-bottom .et_pb_column:last-child > .et_pb_module > * {
	justify-content: flex-end;
}
footer .footer-bottom .et_pb_column:last-child > .et_pb_module {
	background: none;
}

footer .footer-bottom .et_pb_column:last-child > .et_pb_menu ul li a {
	color: var(--colour-mint);
}
footer .footer-bottom img {
	max-width: 220px;
	object-fit: contain;
}


footer .et_pb_search {
	border: none;
	overflow: visible;
}
footer .et_pb_search * {
	transition: var(--transition-fast);
}
footer .et_pb_search form {
	background-color: var(--colour-black);
	border: 1px solid var(--colour-black);
	border-radius: 0px;
	padding: 0px 0px 0px 6px;
	max-width: 600px;
}
footer .et_pb_search form > div {
	display: flex;
	align-items: center;
}
footer .et_pb_search input[type="text"] {
	font-family: var(--font-body);
	font-size: 18px;
	padding: 0px 5px 0px !important;
	outline: none !important;
	color: var(--colour-white);
	font-weight: 300;
}
footer .et_pb_search input[type="text"]::placeholder {
	color: var(--colour-white);
	font-weight: 300;
	font-family: var(--font-main);
}
footer .et_pb_search input[type="submit"] {
	font-family: var(--font-main) !important;
	font-size: 0px;
	line-height: 0px;
	border-radius: 0px;
	background-color: var(--colour-primary);
	height: 45px;
	width: 45px;

	background-image: url("/wp-content/uploads/2026/09/magnifying-glass-solid.png");
	background-size: 23px;
	background-repeat: no-repeat;
	background-position: center;
}

footer .et_pb_search form:hover {
	border-color: var(--colour-primary);
}
footer .et_pb_search form:has(input[type="text"]:focus) {
	border-color: var(--colour-secondary);
	outline: 2px solid var(--colour-secondary);
	outline-offset: 2px;
}
footer .et_pb_search input[type="submit"]:hover {
	background-color: var(--colour-secondary);
}

@media screen and (max-width:1200px) {
	footer .et_pb_section,
	.et-db #et-boc footer.et-l .et_pb_section {
		padding: 80px 0;
	}
	.footer-copy {
  		padding-top: 100px;
	}
}
@media screen and (max-width:980px) {
	footer .et_pb_section .et_pb_row {
		flex-wrap: wrap !important;
	}
	footer .et_pb_section .et_pb_row.footer-mid .et_pb_column:first-child {
		flex: 1 1 100%;
	}
	body .et_pb_row.footer-mid .et_pb_module .et_pb_image_wrap img {
		max-width: 150px;
	}
	footer .dsm_menu,
	footer .et_pb_text {
		flex: calc(50% - 30px) 1 1;
	}
	footer .et_pb_image {
		padding-bottom: 0px;
	}
}
/* Footer heading contrast at mobile (red on dark fails 2.17:1) */
@media (max-width: 980px) {
    .dsm_menu_1_tb_footer h4.dsm-menu-title,
    .dsm_menu_2_tb_footer h4.dsm-menu-title {
        color: #ffffff !important;
    }
}

@media screen and (max-width:900px) {
	footer .et_pb_section .et_pb_row {
		flex-wrap: wrap !important;
	}
	
	.footer-buttons nav ul li {
		flex: 1 1 auto;
	}
	.footer-buttons nav ul li a {
		justify-content: center;
	}

	footer .footer-bottom.et_pb_row {
		row-gap: clamp(20px,30px,30px);
	}
	.footer-bottom .et_pb_text p {
		text-align: center;
	}	
	footer .footer-bottom .et_pb_column > ul.social-links {
		justify-content: center;
	}
}
@media screen and (max-width:750px) {
	footer .footer-mid.et_pb_row {
		justify-content: flex-start;
	}
	footer .footer-mid.et_pb_row > .et_pb_column {
		flex: 0 0 calc(33.333% - 50px);
	}
}	
@media screen and (max-width:700px) {
	footer::before {
		display: none;
	}
	footer .footer-top .et_pb_image_wrap {
		text-align: center;
		justify-content: center;
	}
	footer .footer-top .et_pb_image img {
		max-width: 220px;
		min-width: 220px;
		margin-bottom: 0px;
	}
	footer .footer-top .et_pb_text {
		margin: 0 auto;
		text-align: center;
	}
	
	footer .et_pb_section,
	.et-db #et-boc footer.et-l .et_pb_section {
		padding: 60px 0 0;
	}
	footer .dsm_menu,
	footer .et_pb_text {
		flex: 100% 1 1;
	}
	footer .et_pb_section .et_pb_row:not(.footer-mid) {
		justify-content: center;
	}
	footer .et_pb_row .et_pb_column {
		row-gap: 30px;
	}
	footer .et_pb_row .et_pb_column .et_pb_text_inner {
		display: flex;
		justify-content: center;
		flex-direction: column;
		align-items: center;
	}
	footer .dsm_menu {
		justify-content: center;
		order: 1;
	}
	footer .social-links a.et_pb_button {
		display: none;
	}
	footer .et_pb_button.btn-none {
		display: block !important;
		/* margin-top: 20px; */
	}
	
	footer .footer-copy.et_pb_text p {
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
	footer .et_pb_column:has(.contact-info) .et_pb_module {
		flex: 1 1 100%;
	}
	footer .social-links {
		row-gap: 20px;
        flex-wrap: wrap;
        justify-content: center;
		margin-top: 40px;
	}
	
}
@media screen and (max-width:600px) {
	footer .menus {
		order: -1;
	}
	footer .et_pb_image .et_pb_image_wrap {
		justify-content: center;
	}
	footer .footer-mid.et_pb_row {
		flex-direction: column;
		justify-content: center;
		row-gap: clamp(20px, calc(var(--row-gap) * 40), 40px);
	}
	footer .footer-mid.et_pb_row > .et_pb_column {
		flex: 0 0 calc(50% - 50px);
	}
	footer .footer-mid.et_pb_row .dsm_menu,
	footer .footer-mid.et_pb_row .dsm_menu ul li {
		text-align: center;
	}
	footer .footer-mid .dsm_menu h4, 
	footer .footer-mid .et_pb_text h4 {
		margin-bottom: 10px;
		color: var(--colour-mint);
	}
}
@media screen and (max-width:500px) {
	footer .dsm_menu ul li,
	footer .dsm_menu .dsm-menu-title,
	footer .et_pb_text p {
		text-align: center;
	}
}
@media screen and (max-width:400px) {
	footer .et_pb_image {
		text-align: center;
	}
	/* footer .et_pb_image img {
		max-width: 200px;
	} */
	footer .dsm_menu,
	footer .et_pb_text {
		flex: 100% 1 1;
		text-align: center !important;
	}
	footer .dsm_menu h4,
	footer .dsm_menu ul li {
		text-align: center;
	}

	.footer-buttons.et_pb_menu > *, 
	.footer-buttons.dsm_menu ul.dsm-menu {
		flex-direction: column;
	}
	footer .footer-mid.et_pb_row > .et_pb_column {
		flex: 1 1 100%;
	}
}

/*---- DEFAULT - FORM CSS ----*/
form {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 25px;
  background-color: #fff;
  font-size: 16px;
}

label {
  margin-bottom: 0px;
  color: var(--colour-black);
  font-size: 16px;
  text-transform: normal;
}
label br {
	display: none;
}
body .dsm_contact_form_7 input[type="text"],
body .dsm_contact_form_7 input[type="email"],
body .dsm_contact_form_7 input[type="password"],
body .dsm_contact_form_7 textarea {
  width: 100%;
  padding: 12px;
  margin-bottom: 0px;
  border: 1px solid #eee;
  border-radius: 0px;
  font-size: 16px;
  color: var(--colour-black);
  background-color: #eee;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
  box-sizing: border-box;
}

body .dsm_contact_form_7 input[type="text"]:focus,
body .dsm_contact_form_7 input[type="email"]:focus,
body .dsm_contact_form_7 input[type="password"]:focus,
body .dsm_contact_form_7 textarea:focus {
  border-color: var(--colour-primary);
  outline: 2px solid var(--colour-primary);
  outline-offset: 2px;
}

body .dsm_contact_form_7 input[disabled],
body .dsm_contact_form_7 textarea[disabled] {
  background-color: #e9e9e9;
  border-color: #ddd;
  color: #aaa;
  cursor: not-allowed;
}

body .dsm_contact_form_7 textarea {
  min-height: 120px;
  resize: vertical;
}

body .dsm_contact_form_7 select {
  width: 100%;
  padding: 12px;
  margin-bottom: 20px;
  border: 1px solid #eee;
  border-radius: 0px;
  background-color: #eee;
  font-size: 16px;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

body .dsm_contact_form_7 select:focus {
  border-color: var(--colour-primary);
  outline: 2px solid var(--colour-primary);
  outline-offset: 2px;
}

body .dsm_contact_form_7 button[type="submit"],
body .dsm_contact_form_7 input[type="submit"] {
  padding: 15px 25px !important;
  font-size: 16px;
  color: #fff !important;
  background-color: var(--colour-primary);
  border: none;
  cursor: pointer;
  transition: var(--transition);
  text-transform: uppercase;
}

body .dsm_contact_form_7 button[type="submit"]:hover,
body .dsm_contact_form_7 input[type="submit"]:hover {
  color: var(--colour-primary) !important;
}

/* Validation Styles */
.wpcf7 form .wpcf7-response-output {
    padding: 10px 15px;
    background-color: #fff;
    font-family: var(--font-body);
    text-align: center;
}

/* input:valid,
textarea:valid {
  border-color: #28a745;
} */

input:invalid,
textarea:invalid {
  border-color: #dc3545;
}

/* Success Message */
input:valid + .valid-feedback,
textarea:valid + .valid-feedback {
  display: block;
  color: #28a745;
  font-size: 16px;
}

/* Error Message */
input:invalid + .invalid-feedback,
textarea:invalid + .invalid-feedback {
  display: block;
  color: #dc3545;
  font-size: 16px;
}

.form-group {
  margin-bottom: 20px;
}

.form-group label {
  margin-bottom: 5px;
}

input[type="checkbox"],
input[type="radio"] {
  margin-right: 10px;
}


@media (max-width: 600px) {
  form {
    padding: 20px;
  }

  /* button[type="submit"],
  input[type="submit"] {
    width: 100%;
  } */
}


.section-title-banner {
	padding-top: 15px !important;
	padding-bottom: 15px !important;
	background-color: var(--colour-white);
	border-bottom: 1px solid #DFE0DB;
}
.section-title-banner h1 {
	margin-bottom: 0px;
}
.section-title-banner .et_pb_row {
	max-width: 1120px;
}
.section-title-banner .et_pb_column {
	row-gap: 0px;
}
.section-title-banner p:has(a) {
	display: flex;
	align-items: center;
	column-gap: 6px;
}
.section-title-banner .et_pb_code_inner {
	display: flex;
	justify-content: flex-end;
}
.section-title-banner .et_pb_column:has(h1) {
	flex: 1 1 65%;
}
.section-title-banner .et_pb_column:has(a.et_pb_button) {
	flex: 1 1 35%;
}
.section-title-banner .et_pb_column:has(.et_pb_code_inner) {
	justify-content: flex-end;
	flex: 1 1 35%;
}
.single-product #page-container .section-title-banner .hdc-download-btn {
	display: block !important;
}
.single-product #page-container .hdc-download-btn {
	display: none !important;
}
/** Shop Page **/
.woocommerce ul.products li.product a img {
	max-height: 250px;
	min-height: 250px;
	object-fit: contain;
	background-color: var(--colour-white);
}
.woocommerce.columns-3 ul.products {
	display: flex;
    row-gap: 25px;
    column-gap: 25px;
    flex-wrap: wrap;
    margin: 0px !important;
}
.woocommerce.columns-3 ul.products::before {
	display: none;
}
.woocommerce.columns-3 ul.products li.product {
	background-color: var(--colour-white);
	padding-bottom: 30px;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 0px !important;
	margin-right: 0px !important;
	flex: 1 1 30%;
	max-width: 33%;
}
.woocommerce ul.products li.product a.woocommerce-loop-product__link {
	text-align: center;
}
.woocommerce ul.products li.product a.woocommerce-loop-product__link .product-subtitle {
	margin-bottom: 15px;
	font-weight: 600;
	color: var(--colour-black);
}
.woocommerce ul.products li.product:has(.price) .woocommerce-loop-product__title {
	margin-bottom: 0px !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: #4a521f;
    font-size: var(--size-4);
    font-weight: 600;
	padding: 5px 15px 0px;
	margin-bottom: 20px;
}
.woocommerce-page ul.products li.product .price {
	font-size: 18px;
	color: var(--colour-black) !important;
	font-weight: 600;
	margin-bottom: 20px !important;
}
.woocommerce ul.products li.product .button {
	margin-left: 15px;
	margin-right: 15px;
	margin-top: auto;
	width: fit-content;
}
/* ---- WOO SIDEBAR ([woo_sidebar] shortcode) ---- */

.woo-sidebar {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.woo-sidebar__section {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.woo-sidebar__heading {
	font-family: var(--font-main);
	font-size: var(--size-4);
	font-weight: 700;
	color: var(--colour-text);
	margin: 0 0 8px 0;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--colour-grey);
	display: flex;
	align-items: center;
	gap: 8px;
}

.woo-sidebar__icon {
	font-size: 0.85em;
}

/* Search input */
.woo-sidebar__search-form {
	display: flex;
}

.woo-sidebar__search-input {
	width: 100%;
	padding: 10px 14px;
	font-family: var(--font-body);
	font-size: 15px;
	color: var(--colour-text);
	background-color: var(--colour-white);
	border: 1px solid var(--colour-grey);
	border-radius: 4px;
	outline: none;
	transition: var(--transition-fast);
}

.woo-sidebar__search-input::placeholder {
	color: #999;
}

.woo-sidebar__search-input:focus {
	border-color: var(--colour-primary);
	box-shadow: 0 0 0 2px rgba(166, 25, 46, 0.12);
}

/* Category list */
.woo-sidebar__cat-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
}

.woo-sidebar__cat-list li {
	list-style: none;
	border-bottom: 1px solid var(--colour-grey);
}

.woo-sidebar__cat-list li:first-child {
	border-top: 1px solid var(--colour-grey);
}

.woo-sidebar__cat-list li a {
	display: block;
	padding: 9px 4px;
	font-family: var(--font-body);
	font-size: 15px;
	color: var(--colour-primary);
	text-decoration: none;
	transition: var(--transition-fast);
}

.woo-sidebar__cat-list li a:hover,
.woo-sidebar__cat-list li.active a {
	color: var(--colour-primary);
	font-weight: 600;
	padding-left: 10px;
}

@media screen and (max-width: 1000px) {
	.woocommerce.columns-3 ul.products li.product {
		flex: 1 1 45%;
		max-width: 50%;
	}
	.hdc-view-list .woocommerce.columns-3 ul.products li.product {
		flex: 1 1 100%;
		width: 100% !important;
		column-gap: 0px !important;
	}
	.hdc-view-list .woocommerce.columns-3  {
		flex-direction: column;
	}
}
@media screen and (max-width: 800px) {
	.woo-sidebar {
		gap: 20px;
	}
	.woocommerce.columns-3 ul.products {
		row-gap: 5px;
    	column-gap: 5px;
	}
}
@media screen and (max-width: 600px) {
	.woocommerce.columns-3 ul.products {
		row-gap: 8px;
	}
}
@media screen and (max-width: 500px){
	.woocommerce.columns-3 ul.products li.product {
		flex: 1 1 100%;
		max-width: 100%;
	}
}
.shop-index .et_pb_row:has(.et_pb_shop) {
	column-gap: 30px;
	max-width: 1120px;
}
.shop-index .et_pb_column:has(.hdc-sidebar) {
	flex: 1 1 20%;
}
.shop-index .et_pb_column:has(.et_pb_shop) {
	flex: 1 1 80%;
}
.shop-index form {
	padding: 0px;
}
.shop-index form {
	max-width: 100%;
}

.et_overlay::before,
.woocommerce.columns-3 ul.products::after {
	display: none;
}
.et_overlay {
	border: 0px solid !important;
	display: none !important;
}
@media screen and (max-width:1000px) {
	#main-content .et_pb_section.shop-index {
		padding-top: 40px;
		padding-bottom: 40px;
	}
}
@media screen and (max-width:1000px) {
	.shop-index .et_pb_row:has(.et_pb_shop) {
		flex-direction: column;
		row-gap: 25px;
	}
}
@media screen and (max-width:600px) {
	#main-content .et_pb_section.shop-index {
		padding-top: 20px;
		padding-bottom: 20px;
	}
}

.hdc-skip-link {
    position: absolute;
    top: -100%;
    left: 0;
    z-index: 99999;
    padding: 12px 24px;
    background: #7B1D1D;
    color: #ffffff !important;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none !important;
    border-radius: 0 0 4px 0;
    white-space: nowrap;
}

/* Slide into view when focused — 3:1 contrast focus ring against the dark background */
.hdc-skip-link:focus {
    top: 0;
    outline: 3px solid #ffffff;
    outline-offset: 2px;
    box-shadow: 0 0 0 5px #7B1D1D;
}


/*------ Shop PAGE ------*/
.single-product .et_pb_section.shop-product-body .et_pb_row {
	max-width: 1120px;
}

.shop-product-body.et_pb_section {
	padding: 80px 0 !important;
}
.shop-product-body .et_pb_row .et_flex_column_2_5 {
	flex: 1 1 40%;
	max-width: 40%;
}
.shop-product-body .et_pb_row .et_flex_column_3_5 {
	flex: 1 1 60%;
}

.shop-product-body .et_pb_wc_images .flex-viewport,
.shop-product-body .et_pb_wc_images .woocommerce-product-gallery__image {
	border-radius: 0px;
}
.shop-product-body .et_pb_wc_images ol.flex-control-nav,
.et-db #et-boc .et-l .shop-product-body .et_pb_wc_images_0_tb_body ol.flex-control-thumbs.flex-control-nav {
	margin-top: 20px !important;
	--horizontal-gap: 20px !important;
  	--vertical-gap: 20px !important;
}
.shop-product-body .et_pb_wc_images ol.flex-control-nav > li::before {
	display: none;
}
.shop-product-body .et_pb_wc_images ol.flex-control-nav > li img {
	border-radius: 10px;
}
.shop-product-body .et_pb_wc_images ol.flex-control-nav > li img.flex-active {
	outline: 3px solid var(--colour-green);
}

.section-title-banner .et_pb_column:has(.cart) {
	flex-direction: row-reverse;
	align-items: flex-end;
}
.section-title-banner .et_pb_wc_price  {
	margin-bottom: 10px !important;
}
/*price*/
.et_pb_wc_price .price {
	font-size: var(--size-2) !important;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-family: var(--font-main);
	color: var(--colour-text) !important;
	font-weight: 500;
	line-height: 1.4em;
	display: flex;
	align-items: center;
	column-gap: 6px;
}
.et_pb_wc_price .price span {
	font-size: inherit;
	line-height: inherit;
}
.et_pb_wc_price .price .amount,
.et_pb_wc_price .price .amount span {
	font-size: var(--size-h3);
	font-weight: 600;
	color: var(--colour-orange) !important;
}

.single_add_to_cart_button::after {
	display: none !important;
}

/*product meta*/
.et_pb_wc_meta .product_meta {
	padding: 8px 13px 8px;
	border-radius: 10px;
	border: 1px solid var(--colour-grey);
	width: fit-content;
}
.et_pb_wc_meta .product_meta > span {
	font-size: var(--size-2) !important;
	font-weight: 400;
	font-family: var(--font-main);
	color: var(--colour-text) !important;
}
.et_pb_wc_meta .product_meta > span a {
	color: var(--colour-text);
	font-weight: 600;
	margin-left: 12px;
}
.et_pb_wc_meta .product_meta > span a:hover {
	color: var(--colour-orange);
}

/*add info*/
.et_pb_wc_additional_info:has(.et_pb_module_inner:empty) {
	display: none;
}
.et_pb_wc_additional_info table.shop_attributes {
	margin-bottom: 0 !important;
	margin-top: -30px !important;
}
.et_pb_wc_additional_info table.shop_attributes {
	border: none;
	border-spacing: 0px 5px;
}
.et_pb_wc_additional_info table.shop_attributes tr.woocommerce-product-attributes-item {
	border-radius: 10px;
	border: 1px solid var(--colour-grey);
	display: flex;
	margin-bottom: 5px;
}
.et_pb_wc_additional_info table.shop_attributes tr.woocommerce-product-attributes-item th,
.et_pb_wc_additional_info table.shop_attributes tr.woocommerce-product-attributes-item td {
	width: auto;
	border: none;
	padding: 12px 15px 15px;
}
.et_pb_wc_additional_info table.shop_attributes tr.woocommerce-product-attributes-item th,
.et_pb_wc_additional_info table.shop_attributes tr.woocommerce-product-attributes-item td,
.et_pb_wc_additional_info table.shop_attributes tr.woocommerce-product-attributes-item td p {
	font-family: var(--font-main);
	color: var(--colour-text);
	font-weight: 400;
	font-size: var(--size-3);
	line-height: 1.2em;
}
.et_pb_wc_additional_info table.shop_attributes tr.woocommerce-product-attributes-item th {
	font-weight: 400;
}
.et_pb_wc_additional_info table.shop_attributes tr.woocommerce-product-attributes-item th::after {
	content: ":";
}
.et_pb_wc_additional_info table.shop_attributes tr.woocommerce-product-attributes-item td {
	padding-left: 0;
}
.et_pb_wc_additional_info table.shop_attributes tr.woocommerce-product-attributes-item td p {
	padding: 0;
	font-weight: 600;
}

/*quantity/cart*/
.et_pb_wc_add_to_cart form.cart {
	border-radius: 10px;
	background: none;
	padding: 0;
	margin: 0 15px 0 0 !important;
}
.et_pb_wc_add_to_cart form.cart .quantity {
	overflow: visible !important;
}
.et_pb_wc_add_to_cart form.cart .quantity:has(input[type="hidden"]) {
	display: none;
}
.et_pb_wc_add_to_cart form.cart input.qty {
	border-radius: 30px;
	background-color: var(--colour-white);
	border: 1px solid var(--colour-grey) !important;
	max-width: 120px;
	padding: 10px 15px;

	font-size: var(--size-4) !important;
	font-weight: 500;
	font-family: var(--font-main);
	color: var(--colour-text) !important;
}
/* .et_pb_wc_add_to_cart form.cart button.et_pb_button {
	border-radius: 30px !important;
	padding: 10px 15px 12px !important;
	width: 100%;
	max-width: 220px;
	background: var(--colour-primary) !important;

	font-size: var(--size-4) !important;
	font-weight: 500;
	line-height: 1.2em;
	font-family: var(--font-main);
	color: var(--colour-white) !important;
}
.et_pb_wc_add_to_cart form.cart:has(.quantity) button.et_pb_button {
	max-width: 220px !important;
}
.et_pb_wc_add_to_cart form.cart button.et_pb_button::after,
.et-db #et-boc .et-l .et_pb_wc_add_to_cart_0_tb_body form.cart .button::after {
	display: none;
} */
body.et-db #et-boc .et-l .et_pb_wc_add_to_cart_0_tb_body .button::after {
	display: none !important;
 }
body.et-db #et-boc .et-l .et_pb_wc_add_to_cart_0_tb_body .button:hover {
    padding: 8px 16px !important;
}
.et_pb_wc_add_to_cart #wc-stripe-express-checkout-element {
	margin-top: 15px !important;
}

/*description*/
/* .et_pb_wc_description {
	border-radius: 20px;
	background: #fff;
	padding: 40px;
	box-shadow: 0 20px 30px rgba(0,0,0,0.1);
} */
.et_pb_wc_description .et_builder_inner_content.product,
.et_pb_wc_description .et_builder_inner_content.product p {
	font-size: var(--size-2);
	line-height: 1.6em;
}
.et_pb_wc_description .et_builder_inner_content.product strong {
	font-weight: 700;
}
.et_pb_wc_description .et_builder_inner_content.product ol,
.et_pb_wc_description .et_builder_inner_content.product ul {
	margin-bottom: 20px;
}

.woocommerce div.product div.images img {
	max-height: 400px;
    object-fit: contain;
    background-color: var(--colour-white);
}
@media screen and (max-width:1000px) {
	.shop-product-body .et_pb_row .et_flex_column_2_5 {
		max-width: 200px;
	}
	.shop-product-body .et_pb_wc_images ol.flex-control-nav, 
	.et-db #et-boc .et-l .shop-product-body .et_pb_wc_images_0_tb_body ol.flex-control-thumbs.flex-control-nav {
		margin-top: 10px !important;
		--horizontal-gap: 10px !important;
		--vertical-gap: 10px !important;
	}
}
@media screen and (max-width:800px) {
	.shop-product-body.et_pb_section {
		padding: 30px 0 !important;
	}

	.shop-product-body .et_pb_row {
		flex-wrap: wrap !important;
	}
	.shop-product-body.et_pb_section .et_pb_column {
    	row-gap: clamp(30px, calc(var(--row-gap) * 3), 30px);
  	}
	.shop-product-body .et_pb_row .et_flex_column_2_5 {
		flex: 1 1 auto;
		max-width: unset;
	}
	.shop-product-body .et_pb_row .et_flex_column_3_5 {
		max-width: unset;
		flex: 1 1 auto;
	}

	.shop-product-body .et_pb_wc_images {
		padding: 20px;
		background: #fff;
		border-radius: 20px;
	}
	.shop-product-body .et_pb_wc_images .et_pb_module_inner {
		max-width: 350px;
  		margin: 0 auto;
	}
}
@media screen and (max-width:500px) {
	.shop-product-body .et_pb_wc_images {
		padding: 0px;
		background: transparent;
		border-radius: 0px;
	}
	.shop-product-body .et_pb_wc_images .et_pb_module_inner {
		max-width: 90%;
	}

	.et_pb_wc_price .price {
		justify-content: center;
	}

	.et_pb_wc_add_to_cart form.cart .quantity {
		margin-right: unset !important;
		width: 100% !important;
	}
	.et_pb_wc_add_to_cart form.cart input.qty {
		width: 100%;
		max-width: unset;
		margin-bottom: 8px;
	}
	.et_pb_wc_add_to_cart form.cart button.et_pb_button {
		width: 100%;
		max-width: unset;
	}
	.et_pb_wc_add_to_cart form.cart:has(.quantity) button.et_pb_button {
		max-width: unset !important;
	}

	
	.et_pb_wc_description {
		padding: 25px;
	}
}

.single-product a.et_pb_button.fa-reply {
	background-color: #5c5f4e !important;
	display: flex;
    flex-direction: row;
    column-gap: 10px;
}
.single-product a.et_pb_button.fa-reply::before {
    display: block !important;
    font-family: "Font Awesome 6 Pro" !important;
    position: unset;
    transform: translate(0) !important;
    opacity: 1;
    font-size: 18px;
    font-weight: 900;
	content: var(--fa);
}
.et_pb_wc_description a {
	text-decoration: underline;
	color: var(--colour-primary);
}
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message {
	background: var(--colour-secondary);
	font-family: var(--font-body);
	display: flex;
    justify-content: space-between;
	align-items: center;
}
.woocommerce-error::after, .woocommerce-info::after, .woocommerce-message::after {
    content: unset !important;
}

/* WCAG 1.4.3 — white text on #35403F gives 8.7:1 (was #1e85be at 2.63:1) */
.woocommerce-error,
.woocommerce-error li,
.woocommerce-error a {
    color: #ffffff;
}

/* WCAG 1.4.10 — prevent error box from causing horizontal scroll at 320 px */
.woocommerce-error,
.woocommerce-error li,
.woocommerce-error a {
    white-space: normal;
    overflow-wrap: break-word;
}

/* Customer type inline error */
.hdc-type-error {
    display: block;
    color: #b81c23;
    font-size: 0.875em;
    margin-top: 0.4em;
}

/* Hidden checkout fields — kept in DOM for WooCommerce/Xero data integrity */
.hdc-hidden {
    display: none !important;
}

/* Invoice Details section heading */
.hdc-invoice-heading {
    width: 100%;
    margin-top: 40px;
    margin-bottom: 20px;
}
.woocommerce-additional-fields {
	margin-top: 40px;
}
/* Phone is required — hide the "(optional)" label Divi adds despite PHP filter */
#billing_phone_field .optional { display: none !important; }

.hdc-delivery-heading { 
	width: 100%; 
	margin-top: 0px; 
	margin-bottom: 20px; 
}

/* Same as Delivery checkbox row */
.hdc-same-as-delivery-label {
    display: flex;
    align-items: center;
    gap: 0.5em;
    cursor: pointer;
    width: 100%;
    margin-bottom: 0.75em;
}

/*------ Shop CART / CHECKOUT ------*/
.shop-cart.et_pb_section {
	padding: 50px 0 !important;
}
.shop-cart.et_pb_section .et_pb_row {
	column-gap: clamp(30px, calc(var(--column-gap) * 6), 60px);
}
.shop-cart.et_pb_section .et_pb_row .et_pb_column {
	row-gap: 0px;
}
.shop-cart.et_pb_section .et_pb_row .et_flex_column_8_24 {
	width: 400px;
	max-width: 400px;
}

@media screen and (min-width:1400px) {
	.shop-cart.et_pb_section .et_pb_row .et_flex_column_8_24 {
		width: 480px;
		max-width: 480px;
	}
	.shop-cart.et_pb_section {
		padding: 60px 0 !important;
	}
	.shop-cart.et_pb_section .et_pb_row {
		column-gap: clamp(40px, calc(var(--column-gap) * 8), 80px);
	}
}

/*Cart*/
.et-db #et-boc #main-content .et-l .dsm_breadcrumbs_0_tb_body .dsm_separator_icon::before {
	content: '/' !important;
	font-family: var(--font-body) !important;
	font-size: 14px;
	color: #767676;
}
ul.dsm_breadcrumbs_list > li, ul.dsm_breadcrumbs_list > span {
	margin-left: 4px;
}
ul.dsm_breadcrumbs_list li.dsm_breadcrumbs_item a .dsm_home_text,
ul.dsm_breadcrumbs_list li.dsm_breadcrumbs_item .dsm_breadcrumbs_crumb,
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb a,
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb {
	font-size: 16px;
	color: #767676;
	font-family: var(--font-body);
	font-weight: 300;
}
.et_pb_wc_cart_products form {
	background: none;
	max-width: unset;
	padding: 0;
}
.et_pb_wc_cart_products.woocommerce table.shop_table {
	border: none;
	border-radius: 20px;
	background: var(--colour-white);
	padding: 10px;
	display: block;
}
.et_pb_wc_checkout_billing,
.et_pb_wc_checkout_additional_info,
.et_pb_wc_checkout_shipping,
.et_pb_wc_checkout_payment_info,
.et_pb_wc_checkout_billing form.checkout,
.et_pb_wc_checkout_additional_info,
.et_pb_wc_checkout_additional_info form.checkout,
.et_pb_wc_checkout_shipping form.checkout,
.et_pb_wc_checkout_payment_info form.checkout {
	border: none;
	border-radius: 20px;
	background: var(--colour-white);
	padding: 40px;
	max-width: unset;
}
.shop-cart .et_pb_wc_checkout_payment_info {
	background: none !important;
	padding: 0 !important;
}

.et_pb_wc_cart_products table.shop_table thead {
	display: none;
}
.et_pb_wc_cart_products table.shop_table tbody {
	display: flex;
	flex-direction: column;
	row-gap: 5px;
	width: 100%;
}
.et_pb_wc_cart_products table.shop_table thead > tr,
.et_pb_wc_cart_products table.shop_table tbody > tr {
	display: flex;
	width: 100%;
	padding: .25em .5em !important;
}
.et_pb_wc_cart_products table.shop_table tbody > tr td {
	font-family: var(--font-body);
	font-size: var(--size-3);
}
.et_pb_wc_cart_products table.shop_table tbody > tr td.product-thumbnail img {
	width: 50px;
	border-radius: 5px;
}
.et_pb_wc_cart_products table.shop_table tbody > tr td.product-price > span {
	opacity: 1;
}

.et_pb_wc_cart_products table.shop_table tbody > tr.cart_item {
	display: flex;
	align-items: center;
	width: 100%;
	border-radius: 10px;
	border: 1px solid var(--colour-grey);
}
.et_pb_wc_cart_products table.shop_table tbody > tr.cart_item > td {
	border: none;
}
.et_pb_wc_cart_products table.shop_table td.product-quantity {
	flex: 1 1 auto;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.et_pb_wc_cart_products table.shop_table .quantity {
	overflow: visible !important;
}
.et_pb_wc_cart_products table.shop_table input.qty {
	border-radius: 0;
    background-color: var(--colour-white);
    border: 1px solid var(--colour-grey) !important;
    max-width: 65px;
    min-width: 65px;
    width: 100%;
    padding: 0px 12px;
    text-align: center;
    font-size: var(--size-3) !important;
    font-weight: 500;
    font-family: var(--font-main);
    color: var(--colour-text) !important;
}
.et_pb_wc_cart_products table.shop_table td.product-subtotal {
	min-width: 95px;
	text-align: right;
}

/*update cart*/
.et_pb_wc_cart_products table.shop_table tr:not(.cart_item) td.actions {
	width: 100%;
	flex: 1 1 auto;
	border: none;
	padding: 0 !important;
	display: flex;
	justify-content: flex-end;
}
.et_pb_wc_cart_products table.shop_table tr:not(.cart_item) td.actions button.button {
	border: none !important;
	border-radius: 0px !important;
	padding: 8px 16px !important;
	background: var(--colour-primary) !important;

	font-size: var(--size-2) !important;
	font-weight: 400;
	line-height: 1.2em;
	font-family: var(--font-main);
	color: var(--colour-white) !important;
}
.et_pb_wc_cart_products table.shop_table tr:not(.cart_item) td.actions button.button:hover {
	background: var(--colour-primary) !important;
}
.et_pb_wc_cart_products table.shop_table tr:not(.cart_item) td.actions button.button:disabled {
	background: var(--colour-grey) !important;
	color: var(--colour-text) !important;
}
.et_pb_wc_cart_products table.shop_table tr:not(.cart_item) td.actions button.button::before,
.et_pb_wc_cart_products table.shop_table tr:not(.cart_item) td.actions button.button::after {
	display: none !important;
}

/*totals*/
.et_pb_wc_checkout_order_details form.checkout {
	padding: 0;
	background-color: transparent;
}

.et_pb_wc_cart_totals,
.et_pb_wc_checkout_order_details {
	position: sticky;
	top: 40px;
	max-height: calc(100svh - 40px);
	overflow-y: auto;
}
.et_pb_wc_cart_totals .cart_totals h2,
.et_pb_wc_checkout_order_details form.checkout h3 {
	font-size: var(--size-h4);
	margin-bottom: 15px;
}

.et_pb_wc_cart_totals table.shop_table,
.et_pb_wc_checkout_order_details table.shop_table {
	border-radius: 10px;
}

.et_pb_wc_cart_totals table.shop_table tr th,
.et_pb_wc_cart_totals table.shop_table tr td,
.et_pb_wc_checkout_order_details table.shop_table tr th,
.et_pb_wc_checkout_order_details table.shop_table tr td {
	font-family: var(--font-main);
	font-size: var(--size-3);
	font-weight: 500;
}
.et_pb_wc_cart_totals table.shop_table tr td:last-child,
.et_pb_wc_checkout_order_details table.shop_table tr th:last-child,
.et_pb_wc_checkout_order_details table.shop_table tr td:last-child {
	text-align: right;
}
.et_pb_wc_cart_totals table.shop_table tr.order-total th,
.et_pb_wc_cart_totals table.shop_table tr.order-total td strong,
.et_pb_wc_checkout_order_details table.shop_table tr.order-total th,
.et_pb_wc_checkout_order_details table.shop_table tr.order-total td strong {
	font-weight: 700;
	font-size: var(--size-4);
}
.et_pb_wc_checkout_order_details table.shop_table tr td strong.product-quantity {
	font-weight: 600;
	opacity: 1;
}
.et_pb_wc_checkout_order_details table.shop_table thead tr th {
	color: var(--colour-primary);
	font-weight: 600;
}

.et_pb_wc_cart_totals .wc-proceed-to-checkout {
	padding: 0;
}
.et_pb_wc_cart_totals .wc-proceed-to-checkout a.button {
	border: none !important;
	border-radius: 0px !important;
	padding: 8px 16px 8px !important;
	width: 100%;
	background: var(--colour-primary) !important;

	font-size: var(--size-2) !important;
	font-weight: 400;
	line-height: 1.2em;
	font-family: var(--font-main);
	color: var(--colour-white) !important;
	
}
.et_pb_wc_cart_totals .wc-proceed-to-checkout a.button:hover {
	background: var(--colour-primary) !important;
}
.et_pb_wc_cart_totals .wc-proceed-to-checkout a.button::after {
	display: none !important;
}

/*checkout form*/
.shop-cart .et_pb_row .et_pb_column.shop-checkout-column {
	row-gap: clamp(10px, calc(var(--row-gap) * 2), 20px);
}

.et_pb_wc_checkout_billing form .form-row {
	margin-bottom: 20px;	
}
/* Dormant: the razor-blanchard-exchange plugin removes the billing address_1
   field from the checkout, so this rule no longer matches. Kept in case the
   address fields are ever restored. */
.et_pb_wc_checkout_billing form .form-row#billing_address_1_field {
	margin-bottom: 5px;	
}
/* .woocommerce-input-wrapper:has(#hdc_customer_type_consumer) {
	display: flex;
	flex-wrap: wrap;
} */
.woocommerce form.checkout .form-row label {
	font-family: var(--font-main);
	font-size: var(--size-3);
	font-weight: 500;
	color: var(--colour-text);
}
/* .woocommerce form.checkout .form-row label.radio {
	flex: 1 1 95%;
}
.woocommerce form.checkout .form-row #hdc_customer_type_consumer,
.woocommerce form.checkout .form-row #hdc_customer_type_provider {
	flex: 1 1;
} */
.et_pb_contact_form_7 form input:not([type="radio"]):not([type="checkbox"]),
.et_pb_contact_form_7 form select,
.et_pb_contact_form_7 form textarea,
.woocommerce form.checkout .form-row input,
.woocommerce form.checkout .form-row select,
.woocommerce form.checkout .form-row textarea,
.woocommerce form.checkout .form-row span.select2-selection {
	background: var(--colour-background);
	border: 1px solid var(--colour-grey);
	border-radius: 5px;
	padding: 14px;
	font-size: 16px;
	font-family: var(--font-body);
	color: var(--colour-text);
	line-height: 1.4em;
}
.et_pb_contact_form_7 form input:not([type="radio"]):not([type="checkbox"]):focus,
.et_pb_contact_form_7 form select:focus,
.et_pb_contact_form_7 form textarea:focus,
.woocommerce form.checkout .form-row input:focus,
.woocommerce form.checkout .form-row select:focus,
.woocommerce form.checkout .form-row textarea:focus {
	background: var(--colour-white);
}
.woocommerce form.checkout .form-row .select2-container--open span.select2-selection {
	background: var(--colour-white);
	border-color: #000;
}
.woocommerce form.checkout .form-row input:focus {
	color: var(--colour-blue);
}
.woocommerce form.checkout .form-row span.select2-selection .select2-selection__rendered {
	padding: 0;
	color: var(--colour-text);
}
.woocommerce form.checkout .form-row span.select2-selection .select2-selection__arrow {
	top: 55%;
}
.woocommerce .select2-container--default .select2-search--dropdown .select2-search__field {
	border-radius: 5px;
	font-size: 16px;
	padding: 6px;
}
.woocommerce .form-row span.select2-selection .select2-results__option--highlighted,
.woocommerce .select2-container--default .select2-results__option--highlighted[aria-selected], 
.woocommerce .select2-container--default .select2-results__option--highlighted[data-selected] {
	background-color: var(--colour-green) !important;
}

.et_pb_contact_form_7 form input:not([type="radio"]):not([type="checkbox"]):focus,
.et_pb_contact_form_7 form select:focus,
.et_pb_contact_form_7 form textarea:focus,
.woocommerce form .form-row.woocommerce-validated input.input-text, 
.woocommerce form .form-row.woocommerce-validated select {
	border-color: var(--colour-green);
	box-shadow: 0 0 0 1px var(--colour-green);
}
.woocommerce form .form-row.woocommerce-invalid input.input-text, 
.woocommerce form .form-row.woocommerce-invalid select {
	border-color: var(--colour-orange);
	box-shadow: 0 0 0 1px var(--colour-orange);
}
.woocommerce form .form-row.woocommerce-invalid label {
	color: var(--colour-orange);
}
.woocommerce .select2-results__option {
	color: var(--colour-text) !important;
}
/*checkbox fix (chrome)*/
.woocommerce form .form-row input[type="checkbox"] {
	scale: 1 !important;
  	transform: none !important;
  	transition: none !important;
}


/*payment form*/
.et_pb_wc_checkout_payment_info ul.wc_payment_methods > li > label {
	font-size: var(--size-h3);
	font-family: var(--font-main);
	color: var(--colour-primary);
	font-weight: 600;
}

.et_pb_wc_checkout_payment_info form.woocommerce-checkout ul.wc_payment_methods .payment_box {
	border-radius: 10px !important;
	border: 1px solid var(--colour-grey);
	background-color: var(--colour-white) !important;
	color: var(--colour-white);
}
.et_pb_wc_checkout_payment_info #add_payment_method #payment div.payment_box, 
.et_pb_wc_checkout_payment_info .woocommerce-cart #payment div.payment_box, 
.et_pb_wc_checkout_payment_info .woocommerce-checkout #payment div.payment_box {
	color: var(--colour-text);
}

.et_pb_wc_checkout_payment_info form .form-row.place-order {
	margin-top: 10px;
}
.et_pb_wc_checkout_payment_info .woocommerce-privacy-policy-text p {
	font-size: var(--size-2);
	color: var(--colour-text);
	opacity: 1;
}
.et_pb_wc_checkout_payment_info .woocommerce-privacy-policy-text p a {
	/* color: var(--colour-primary); */
	text-decoration: underline;
}
.et_pb_wc_checkout_payment_info form .form-row.place-order button.button {
	border: none !important;
	border-radius: 0px !important;
	padding: 8px 16px !important;
	margin-top: 20px;
	width: 100%;
	max-width: 240px;
	background: var(--colour-primary) !important;

	font-size: var(--size-2) !important;
	font-weight: 400;
	line-height: 1.2em;
	font-family: var(--font-main);
	color: var(--colour-white) !important;
}
.et_pb_wc_checkout_payment_info form .form-row.place-order button.button:hover {
	background: var(--colour-primary) !important;
}
.et_pb_wc_checkout_payment_info form .form-row.place-order button.button::after {
	display: none !important;
}

/*stripe*/
.woocommerce .woocommerce-checkout-payment fieldset .form-row label,
.woocommerce .woocommerce-checkout-payment fieldset .p-Field label {
	font-size: var(--size-2);
}

@media screen and (max-width:1000px) {
	.shop-cart.et_pb_section .et_pb_row {
		column-gap: clamp(30px, calc(var(--column-gap) * 6), 60px);
	}

	.et_pb_wc_cart_products table.shop_table tbody > tr.cart_item {
		flex-direction: column;
		position: relative;
		padding: 15px !important;
		padding-left: 85px !important;
	}
	.et_pb_wc_cart_products table.shop_table tbody > tr td {
		width: 100%;
		text-align: left;
		padding: 2px !important;
	}
	.et_pb_wc_cart_products table.shop_table tbody > tr.cart_item td.product-remove {
		position: absolute;
		width: auto;
		top: 5px;
		right: 5px;
		padding: 0 !important;
		z-index: 2;
	}
	.et_pb_wc_cart_products table.shop_table td.product-thumbnail {
		position: absolute;
		top: 15px;
		left: 15px;
		bottom: 15px;
		display: block !important;
		max-width: 54px !important;
	}
	.et_pb_wc_cart_products table.shop_table td.product-quantity {
		justify-content: center;
		padding: 10px 0 !important;
	}
	.et_pb_wc_cart_products table.shop_table td.product-quantity .quantity {
		width: 100%;
	}
	.et_pb_wc_cart_products table.shop_table input.qty {
		max-width: 140px;
		padding: 5px 15px;
	}
	.et_pb_wc_cart_products table.shop_table td.product-subtotal {
		text-align: left;
	}
	
	/*checkout*/
	.et_pb_wc_checkout_billing form.checkout, 
	.et_pb_wc_checkout_additional_info form.checkout, 
	.et_pb_wc_checkout_shipping form.checkout, 
	.et_pb_wc_checkout_payment_info form.checkout {
		padding: 28px;
	}
	
	.et_pb_wc_checkout_billing form .form-row {
		margin-bottom: 15px;
	}
}
@media screen and (max-width:980px) {
	.shop-cart .checkout .col-1, 
	.shop-cart .checkout .col-2 {
		margin-bottom: 0 !important;
	}
}
@media screen and (max-width:768px) {
	.shop-cart.et_pb_section {
		padding: 40px 0 !important;
	}
	.et_pb_wc_cart_products table.shop_table tbody > tr td::before {
		display: none !important;
	}
	.et_pb_wc_cart_products table.shop_table tbody > tr td {
		text-align: left !important;
	}
	.et_pb_wc_cart_products table.shop_table_responsive tr:nth-child(2n) td, 
	.woocommerce-page .et_pb_wc_cart_products table.shop_table_responsive tr:nth-child(2n) td {
		background: none;
	}

	.woocommerce-page .et_pb_wc_cart_products .quantity input.qty, 
	.woocommerce .et_pb_wc_cart_products .quantity input.qty {
		width: 100%;
	}

	/*checkout*/
	.shop-cart .et_pb_row {
		flex-wrap: wrap;
	}
	.shop-cart.et_pb_section .et_pb_row .et_flex_column_8_24 {
		max-width: 100%;
		width: 100%;
	}
	.shop-cart.et_pb_section .et_pb_row:has(.shop-checkout-column) .et_flex_column_8_24 {
		order: -1;
	}
	.et_pb_wc_cart_products.woocommerce table.shop_table,
	.shop-cart.et_pb_section .et_pb_row:has(.shop-checkout-column) table.shop_table {
		margin-bottom: 0 !important;
	}
	.et_pb_wc_checkout_payment_info form .form-row.place-order button.button {
		max-width: unset;
	}
}
@media screen and (max-width:600px) {
	.shop-cart.et_pb_section {
		padding: 20px 0 !important;
	}
	.shop-cart.et_pb_section .et_pb_row {
		flex-wrap: wrap;
	}
	.shop-cart.et_pb_section .et_pb_row .et_flex_column_8_24 {
		width: 100%;
		max-width: unset;
	}

	.et_pb_wc_checkout_payment_info .woocommerce-checkout #payment div.payment_box {
		margin: 15px -15px;
		width: auto;
	}
}


.hdc-required-note {
    font-size: 0.9em;
    margin-bottom: 1em;
}
.hdc-customer-type legend {
    font-weight: 600;
    margin-bottom: 0.5em;
}


.hdc-customer-type legend abbr {
    text-decoration: none;
}

.hdc-notice-banner {     
	padding: 20px;
    text-align: center;
    background-color: var(--colour-primary);
    color: var(--colour-white); 
	font-size: 18px;
}

@media screen and (max-width:800px) {
	.hdc-notice-banner {     
		padding: 15px;
		font-size: 16px;
	}
}

.includes_tax {
	font-size: 14px;
	white-space: nowrap;
}
.woocommerce-thankyou-order-received {
	font-size: var(--size-h1);
	color: var(--colour-primary);
	font-weight: 600;
	margin-bottom: 40px;
	font-family: var(--font-main);
}
.et_pb_wc_checkout_payment_info  .woocommerce-order-details__title,
.et_pb_wc_checkout_payment_info .woocommerce-column__title {
	font-size: var(--size-h3);
}

@media screen and (max-width:1000px) {
	.shop-cart.et_pb_section .et_pb_row:has(.woocommerce-order-details__title) {
		flex-direction: column;
	}
}
@media screen and (max-width:600px){
	.woocommerce .et_pb_row:has(.woocommerce-order-details__title) ul.order_details {
		display: flex;









		flex-wrap: wrap;
		row-gap: 15px;
	}
}

@media (max-width: 360px) {
    .et_pb_column_1_tb_header,
    .et_pb_menu_0_tb_header,
    .et_pb_menu_inner_container,
    .et_pb_menu__wrap {
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}
.payment_methods .woocommerce-info {
	display: none !important;
}
.woocommerce table.shop_table td.product-price,
.woocommerce table.shop_table td.product-price bdi,
.woocommerce table.shop_table td.product-subtotal,
.woocommerce table.shop_table td.product-subtotal bdi {
    color: var(--colour-text);
}

.woocommerce-checkout-review-order-table .product-quantity {
    color: var(--colour-text);
}

.woocommerce-privacy-policy-text a {
    color: #7B1D1D;
}

.woocommerce-privacy-policy-text,
.woocommerce-privacy-policy-text p {
    color: var(--colour-text);
}
.woocommerce-error li a {
    color: #ffffff;
}
.woocommerce-terms-and-conditions-wrapper {
	display: none;
}
.woocommerce .et_pb_wc_checkout_payment_info form.checkout {
	padding: 0px;
	background-color: transparent;
}
/* WCAG 1.4.3 — #999 placeholder on #eee fails 2.45:1; #595959 gives 5.9:1 */
.woocommerce input::placeholder,
.woocommerce-page input::placeholder,
.woocommerce input[type="email"],
.woocommerce input[type="text"],
.woocommerce input[type="tel"] {
    color: var(--colour-text);
}


.hdc-required-note abbr {
    text-decoration: none;
    cursor: default;
}
h2:has(.product-subtitle) {
	margin-bottom: 0px;
	font-size: var(--size-h3);
}
.woocommerce .wc-bacs-bank-details-account-name {
	font-size: var(--size-h4);
}
.woocommerce .wc-bacs-bank-details-heading {
	font-size: var(--size-h3);
	font-weight: 600;
}

.woocommerce .col2-set::after, .woocommerce .col2-set::before, .woocommerce-page .col2-set::after, .woocommerce-page .col2-set::before {
	display: none !important;
}