.product-wrapper {
	align-items: start;
	display: grid;
	grid-template-areas:
		"title"
		"gallery"
		"features"
		"summary"
		"description"
		"banners"
		"tech"
		"cross-sells"
		;
	grid-template-columns: 1fr;
	position: relative;
	@media screen and (min-width: 768px) {
		grid-template-areas:
			"title title"
			"gallery summary"
			"features description"
			"banners banners"
			"tech tech"
			"cross-sells cross-sells"
			;
		grid-template-columns: repeat(2, 1fr);
	}
	h2 {
		font-size: 40px;
	}
}

#cross-sells {
	grid-area: cross-sells;
}

#product-banners {
	grid-area: banners;
	img {
		display: block;
		width: 100%;
	}
	.quotation {
		font-family: var(--font-bank);
		font-size: 24px;
		font-weight: 200;
		padding: 4vh 0;
		text-align: center;
		@media screen and (min-width: 768px) {
			font-size: 32px;
		}
		@media screen and (min-width: 1400px) {
			font-size: 54px;
		}
		.club {
			color: var(--theme-grey);
			display: block;
			font-size: 16px;
			@media screen and (min-width: 1400px) {
				font-size: 24px;
			}
		}
		.player {
			color: var(--theme-red);
		}
	}
}

#product-description {
	align-self: stretch;
	display: flex;
	flex-flow: column nowrap;
	grid-area: description;
	justify-content: space-between;
	padding-left: 1rem;
	div, h2 {
		flex: 0 0 auto;
	}
}

#product-features {
	grid-area: features;
	padding-right: 1rem;
}

#product-gallery {
	grid-area: gallery;
	.flash {
		position: absolute;
		right: 0;
		top: 0;
		.label {
			color: white;
			display: block;
			font-weight: bold;
			margin: 0;
			text-transform: uppercase;
		}
	}
}

#product-summary {
	font-family: var(--font-body);
	grid-area: summary;
	padding: 0 1vw;
	h2 {
		font-size: 27px;
		margin: 0 0 0.5rem;
		text-transform: none;
	}
	h5 {
		color: var(--theme-red-medium);
		font-size: 24px;
		margin: 0 0 0.5rem;
		text-transform: capitalize;
	}
	.price {
		align-items: center;
		display: flex;
		flex: 1 1 auto;
		flex-flow: row nowrap;
		font-size: 2.5rem;
		margin: 0;
		padding: 0;
		del {
			flex: 0 0 auto;
			font-size: 1rem;
			margin-right: 0.5rem;
		}
		ins {
			flex: 1 1 auto;
		}
		.price-ex-tax {
			font-size: 1rem;
			font-style: italic;
		}
	}
	.product_meta {
		display: flex;
		flex-flow: row nowrap;
		justify-content: space-between;
		margin: 1rem 0;
		padding: 0;
		.meta-details {
			flex: 0 0 auto;
			text-align: right;
			span {
				display: block;
			}
		}
	}
	.cart {
		flex: 0 0 auto;
		margin: 1rem 0 0;
		padding: 0;
		width: 100%;
		select {
			display: none;
		}
		.quantity h2 {
			margin: 1rem 0 0.5rem;
		}
		.reset_variations {
			float: right;
		}
	}
	.uwa_auction_form {
		align-items: center;
		display: flex;
		flex-flow: row wrap;
		margin: 0;
		.buttons_added {
			align-items: center;
			border: none;
			display: flex;
			flex: 0 0 auto;
			flex-flow: row nowrap;
			.uwa_currency {
				flex: 0 0 auto;
				font-size: 1.5rem;
				margin-right: 0.25rem;
			}
			input {
				background: rgba(0, 0, 0, 0.25);
				border: 1px solid #ccc !important;
				color: white;
				flex: 0 0 auto;
			}
		}
		.bid_button {
			flex: 0 0 auto;
			margin-left: 0.25rem;
		}
		.uwa_inc_price_hint {
			flex: 0 0 100%;
		}
	}

	.variations {
		position: relative;
		.reset_variations {
			position: absolute;
			right: 0;
			z-index: 1000;
		}
	}

	.attribute {
		display: grid;
		gap: 4px;
		grid-template-columns: repeat(auto-fill, minmax(60px, 1fr));
		list-style: none;
		margin: 0.5rem 0;
		padding: 0;
		width: 100%;
		& > li::before {
			content: "";
			padding-bottom: 100%;
			display: block;
		}
		li {
			align-items: center;
			border: 1px solid #aaa;
			display: flex;
			justify-content: center;
			margin: 0;
			padding: 0;
			&:hover {
				cursor: pointer;
			}
			input[type="radio"] {
				display: none;
			}
			input[type="radio"] + label {
				align-items: center;
				display: flex;
				height: 100%;
				justify-content: center;
				width: 100%;
			}
			input[type="radio"]:checked ~ i {
				display: inherit;
			}
		}
		.out-of-stock {
			background: #aaa;
			color: black;
			&:hover {
				cursor: auto;
			}
		}
		.selected {
			border: 1px solid red;
			color: red;
		}
	}

	.pa_colour {
		font-size: 80%;
		#pa_colour-black {
			background: black;
			color: white;
		}
		#pa_colour-bright-royal-blue {
			background: #0A8EFF;
			color: white;
		}
		#pa_colour-burgandy {
			background: #7B0221;
			color: white;
		}
		#pa_colour-classic-red {
			background: #CC3300;
			color: white;
		}
		#pa_colour-french-navy-blue {
			background: #0058A3;
			color: white;
		}
		#pa_colour-grey {
			background: gray;
			color: white;
		}
		#pa_colour-grey-marl {
			background: gray;
			color: white;
		}
		li {
			input[type="radio"]:disabled + label {
				background: auto;
				color: auto;
				&:hover {
					cursor: auto;
				}
			}
			input[type="radio"]:checked + label {
				display: none;
			}
			input[type="radio"]:checked ~ i {
				display: inherit;
			}
			.fa-check {
				color: white;
				display: none;
				font-size: 200%;
				text-align: center;
			}
			.fa-times {
				color: white;
				font-size: 200%;
				text-align: center;
			}
		}
	}

	.pa_tape-colour {
		font-size: 80%;
		#pa_tape-colour-black {
			background: black;
			color: white;
		}
		#pa_tape-colour-blue {
			background: blue;
			color: white;
		}
		#pa_tape-colour-green {
			background: green;
			color: white;
		}
		#pa_tape-colour-orange {
			background: orange;
			color: white;
		}
		#pa_tape-colour-pink {
			background: pink;
			color: black;
		}
		#pa_tape-colour-red {
			background: red;
			color: white;
		}
		#pa_tape-colour-sky {
			background: skyblue;
			color: black;
		}
		#pa_tape-colour-white {
			background: white;
			color: black;
			.fa-check, .fa-times {
				color: black;
			}
		}
		#pa_tape-colour-yellow {
			background: yellow;
			color: black;
			.fa-check, .fa-times {
				color: black;
			}
		}
		li {
			input[type="radio"]:disabled + label {
				background: auto;
				color: auto;
				&:hover {
					cursor: auto;
				}
			}
			input[type="radio"]:checked + label {
				display: none;
			}
			input[type="radio"]:checked ~ i {
				display: inherit;
			}
			.fa-check {
				color: white;
				display: none;
				font-size: 200%;
				text-align: center;
			}
			.fa-times {
				color: white;
				font-size: 200%;
				text-align: center;
			}
		}
	}
	.woocommerce-variation-add-to-cart {
		margin: 0.5rem 0;
		padding: 0;
		width: 100%;
	}
}

.single_add_to_cart_button {
	cursor: pointer;
	font-weight: bold;
	margin: 1rem 0;
	padding: 1rem;
	text-transform: uppercase;
}

.size-guide-link {
	float: right;
	font-size: 0.8rem;
	padding: 0.2rem 0 0;
	text-transform: uppercase;
	animation-delay: 10s;
}

.woocommerce_gc_giftcard_form {
	input[type="text"],
	textarea
	{
		border: 1px solid #a0a0a0;
		background: rgba(50, 50, 50, 0.5);
		color: #fff;
		padding: 0.5rem;
		width: 100%;
	}
}

#product-tech {
	display: grid;
	gap: 1rem;
	grid-area: tech;
	/*grid-template-columns: repeat(4, minmax(0, 1fr));*/
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	justify-content: center;
	margin: 0;
	padding: 0.5rem;
	width: 100%;
	.tech-item {
		text-align: center;
		@media screen and (min-width: 1280px) {
			font-size: 0.9rem;
		}
		h2 {
			font-family: var(--font-tech);
			font-size: 3vh;
			padding: 0.5vh 0;
			text-transform: none;
			span {
				font-family: var(--font-tech-span);
			}
		}
		img {
			display: block;
			margin: 0 auto;
			width: 100%;
		}
		.latex {
			font-family: var(--font-latex);
			span {
				font-family: var(--font-latex-span);
			}
		}
		.palm-style {
			font-family: var(--font-palms);
			font-size: 26px;
			span {
				font-family: var(--font-palms-span);
			}
		}
		.tech-text {
			font-family: var(--font-tech-text);
			margin-top: 0.5rem;
			text-align: left;
		}
	}
}

#product-title {
	grid-area: title;
	h1 {
		text-align: center;
	}
}

#glove-ratings {
	align-items: end;
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr;
	justify-content: center;
	padding: 1rem;
	@media screen and (min-width: 768px) {
		grid-template-columns: repeat(3, 1fr);
	}
	h5 {
		color: var(--theme-red);
		text-align: center;
	}
	.value {
		background: #000;
		border-radius: 10px;
		color: #fff;
		font-family: var(--font-bank);
		font-size: 1.5rem;
		font-weight: 200;
		text-align: center;
	}
}

#product-options {
	.accordion-header {
		margin: 0;
		button {
			color: var(--theme-red-medium);
			font-size: 27px;
		}
	}
}

.product-upsell {
	margin: 0;
	padding: 0 1rem;
	li {
		align-items: center;
		display: flex;
		flex-flow: row nowrap;
		justify-content: space-between;
		margin: 1rem 0;
	}
}

#related-products {
	display: grid;
	grid-gap: 1rem;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 72px), 1fr));
	list-style: none;
	margin: 1rem 0;
	padding: 0;
	li {
		overflow: hidden;
		img {
			display: block;
		}
	}
	.current {
		border: 1px solid rgb(17, 17, 17);
		border-radius: 4px;
	}
}

#sizeModal {
	h1 {
		margin: 0;
	}
	h3 {
		text-align: center;
	}
}
.size-guide-table {
	border-collapse: collapse;
	margin: 1rem auto;
	width: 70%;
	td, th {
		border: 1px solid #444;
		font-size: 0.7rem;
		padding: 0.5rem;
		text-align: center;
		@media screen and (min-width: 768px) {
			font-size: 0.8rem;
		}
	}
	th {
		background: #444;
		color: #fff;
		text-transform: uppercase;
	}
}
