/*
 * Geotoky — Cart, Checkout and My Account.
 *
 * Scoped to .gkt (the page wrapper printed by templates/wc-page.php) and
 * body.gkt-page, so no other page is affected. Loads after Styler's own
 * stylesheets. Look: Jost, square corners, 1px light borders, near-black
 * buttons (#252525) and the shop's coral (#da7474) as the accent.
 */

.gkt {
	--gk-black: #252525;
	--gk-accent: #da7474;
	--gk-red: #d4362e;
	--gk-text: #4a4a4a;
	--gk-muted: #7d7d7d;
	--gk-line: #e2e2e2;
	--gk-border: #d3d3d3;
	--gk-soft: #f8f9fa;
	--gk-ok: #2f7d17;
	--gk-radius: 0;
	--gk-font: "Jost", var(--styler-font, sans-serif);

	max-width: 1240px;
	margin: 0 auto;
	padding: 40px 32px 96px;
	color: var(--gk-text);
	font-family: var(--gk-font);
	font-size: 15px;
	line-height: 1.6;
}

.gkt *,
.gkt *::before,
.gkt *::after {
	box-sizing: border-box;
}

.gkt a {
	color: inherit;
}

/* Page title, only when the grey Styler title band is switched off. */
.gkt__title {
	margin: 0 0 28px;
	font-family: var(--gk-font);
	font-size: 35px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--gk-black);
}

/* ------------------------------------------------------------------ *
 * Steps (cart → details & payment → done)
 * ------------------------------------------------------------------ */

.gkt-steps {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 28px;
	margin: 0 0 28px;
	padding: 0;
	list-style: none;
	font-size: 13px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--gk-muted);
}

.gkt-steps__item {
	position: relative;
	display: flex;
	align-items: center;
}

.gkt-steps__item + .gkt-steps__item::before {
	content: "";
	position: absolute;
	left: -20px;
	top: 50%;
	width: 12px;
	height: 1px;
	background: #c8c8c8;
}

.gkt-steps__item a {
	display: flex;
	align-items: center;
	text-decoration: none;
}

.gkt-steps__n {
	display: inline-grid;
	place-items: center;
	width: 24px;
	height: 24px;
	margin-right: 8px;
	border: 1px solid #c8c8c8;
	border-radius: 50%;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0;
}

.gkt-steps__item.is-current {
	color: var(--gk-black);
	font-weight: 500;
}

.gkt-steps__item.is-current .gkt-steps__n {
	border-color: var(--gk-black);
	background: var(--gk-black);
	color: #fff;
}

.gkt-steps__item.is-done .gkt-steps__n {
	border-color: var(--gk-black);
	color: var(--gk-black);
}

/* ------------------------------------------------------------------ *
 * Shared: summary card, rows, buttons, inputs
 * ------------------------------------------------------------------ */

.gkt-summary {
	padding: 24px;
	border: 1px solid var(--gk-line);
	border-radius: var(--gk-radius);
	background: #fff;
}

.gkt-summary__title {
	margin: 0 0 16px;
	font-family: var(--gk-font);
	font-size: 17px;
	font-weight: 500;
	color: var(--gk-black);
}

.gkt-rows {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	border: 0 !important;
}

.gkt-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	font-size: 14px;
}

.gkt-row > span:first-child {
	color: var(--gk-muted);
}

.gkt-row > span:last-child {
	text-align: right;
	font-weight: 500;
	color: var(--gk-black);
}

.gkt-row--block {
	display: block;
	padding: 6px 0 2px;
}

.gkt-row__label {
	display: block;
	margin-bottom: 8px;
	font-size: 13px;
	font-weight: 500;
	color: var(--gk-black) !important;
}

.gkt-row--total {
	margin-top: 6px;
	padding-top: 14px;
	border-top: 1px solid var(--gk-line);
	align-items: baseline;
}

.gkt-row--total > span:first-child {
	font-size: 15px;
	font-weight: 500;
	color: var(--gk-black);
}

.gkt-row--total > span:last-child {
	font-size: 20px;
	font-weight: 600;
}

.gkt-row--total small,
.gkt-row--total .includes_tax {
	display: block;
	font-size: 12px;
	font-weight: 400;
	color: var(--gk-muted);
}

.gkt-row .woocommerce-remove-coupon {
	margin-left: 6px;
	font-size: 12px;
	color: var(--gk-muted);
}

.gkt .button,
.gkt button.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	padding: 0 20px;
	border: 1px solid var(--gk-black);
	border-radius: var(--gk-radius);
	background: #fff;
	color: var(--gk-black);
	font-family: var(--gk-font);
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition: background .15s, color .15s;
}

.gkt .button:hover,
.gkt button.button:hover {
	background: var(--gk-black);
	color: #fff;
}

.gkt .checkout-button,
.gkt #place_order {
	width: 100%;
	height: 54px;
	border-color: var(--gk-black) !important;
	background: var(--gk-black) !important;
	color: #fff !important;
	font-size: 16px;
	letter-spacing: .01em;
}

.gkt .checkout-button:hover,
.gkt #place_order:hover {
	background: #000 !important;
}

/* WooCommerce floats it right (wide screens) or adds a bottom margin
   (phones); either way the gap to the terms line under it was off. */
.gkt #place_order {
	float: none !important;
	margin: 0 !important;
}

.gkt .gkt-btn {
	display: inline-flex;
	align-items: center;
	height: 46px;
	padding: 0 24px;
	border-radius: var(--gk-radius);
	background: var(--gk-black);
	color: #fff;
	font-weight: 500;
	text-decoration: none;
}

.gkt input.input-text,
.gkt input[type="text"],
.gkt input[type="email"],
.gkt input[type="tel"],
.gkt input[type="number"],
.gkt input[type="password"],
.gkt select,
.gkt textarea {
	width: 100%;
	min-height: 48px;
	padding: 10px 14px;
	border: 1px solid var(--gk-border);
	border-radius: var(--gk-radius);
	background: #fff;
	font-family: var(--gk-font);
	font-size: 15px;
	color: var(--gk-text);
	box-shadow: none;
	transition: border-color .15s, box-shadow .15s;
}

.gkt textarea {
	min-height: 96px;
}

.gkt input:focus,
.gkt select:focus,
.gkt textarea:focus {
	border-color: var(--gk-black);
	box-shadow: 0 0 0 3px rgba(17, 17, 17, .08);
	outline: none;
}

.gkt .select2-container .select2-selection--single {
	height: 48px;
	border: 1px solid var(--gk-border);
	border-radius: var(--gk-radius);
}

.gkt .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0 40px 0 14px;
	line-height: 46px;
	font-size: 15px;
	color: var(--gk-text);
}

.gkt .select2-container .select2-selection--single .select2-selection__arrow {
	height: 46px;
	right: 8px;
}

.gkt .select2-container--open .select2-selection--single {
	border-color: var(--gk-black);
}

/* The open list is appended to <body>, outside .gkt (no tokens there). */
body.gkt-page .select2-dropdown {
	overflow: hidden;
	border: 1px solid #252525;
	border-radius: 0;
	background: #fff;
	box-shadow: 0 10px 24px rgba(0, 0, 0, .1);
	font-family: "Jost", sans-serif;
}

body.gkt-page .select2-dropdown--above {
	border-radius: 0;
	box-shadow: 0 -10px 24px rgba(0, 0, 0, .1);
}

body.gkt-page .select2-search--dropdown {
	padding: 10px;
}

body.gkt-page .select2-search--dropdown .select2-search__field {
	height: 40px;
	padding: 0 12px;
	border: 1px solid #d3d3d3;
	border-radius: 0;
	font-size: 15px;
	outline: none;
}

body.gkt-page .select2-search--dropdown .select2-search__field:focus {
	border-color: #252525;
}

body.gkt-page .select2-results__option {
	padding: 11px 14px;
	font-size: 15px;
	line-height: 1.3;
	color: #2b2b2b;
}

body.gkt-page .select2-results__option[aria-selected="true"],
body.gkt-page .select2-results__option[data-selected="true"] {
	background: #f5f5f5;
	color: #252525;
	font-weight: 500;
}

body.gkt-page .select2-container--default .select2-results__option--highlighted[aria-selected],
body.gkt-page .select2-container--default .select2-results__option--highlighted[data-selected],
body.gkt-page .select2-results__option--highlighted {
	background: #252525;
	color: #fff;
}

.gkt-summary__secure {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 12px 0 0;
	font-size: 12px;
	color: var(--gk-muted);
}

/* Notices */
.gkt .woocommerce-message,
.gkt .woocommerce-info,
.gkt .woocommerce-error {
	margin: 0 0 20px;
	padding: 14px 18px 14px 18px;
	border: 1px solid var(--gk-line);
	border-left: 3px solid var(--gk-black);
	border-radius: var(--gk-radius);
	background: var(--gk-soft);
	color: var(--gk-text);
	font-size: 14px;
	list-style: none;
}

.gkt .woocommerce-message::before,
.gkt .woocommerce-info::before,
.gkt .woocommerce-error::before {
	display: none;
}

.gkt .woocommerce-error {
	border-left-color: var(--gk-red);
}

.gkt .woocommerce-message {
	border-left-color: var(--gk-ok);
}

.gkt .woocommerce-error li {
	margin: 0;
}

/* Text left, button right, both vertically centred. */
.gkt .woocommerce-message,
.gkt .woocommerce-info {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 16px;
}

.gkt .woocommerce-message .button,
.gkt .woocommerce-info .button {
	order: 2;
	float: none;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	height: 36px;
	margin: 0 0 0 auto;
	padding: 0 16px;
	border: 1px solid var(--gk-black) !important;
	border-radius: var(--gk-radius) !important;
	background: var(--gk-black) !important;
	color: #fff !important;
	font-size: 13px;
	font-weight: 500;
	line-height: 1 !important;
	white-space: nowrap;
}

.gkt .woocommerce-message .button:hover,
.gkt .woocommerce-info .button:hover {
	background: #000 !important;
	border-color: #000 !important;
}

/* ------------------------------------------------------------------ *
 * Shipping choice cards (cart summary + checkout step)
 * ------------------------------------------------------------------ */

.gkt-ship__list {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.gkt-ship__opt {
	display: block !important; /* Styler lays #shipping_method li out as a flex row */
	position: relative;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid var(--gk-border);
	border-radius: var(--gk-radius);
	background: #fff;
	transition: border-color .15s, box-shadow .15s;
}

.gkt-ship__opt:hover {
	border-color: #9a9a9a;
}

.gkt-ship__opt.is-selected {
	border-color: var(--gk-black);
	box-shadow: inset 0 0 0 1px var(--gk-black);
}

/* The real radio stays in the DOM (it carries the value) but takes no room;
   the card draws its own. Stronger than the generic radio style above. */
body.gkt-page .gkt .gkt-ship__opt > input.shipping_method {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	opacity: 0;
	pointer-events: none;
}

.gkt-ship__opt > label {
	display: flex !important;
	width: auto !important;
	max-width: none !important;
	align-items: center;
	gap: 12px;
	margin: 0 !important;
	padding: 14px 16px;
	cursor: pointer;
}

.gkt-ship__radio {
	position: relative;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	border: 1.5px solid #9a9a9a;
	border-radius: 50%;
}

.gkt-ship__opt.is-selected .gkt-ship__radio {
	border-color: var(--gk-black);
}

.gkt-ship__opt.is-selected .gkt-ship__radio::after {
	content: "";
	position: absolute;
	inset: 3px;
	border-radius: 50%;
	background: var(--gk-black);
}

/* Keyboard focus: a soft ring around the whole card, never a box on the label. */
.gkt-ship__opt > label {
	outline: none !important;
}

.gkt-ship__opt:has(> input:focus-visible) {
	box-shadow: inset 0 0 0 1px var(--gk-black), 0 0 0 3px rgba(17, 17, 17, .14);
}

.gkt-ship__text {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-width: 0;
}

.gkt-ship__name {
	font-size: 14px;
	font-weight: 500;
	color: var(--gk-black);
	line-height: 1.35;
}

.gkt-ship__detail {
	margin-top: 2px;
	font-size: 12.5px;
	color: var(--gk-muted);
	line-height: 1.4;
}

.gkt-ship__price {
	font-size: 14px;
	font-weight: 500;
	color: var(--gk-black);
	white-space: nowrap;
}

.gkt-ship__price.is-free {
	color: var(--gk-ok);
}

/* What courier plugins add under a rate (e.g. the ACS Point picker). */
.gkt-ship__extra,
.gkt-ship__later {
	margin: -6px 16px 14px 46px;
	padding: 0;
	font-size: 13px;
	line-height: 1.45;
}

.gkt-ship__later {
	color: var(--gk-muted);
}

.gkt-ship__opt [hidden] {
	display: none !important;
}

/* Only under the chosen method. */
.gkt-ship__opt:not(.is-selected) .gkt-ship__extra,
.gkt-ship__opt:not(.is-selected) .gkt-ship__later {
	display: none;
}

.gkt .gkt-ship__extra button,
.gkt .gkt-ship__extra .button {
	display: inline-flex;
	align-items: center;
	height: 38px;
	padding: 0 16px;
	border: 1px solid var(--gk-black);
	border-radius: var(--gk-radius);
	background: #fff;
	color: var(--gk-black);
	font-family: var(--gk-font);
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	cursor: pointer;
	transition: background .15s, color .15s;
}

.gkt .gkt-ship__extra button:hover,
.gkt .gkt-ship__extra button:focus {
	background: var(--gk-black);
	color: #fff;
}

/*
 * BOX NOW: its script puts the button straight into the rate row (with an
 * inline green background) and the chosen locker box after it. Both get
 * the same room as the other couriers' extras; the button the shop's look.
 */
.gkt .gkt-ship__opt #box_now_delivery_button {
	display: inline-flex;
	align-items: center;
	height: 38px;
	margin: -6px 16px 16px 46px;
	padding: 0 16px;
	border: 1px solid var(--gk-black);
	border-radius: var(--gk-radius);
	background: #fff !important;
	color: var(--gk-black) !important; /* the plugin's own rule is !important too */
	font-family: var(--gk-font);
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	/* BOX NOW's own CSS animates everything (transition: .3s), adds a bottom
	   shadow and moves the button down on hover. Only the colours change here. */
	position: static;
	box-shadow: none !important;
	transform: none !important;
	cursor: pointer;
	transition: background-color .15s, color .15s !important;
}

.gkt .gkt-ship__opt #box_now_delivery_button:hover,
.gkt .gkt-ship__opt #box_now_delivery_button:focus {
	background: var(--gk-black) !important;
	color: #fff !important;
}

.gkt .gkt-ship__opt:not(.is-selected) #box_now_delivery_button,
.gkt .gkt-ship__opt:not(.is-selected) #box_now_selected_locker_details {
	display: none !important;
}

.gkt .gkt-ship__opt #box_now_selected_locker_details {
	width: auto;
	max-width: calc(100% - 62px);
	margin: 0 16px 16px 46px !important;
	padding: 12px 14px;
	border-width: 1px;
	border-radius: var(--gk-radius);
}

.gkt #box_now_selected_locker_details .locker-title {
	font-size: 12px;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.gkt #box_now_selected_locker_details .locker-detail {
	font-size: 13.5px;
}

/* ACS Points */
.gkt .acs-points-new,
.gkt #acs-map-btn-wrapper {
	display: none !important;
}

/* Its button, wherever the plugin prints it (the base theme colours every
   <button> otherwise). */
.gkt #locker-trigger.pick-locker-button {
	display: inline-flex;
	align-items: center;
	height: 38px;
	padding: 0 16px;
	border: 1px solid var(--gk-black);
	border-radius: var(--gk-radius);
	background: #fff;
	color: var(--gk-black);
	font-family: var(--gk-font);
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	cursor: pointer;
	transition: background .15s, color .15s;
}

.gkt #locker-trigger.pick-locker-button[hidden] {
	display: none;
}

.gkt #locker-trigger.pick-locker-button:hover,
.gkt #locker-trigger.pick-locker-button:focus {
	background: var(--gk-black);
	color: #fff;
}

.gkt .locker-container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.gkt .locker-container .point-distance:empty {
	display: none;
}

.gkt .locker-container .point-distance {
	font-size: 12.5px;
	color: var(--gk-muted);
}

.gkt .mg-selected-locker-title {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--gk-muted);
}

.gkt .mg-selected-locker-container {
	display: block;
	width: 100%;
	padding: 0;
	border-radius: 0;
	background: none;
}

.gkt .mg-selected-locker-link {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 2px 12px;
	align-items: center;
	padding: 10px 12px;
	border: 1px solid var(--gk-line);
	border-radius: var(--gk-radius);
	background: var(--gk-soft);
	text-decoration: none !important;
	color: var(--gk-text) !important;
}

.gkt .mg-selected-locker-link:hover {
	border-color: var(--gk-black);
}

/* No pin pictures (distance line, chosen point). */
.gkt .mg-selected-locker-link img,
.gkt .point-distance img {
	display: none;
}

.gkt .mg-selected-locker-container .mg-selected-locker-content {
	display: block;
	width: auto;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--gk-black);
}

.gkt [class*="mg-selected-locker-payment-status-"] {
	justify-self: start;
	margin: 2px 0 0;
	padding: 2px 9px;
	border-radius: 999px;
	font-size: 11.5px;
	font-weight: 500;
	line-height: 1.5;
}

/* Pay on delivery: possible / not possible at this point. */
.gkt .mg-selected-locker-payment-status-yes {
	background: #e7f4ea;
	color: #1d6b32;
}

.gkt .mg-selected-locker-payment-status-no {
	background: #fdecec;
	color: #a31b1b;
}

.gkt .mg-selected-locker-link::after {
	content: "Change point";
	grid-column: 1;
	font-size: 12px;
	text-decoration: underline;
	text-underline-offset: 2px;
	color: var(--gk-black);
}

/* The map opens above everything, header included. */
.acs-sp-wrapper {
	z-index: 2147483000 !important;
}

/* The map pop-up (printed at the end of <body>, outside .gkt). */
body.gkt-page #acs-sp-postcode-input {
	min-height: 4px;
	height: 40px;
}

body.gkt-page #acs-sp-postcode-search-trigger,
body.gkt-page .acs-sp-wrapper .acs-sp-body .acs-sp-sidebar-close-btn,
body.gkt-page .acs-sp-wrapper .acs-sp-body .acs-sp-close-btn {
	background-color: #000;
}

body.gkt-page .acs-sp-sidebar-points-list .acs-sp-sidebar-points-list-item .acs-sp-sidebar-points-list-item-content {
	color: #000;
}

.gkt-ship__note {
	margin: 0;
	padding: 12px 14px;
	border-radius: var(--gk-radius);
	background: var(--gk-soft);
	font-size: 13px;
	color: var(--gk-muted);
}

/* ------------------------------------------------------------------ *
 * Cart
 * ------------------------------------------------------------------ */

.gkt-cart {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	gap: 40px;
	align-items: start;
}

.gkt-cart__side {
	position: sticky;
	top: 24px;
	float: none !important;
	width: auto !important;
}

.admin-bar .gkt-cart__side {
	top: 56px;
}

.gkt .cart-collaterals .cart_totals {
	float: none;
	width: auto;
}

.gkt-items {
	border: 0 !important;
	margin: 0 !important;
}

.gkt-item {
	display: grid;
	grid-template-columns: 104px minmax(0, 1fr) auto;
	gap: 18px;
	padding: 20px 0;
	border-bottom: 1px solid var(--gk-line);
}

.gkt-item:first-child {
	padding-top: 0;
}

.gkt-item__thumb a,
.gkt-item__thumb img {
	display: block;
	width: 104px !important;
	height: 140px !important;
	object-fit: cover;
	border-radius: var(--gk-radius);
	background: var(--gk-soft);
}

.gkt-item__info {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.gkt-item__name {
	font-size: 15px;
	font-weight: 500;
	line-height: 1.35;
	color: var(--gk-black);
}

.gkt-item__name a {
	text-decoration: none;
}

.gkt-item__name a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.gkt-item__meta dl.variation {
	display: flex;
	flex-wrap: wrap;
	gap: 2px 12px;
	margin: 0;
	font-size: 13px;
	color: var(--gk-muted);
}

.gkt-item__meta dl.variation dt,
.gkt-item__meta dl.variation dd {
	float: none;
	margin: 0;
	padding: 0;
	font-weight: 400;
}

.gkt-item__meta dl.variation dd p {
	margin: 0;
}

.gkt-item__meta dl.variation dt {
	margin-right: -8px;
}

.gkt-item__unit {
	font-size: 13px;
	color: var(--gk-muted);
}

.gkt-item__unit del {
	margin-right: 6px;
}

.gkt-item__unit ins {
	text-decoration: none;
	color: var(--gk-red);
	font-weight: 500;
}

.gkt-item__controls {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-top: auto;
	padding-top: 6px;
}

.gkt-qty .quantity {
	display: inline-flex;
	align-items: center;
	height: 40px;
	border: 1px solid var(--gk-border);
	border-radius: var(--gk-radius);
	overflow: hidden;
}

.gkt .gkt-qty input.qty {
	width: 44px;
	min-height: 0;
	height: 38px;
	padding: 0;
	border: 0;
	border-radius: 0;
	text-align: center;
	font-weight: 500;
	-moz-appearance: textfield;
}

.gkt .gkt-qty input.qty:focus {
	box-shadow: none;
}

.gkt-qty input.qty::-webkit-outer-spin-button,
.gkt-qty input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.gkt .gkt-step-btn {
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	background: #fff;
	color: var(--gk-black);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
}

.gkt .gkt-step-btn:hover,
.gkt .gkt-step-btn:focus {
	background: var(--gk-soft);
	color: var(--gk-black);
}

/* Live-site safety: other stylesheets size .product-remove / a.remove as a
   small icon box, which makes the word wrap letter by letter. */
body.gkt-page .gkt .gkt-item__controls .product-remove {
	flex: 0 0 auto;
	width: auto;
	min-width: max-content;
	max-width: none;
	padding: 0;
	white-space: nowrap;
	word-break: normal;
	overflow-wrap: normal;
	writing-mode: horizontal-tb;
}

body.gkt-page .gkt .product-remove a.remove,
body.gkt-page .gkt a.gkt-item__remove {
	display: inline-block;
	position: static;
	width: auto;
	min-width: 0;
	height: auto;
	overflow: visible;
	white-space: nowrap;
	word-break: normal;
	overflow-wrap: normal;
	writing-mode: horizontal-tb;
	text-indent: 0;
	letter-spacing: normal;
	transform: none;
}

.gkt .product-remove a.remove,
.gkt a.gkt-item__remove {
	display: inline-block;
	width: auto;
	height: auto;
	border-radius: 0;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--gk-muted) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
	background: none !important;
}

.gkt a.gkt-item__remove:hover {
	color: var(--gk-red) !important;
}

.gkt-item__total {
	font-size: 15px;
	font-weight: 600;
	color: var(--gk-black);
	white-space: nowrap;
	text-align: right;
}

.gkt-cart__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	padding-top: 20px;
}

.gkt-coupon {
	display: flex;
	gap: 8px;
	flex: 1;
	max-width: 420px;
}

.gkt .gkt-coupon input.input-text {
	min-height: 44px;
	height: 44px;
	float: none;
	width: 100% !important;
	margin: 0 !important;
}

.gkt-coupon .button {
	flex: 0 0 auto;
}

.gkt-coupon.is-loading {
	opacity: .6;
	pointer-events: none;
}

/* Quantities update by themselves; the button stays for no-JS. */
.gkt .gkt-cart__update {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
}

.gkt-cart__continue {
	display: inline-block;
	margin-top: 22px;
	font-size: 14px;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.gkt .wc-proceed-to-checkout {
	margin-top: 20px;
	padding: 0;
}

.gkt .wc-proceed-to-checkout .checkout-button {
	margin: 0;
}

/* Cross-sells: shop cards */
.gkt-cart__cross {
	max-width: none;
	margin: 56px 0 0;
	padding: 0;
}

.gkt-cart__cross .cross-sells > h2 {
	margin: 0 0 4px;
	font-family: var(--gk-font);
	font-size: 20px;
	font-weight: 500;
	color: var(--gk-black);
}

.gkt-cart__cross .cross-sells {
	width: auto;
	float: none;
}

.gkt-cart-empty {
	max-width: 520px;
	margin: 12px auto 0;
	padding: 56px 24px;
	text-align: center;
	color: var(--gk-muted);
}

.gkt-cart-empty svg {
	color: var(--gk-black);
}

.gkt-cart-empty__title {
	margin: 16px 0 6px;
	font-size: 20px;
	font-weight: 500;
	color: var(--gk-black);
}

.gkt-cart-empty__text {
	margin: 0 0 22px;
}

.gkt--cart .return-to-shop {
	display: none;
}

/* ------------------------------------------------------------------ *
 * Checkout
 * ------------------------------------------------------------------ */

.gkt-co {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 400px;
	gap: 48px;
	align-items: start;
}

/* Notices WooCommerce prepends inside the form span both columns. */
.gkt-co > :not(.gkt-co__main):not(.gkt-co__side) {
	grid-column: 1 / -1;
}

.gkt-co > .woocommerce-NoticeGroup .woocommerce-error {
	margin: 0;
}

.gkt-co__main {
	grid-column: 1;
	display: flex;
	flex-direction: column;
	gap: 36px;
	min-width: 0;
}

.gkt-step__title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 18px;
	font-family: var(--gk-font);
	font-size: 19px;
	font-weight: 500;
	color: var(--gk-black);
}

.gkt-step__n {
	display: inline-grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--gk-black);
	color: #fff;
	font-size: 13px;
}

/* Fields */
.gkt #customer_details {
	display: block;
	width: auto;
}

.gkt #customer_details .col-1,
.gkt #customer_details .col-2 {
	float: none;
	width: auto;
	max-width: none;
	padding: 0;
}

.gkt .woocommerce-billing-fields > h3,
.gkt .woocommerce-additional-fields > h3 {
	display: none;
}

.gkt .woocommerce-billing-fields__field-wrapper,
.gkt .woocommerce-shipping-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	/* dense: a half-width field moves up into a gap a plugin's row left
	   (e.g. the phone next to the email, above the email-consent note). */
	grid-auto-flow: row dense;
	gap: 14px 14px;
}

.gkt .form-row {
	grid-column: 1 / -1;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

.gkt .form-row-first {
	grid-column: 1;
}

.gkt .form-row-last {
	grid-column: 2;
}

/* Email-consent note (FunnelKit Automations): a quiet line under email + phone. */
.gkt .form-row:has(.bwfan_email_consent_no_thanks) {
	grid-column: 1 / -1;
	margin-top: -4px !important;
}

.gkt .form-row:has(.bwfan_email_consent_no_thanks) label {
	margin: 0;
	font-size: 12.5px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--gk-muted);
}

.gkt .bwfan_email_consent_no_thanks {
	color: var(--gk-black);
	white-space: nowrap;
}

.gkt .form-row label {
	display: block;
	margin: 0 0 6px;
	font-size: 13px;
	font-weight: 500;
	color: var(--gk-text);
	line-height: 1.3;
}

.gkt .form-row label .required {
	color: var(--gk-red);
	text-decoration: none;
}

.gkt .form-row label .optional {
	font-weight: 400;
	color: var(--gk-muted);
}

.gkt .form-row.woocommerce-invalid input.input-text,
.gkt .form-row.woocommerce-invalid select {
	border-color: var(--gk-red);
}

.gkt .form-row.woocommerce-validated input.input-text {
	border-color: var(--gk-border);
}

.gkt .checkout-inline-error-message {
	margin: 6px 0 0;
	font-size: 12.5px;
	color: var(--gk-red);
}

.gkt #ship-to-different-address {
	margin: 22px 0 14px;
	font-family: var(--gk-font);
	font-size: 14px;
	font-weight: 500;
}

/* Mailchimp's "Subscribe to our newsletter" sits right under the last field. */
.gkt .form-row.mailchimp-newsletter {
	margin: 20px 0 0 !important;
}

.gkt .form-row.mailchimp-newsletter label {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
}

.gkt #ship-to-different-address label {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
}

body.gkt-page .gkt input[type="checkbox"]::before,
body.gkt-page .gkt input[type="radio"]::before {
	content: none !important;
	display: none !important;
}

body.gkt-page .gkt input[type="checkbox"],
body.gkt-page .gkt input[type="radio"] {
	-webkit-appearance: none !important;
	appearance: none !important;
	position: relative;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 1px solid #a9a9a9;
	border-radius: 0;
	background: #fff none;
	box-shadow: none;
	cursor: pointer;
	transition: border-color .15s, background-color .15s;
}

body.gkt-page .gkt input[type="radio"] {
	border-radius: 50%;
}

body.gkt-page .gkt input[type="checkbox"]:checked,
body.gkt-page .gkt input[type="radio"]:checked {
	border-color: var(--gk-black);
	background: var(--gk-black);
}

body.gkt-page .gkt input[type="checkbox"]:checked::after {
	content: "";
	display: block;
	position: absolute;
	inset: auto;
	left: 5px;
	top: 1px;
	width: 5px;
	height: 10px;
	margin: 0;
	background: none;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	border-radius: 0;
	box-shadow: none;
	transform: rotate(45deg);
}

body.gkt-page .gkt input[type="radio"]:checked::after {
	content: "";
	display: block;
	position: absolute;
	inset: auto;
	left: 50%;
	top: 50%;
	width: 8px;
	height: 8px;
	margin: -4px 0 0 -4px;
	border: 0;
	border-radius: 50%;
	background: #fff;
	box-shadow: none;
	transform: none;
}

body.gkt-page .gkt input[type="checkbox"]:not(:checked)::after,
body.gkt-page .gkt input[type="radio"]:not(:checked)::after {
	content: none;
	display: none;
}

body.gkt-page .gkt input[type="checkbox"]:focus-visible,
body.gkt-page .gkt input[type="radio"]:focus-visible {
	outline: 2px solid var(--gk-accent);
	outline-offset: 2px;
}

.gkt .woocommerce-additional-fields {
	margin-top: 22px;
}

.gkt .woocommerce-account-fields {
	margin-top: 18px;
}

.gkt .woocommerce-account-fields .create-account label {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
}

/* Pickup: contact details only */
.gkt-pickup-note {
	display: none;
	margin: -6px 0 18px;
	padding: 12px 14px;
	border-radius: var(--gk-radius);
	background: #edf7ef;
	color: #14532d;
	font-size: 13.5px;
}

.gkt-co.is-pickup .gkt-pickup-note {
	display: block;
}

.gkt-co.is-pickup .gkt-addr,
.gkt-co.is-pickup .woocommerce-shipping-fields {
	display: none !important;
}

/* Payment */
.gkt .gkt-pay {
	border-radius: 0;
	background: none !important;
}

.gkt .gkt-pay ul.payment_methods {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0 0 22px !important;
	padding: 0 !important;
	border: 0 !important;
	list-style: none;
}

.gkt .gkt-pay ul.payment_methods li.wc_payment_method {
	margin: 0;
	padding: 0;
	border: 1px solid var(--gk-border);
	border-radius: var(--gk-radius);
	background: #fff;
	line-height: 1.4;
}

.gkt .gkt-pay ul.payment_methods li.wc_payment_method:has(input:checked) {
	border-color: var(--gk-black);
	box-shadow: inset 0 0 0 1px var(--gk-black);
}

.gkt .gkt-pay ul.payment_methods li.wc_payment_method {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.gkt .gkt-pay li.wc_payment_method > input {
	position: relative;
	flex: 0 0 auto;
	margin: 0 0 0 16px;
}

.gkt .gkt-pay li.wc_payment_method > label {
	display: flex;
	flex: 1 1 0;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	min-width: 0;
	margin: 0;
	padding: 14px 16px 14px 12px;
	font-size: 14px;
	font-weight: 500;
	color: var(--gk-black);
	cursor: pointer;
}

/* The box carries 46px + 16px of margin: its width is what is left of the row. */
.gkt .gkt-pay li.wc_payment_method > div.payment_box {
	flex: 0 0 calc(100% - 62px);
	width: calc(100% - 62px);
	max-width: calc(100% - 62px);
	min-width: 0;
	box-sizing: border-box;
}

.gkt .gkt-pay li.wc_payment_method > div.payment_box > *,
.gkt .gkt-pay li.wc_payment_method > div.payment_box iframe {
	max-width: 100%;
}

.gkt .gkt-pay li.wc_payment_method > label img {
	flex: 0 0 auto;
	max-height: 24px;
	max-width: 100%;
	margin: 0;
}

/* Revolut's Amex logo is drawn edge to edge (its white letters touch the box
   edge and look cut off): same artwork, centred with room around the letters. */
.gkt .gkt-pay img.revolut-card-gateway-icon-amex {
	content: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2236%22 height=%2224%22 viewBox=%220 0 36 24%22%3E%3Cpath fill=%22%231977C6%22 d=%22m32.98707,0.01321l-30,0c-1.65685,0 -3,1.34315 -3,3l0,18c0,1.6569 1.34315,3 3,3l30,0c1.6569,0 3,-1.3431 3,-3l0,-18c0,-1.65685 -1.3431,-3 -3,-3z%22/%3E%3Cg transform=%22translate(18 12) scale(1.05) translate(-26.74 -12.01)%22%3E%3Cpath fill=%22%23fff%22 fill-rule=%22evenodd%22 d=%22m33.09357,20.17891l2.8935,0l0,-0.9618l0,-6.7165l0,-0.9747l-1.8124,0l0,-4.7113l-1.726,4.7113l-1.6109,0l-1.726,-4.7016l0,4.7016l-1.8123,0l0,-6.7165l2.867,0l1.4958,4.1832l1.5056,-4.1832l2.8192,0l0,-0.9619l-3.5344,0l-0.7968,2.2329l-0.7917,-2.2329l-4.5594,0l0,2.963l-1.3149,-2.963l-3.6834,0l-3.8194,8.6492l3.0792,0l0,7.6822l9.5402,0l1.4973,-1.6483l1.4898,1.6483zm-5.7941,-8.653l-2.9628,-6.7165l-2.3589,0l-2.9631,6.7165l2.0137,0l0.5562,-1.3433l3.0875,0l0.5658,1.3433l2.0616,0zm8.6876,0.9747l-3.183,3.3391l3.183,3.3774l-2.4062,0l-1.9657,-2.1685l-1.9753,2.1685l-2.3398,0l3.1644,-3.3583l-3.1644,-3.3582l2.4068,0l1.9467,2.1493l1.9656,-2.1493l2.3679,0zm-8.687,0l-5.7149,0l0,6.7165l5.7149,0l0,-1.5543l-3.8834,0l0,-1.046l3.7874,0l0,-1.516l-3.7874,0l0,-1.0458l3.8834,0l0,-1.5544zm6.8437,3.342l1.8433,1.9621l0,-3.908l-1.8433,1.9459zm-11.0154,-9.3638l-0.911,2.1973l1.822,0l-0.911,-2.1973z%22/%3E%3C/g%3E%3Cpath fill=%22%23000%22 fill-opacity=%22.07%22 fill-rule=%22evenodd%22 d=%22m32.98707,1.01321l-30,0c-1.10457,0 -2,0.89543 -2,2l0,18c0,1.1046 0.89543,2 2,2l30,0c1.1046,0 2,-0.8954 2,-2l0,-18c0,-1.10457 -0.8954,-2 -2,-2zm-30,-1l30,0c1.6569,0 3,1.34315 3,3l0,18c0,1.6569 -1.3431,3 -3,3l-30,0c-1.65685,0 -3,-1.3431 -3,-3l0,-18c0,-1.65685 1.34315,-3 3,-3z%22/%3E%3C/svg%3E");
}

/* Revolut: its label row never wraps and keeps 30% for the promo link, which
   pushes the card icons out of the box on narrower widths. */
.gkt .gkt-pay .revolut-pay-label-container,
.gkt .gkt-pay .revolut-payment-method-label-container {
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
	min-width: 0;
}

.gkt .gkt-pay .revolut-label-informational-icon {
	flex: 0 1 auto;
	min-width: 0;
	margin: 0;
}

.gkt .gkt-pay .revolut-scheme-icons-wrapper,
.gkt .gkt-pay .revolut-payment-method-label-scheme-icons {
	flex: 0 1 auto;
	flex-shrink: 1 !important;
	max-width: 100%;
	min-width: 0;
	margin-left: auto;
}

.gkt .gkt-pay div.payment_box {
	margin: 0 16px 16px 46px;
	padding: 0;
	background: none;
	font-size: 13.5px;
	color: var(--gk-muted);
}

.gkt .gkt-pay div.payment_box::before {
	display: none;
}

.gkt .gkt-pay div.payment_box p:last-child {
	margin-bottom: 0;
}

.gkt .gkt-pay .place-order {
	margin: 0 !important;
	padding: 0 !important;
}

.gkt-terms {
	clear: both;
	margin: 24px 0 0;
	font-size: 12.5px;
	line-height: 1.5;
	color: var(--gk-muted);
	text-align: center;
}

.gkt-terms a {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.gkt .woocommerce-privacy-policy-text {
	display: none;
}

/* Summary */
.gkt-co__side {
	grid-column: 2;
	position: sticky;
	top: 24px;
}

.admin-bar .gkt-co__side {
	top: 56px;
}

.gkt-summary__toggle {
	display: none;
}

.gkt-co .gkt-summary {
	background: var(--gk-soft);
	border-color: var(--gk-soft);
}

.gkt-review {
	margin: 0 !important;
	border: 0 !important;
}

.gkt-review__items {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-bottom: 18px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--gk-line);
}

.gkt-review__item {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
}

.gkt-review__thumb {
	position: relative;
}

.gkt-review__thumb img {
	display: block;
	width: 56px !important;
	height: 72px !important;
	object-fit: cover;
	border-radius: var(--gk-radius);
	background: #fff;
}

.gkt-review__qty {
	position: absolute;
	top: -7px;
	right: -7px;
	display: grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--gk-black);
	color: #fff;
	font-size: 11px;
	font-weight: 600;
}

.gkt-review__name {
	display: block;
	font-size: 13.5px;
	font-weight: 500;
	line-height: 1.35;
	color: var(--gk-black);
}

.gkt-review__info dl.variation {
	display: flex;
	flex-wrap: wrap;
	gap: 0 10px;
	margin: 2px 0 0;
	font-size: 12px;
	color: var(--gk-muted);
}

.gkt-review__info dl.variation dt,
.gkt-review__info dl.variation dd {
	float: none;
	margin: 0;
	padding: 0;
	font-weight: 400;
}

.gkt-review__info dl.variation dd p {
	margin: 0;
}

.gkt-review__total {
	font-size: 14px;
	font-weight: 500;
	color: var(--gk-black);
	white-space: nowrap;
}

.gkt-coupon--checkout {
	max-width: none;
	margin-top: 18px;
}

.gkt-coupon__notice {
	margin-top: 10px;
}

.gkt-coupon__notice .woocommerce-message,
.gkt-coupon__notice .woocommerce-error,
.gkt-coupon__notice .woocommerce-info {
	margin: 0;
	font-size: 13px;
}

/* Login / coupon toggles WooCommerce prints above the form */
.gkt .woocommerce-form-login-toggle .woocommerce-info {
	background: #fff;
	border-left-color: var(--gk-line);
}

.gkt form.woocommerce-form-login {
	margin: 0 0 24px;
	padding: 20px;
	border: 1px solid var(--gk-line);
	border-radius: var(--gk-radius);
}

/* WooCommerce's blockUI while it refreshes */
.gkt .blockUI.blockOverlay {
	background: rgba(255, 255, 255, .6) !important;
}

/* ------------------------------------------------------------------ *
 * Order received
 * ------------------------------------------------------------------ */

.gkt--received .woocommerce-order {
	max-width: 760px;
}

.gkt--received .woocommerce-thankyou-order-received {
	padding: 18px 20px;
	border-radius: var(--gk-radius);
	background: #edf7ef;
	color: #14532d;
	font-size: 15px;
}

.gkt--received ul.woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 12px;
	margin: 22px 0;
	padding: 0;
	list-style: none;
}

.gkt--received ul.woocommerce-order-overview::before,
.gkt--received ul.woocommerce-order-overview::after {
	display: none;
}

.gkt--received ul.woocommerce-order-overview li {
	margin: 0;
	padding: 14px 16px;
	border: 1px solid var(--gk-line) !important;
	border-radius: var(--gk-radius);
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--gk-muted);
}

.gkt--received ul.woocommerce-order-overview li strong {
	display: block;
	margin-top: 4px;
	font-size: 15px;
	text-transform: none;
	letter-spacing: 0;
	color: var(--gk-black);
}

.gkt--received h2 {
	font-family: var(--gk-font);
	font-size: 18px;
	font-weight: 500;
	color: var(--gk-black);
}

.gkt--received table.shop_table {
	border: 1px solid var(--gk-line);
	border-radius: var(--gk-radius);
	border-collapse: separate;
	overflow: hidden;
	font-size: 14px;
}

/* ------------------------------------------------------------------ *
 * Responsive
 * ------------------------------------------------------------------ */

@media (max-width: 1024px) {
	.gkt {
		padding: 24px 24px 64px;
	}

	.gkt-cart,
	.gkt-co {
		grid-template-columns: minmax(0, 1fr) 340px;
		gap: 32px;
	}
}

@media (max-width: 860px) {
	.gkt-cart,
	.gkt-co {
		grid-template-columns: minmax(0, 1fr);
	}

	.gkt-cart__side,
	.gkt-co__side {
		position: static;
	}

	.gkt-co__main,
	.gkt-co__side {
		grid-column: 1;
	}

	/* Summary first on the checkout, folded. */
	.gkt-co__side {
		order: -1;
	}

	.gkt-co .gkt-summary {
		padding: 0;
	}

	.gkt-summary__toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		padding: 16px 18px;
		border: 0;
		background: none;
		font-family: var(--gk-font);
		font-size: 14px;
		font-weight: 500;
		color: var(--gk-black);
		cursor: pointer;
	}

	.gkt-summary__toggle > span:first-child::after {
		content: "";
		display: inline-block;
		width: 7px;
		height: 7px;
		margin-left: 10px;
		border-right: 1.6px solid currentColor;
		border-bottom: 1.6px solid currentColor;
		transform: rotate(45deg) translateY(-3px);
		transition: transform .2s;
	}

	.gkt-summary.is-open .gkt-summary__toggle > span:first-child::after {
		transform: rotate(-135deg);
	}

	.gkt-summary__toggle:hover,
	.gkt-summary__toggle:focus {
		background: none;
		color: var(--gk-black);
	}

	.gkt-co .gkt-summary__body {
		display: none;
		padding: 0 18px 18px;
	}

	.gkt-co .gkt-summary.is-open .gkt-summary__body {
		display: block;
	}

	.gkt-co .gkt-summary__title {
		display: none;
	}
}

@media (max-width: 600px) {
	.gkt {
		padding: 16px 16px 48px;
		font-size: 14px;
	}

	.gkt-steps {
		gap: 6px 22px;
		font-size: 12px;
	}

	.gkt-steps__item:not(.is-current) .gkt-steps__label {
		display: none;
	}

	.gkt-item {
		grid-template-columns: 84px minmax(0, 1fr);
		gap: 14px;
	}

	.gkt-item__thumb a,
	.gkt-item__thumb img {
		width: 84px !important;
		height: 112px !important;
	}

	.gkt-item__total {
		grid-column: 2;
		text-align: left;
	}

	.gkt .woocommerce-billing-fields__field-wrapper,
	.gkt .woocommerce-shipping-fields__field-wrapper {
		grid-template-columns: 1fr;
	}

	.gkt .form-row-first,
	.gkt .form-row-last {
		grid-column: 1 / -1;
	}

	.gkt-summary {
		padding: 18px;
	}
}

/* The base theme colours every <button> on hover/focus; keep ours. */
.gkt .gkt-summary__toggle:focus-visible,
.gkt button:focus-visible,
.gkt a:focus-visible {
	outline: 2px solid var(--gk-black);
	outline-offset: 2px;
}

/* ------------------------------------------------------------------ *
 * Shop-wide details on our pages
 * ------------------------------------------------------------------ */

/* WooCommerce's clearfix pseudo-elements become empty grid cells. */
.gkt .col2-set::before,
.gkt .col2-set::after,
.gkt .u-columns::before,
.gkt .u-columns::after,
.gkt .woocommerce-Addresses::before,
.gkt .woocommerce-Addresses::after,
.gkt .woocommerce-address-fields__field-wrapper::before,
.gkt .woocommerce-address-fields__field-wrapper::after,
.gkt form.woocommerce-EditAccountForm::before,
.gkt form.woocommerce-EditAccountForm::after {
	content: none;
	display: none;
}

.gkt h1,
.gkt h2,
.gkt h3,
.gkt h4 {
	font-family: var(--gk-font);
	color: var(--gk-black);
	letter-spacing: 0;
	text-transform: none;
}

.gkt table {
	margin: 0;
}

/* Field labels, as on the rest of the site: small capitals. */
.gkt .form-row > label,
.gkt .form-row > .woocommerce-input-wrapper > label {
	text-transform: uppercase;
	letter-spacing: .04em;
	font-size: 12px;
}

.gkt .form-row label.checkbox,
.gkt .form-row label.woocommerce-form__label-for-checkbox,
.gkt .woocommerce-form__label-for-checkbox,
.gkt .create-account label,
.gkt .mailchimp-newsletter label,
.gkt #ship-to-different-address label,
.gkt .woocommerce-terms-and-conditions-checkbox-text,
.gkt .payment_method_jccgateway label,
.gkt .wc_payment_method label {
	text-transform: none;
	letter-spacing: 0;
	font-size: 14px;
}

.gkt input::placeholder,
.gkt textarea::placeholder {
	color: #a5a5a5;
	opacity: 1;
}

/* The shop's own price colours. */
.gkt .amount,
.gkt bdi {
	color: inherit;
}

.gkt small.includes_tax {
	display: block;
	margin-top: 2px;
	font-size: 12px;
	font-weight: 400;
	color: var(--gk-muted);
}

/* Required star */
.gkt abbr.required {
	color: var(--gk-red);
	border: 0;
	text-decoration: none;
}

/* ------------------------------------------------------------------ *
 * Terms + privacy text under the payment methods
 * ------------------------------------------------------------------ */

.gkt .woocommerce-terms-and-conditions-wrapper {
	margin: 4px 0 20px;
	font-size: 13px;
	color: var(--gk-muted);
}

.gkt .woocommerce-privacy-policy-text {
	display: block;
}

.gkt .woocommerce-privacy-policy-text p {
	margin: 0 0 12px;
}

.gkt .woocommerce-terms-and-conditions-wrapper a {
	color: var(--gk-black);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.gkt .woocommerce-form__label-for-checkbox.validate-required {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	line-height: 1.45;
	color: var(--gk-text);
}

.gkt .woocommerce-form__label-for-checkbox.validate-required input {
	margin-top: 2px;
	flex: 0 0 auto;
}

/* ------------------------------------------------------------------ *
 * My Account
 * ------------------------------------------------------------------ */

.gkt--account .gkt__body > .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
}

/* Logged in: navigation left, content right. */
.gkt--account .gkt__body:has(> .woocommerce-MyAccount-navigation) {
	display: grid;
	grid-template-columns: 270px minmax(0, 1fr);
	gap: 48px;
	align-items: start;
}

.gkt--account .woocommerce-MyAccount-navigation,
.gkt--account .woocommerce-MyAccount-content {
	float: none !important;
	width: auto !important;
	margin: 0;
	padding: 0;
}

.gkt-nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
	border: 1px solid var(--gk-line);
	background: #fff;
}

.gkt-nav li {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid var(--gk-line);
}

.gkt-nav li:last-child {
	border-bottom: 0;
}

.gkt-nav li a {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 15px 18px;
	font-size: 15px;
	line-height: 1.3;
	color: var(--gk-text);
	text-decoration: none;
	transition: background .15s, color .15s;
}

.gkt-nav li a .gkt-icon {
	flex: 0 0 auto;
	color: var(--gk-muted);
}

.gkt-nav li a:hover {
	background: var(--gk-soft);
	color: var(--gk-black);
}

.gkt-nav li.is-active a {
	background: var(--gk-black);
	color: #fff;
}

.gkt-nav li.is-active a .gkt-icon {
	color: #fff;
}

.gkt-nav li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
	color: var(--gk-red);
}

.gkt--account .woocommerce-MyAccount-content > :first-child {
	margin-top: 0;
}

.gkt--account .woocommerce-MyAccount-content h2,
.gkt--account .woocommerce-MyAccount-content h3 {
	margin: 0 0 16px;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.25;
}

.gkt--account .woocommerce-MyAccount-content p {
	margin: 0 0 14px;
}

.gkt--account .woocommerce-MyAccount-content a:not(.button):not(.gkt-dash__link) {
	color: var(--gk-black);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Dashboard */
.gkt-dash__hello {
	margin: 0 0 6px;
	font-size: 22px;
	color: var(--gk-black);
}

.gkt-dash__hello strong {
	font-weight: 500;
}

.gkt-dash__lead {
	max-width: 560px;
	margin: 0 0 26px;
	color: var(--gk-muted);
}

.gkt-dash__tiles {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: 14px;
	margin: 0 0 28px;
	padding: 0;
	list-style: none;
}

.gkt-dash__tile {
	margin: 0;
	padding: 0;
}

.gkt--account .gkt-dash__tile a {
	display: flex;
	align-items: center;
	gap: 16px;
	height: 100%;
	padding: 20px 22px;
	border: 1px solid var(--gk-line);
	background: #fff;
	color: var(--gk-text);
	text-decoration: none;
	transition: border-color .15s, transform .15s;
}

.gkt--account .gkt-dash__tile a:hover {
	border-color: var(--gk-black);
	transform: translateY(-2px);
}

.gkt-dash__tile .gkt-icon {
	flex: 0 0 auto;
	color: var(--gk-accent);
}

.gkt-dash__tile-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.gkt-dash__tile-text strong {
	font-size: 16px;
	font-weight: 500;
	color: var(--gk-black);
}

.gkt-dash__tile-text small {
	font-size: 13px;
	line-height: 1.35;
	color: var(--gk-muted);
}

/* Login / register */
.gkt--account .u-columns#customer_login {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 32px;
	align-items: start;
}

.gkt--account #customer_login .u-column1,
.gkt--account #customer_login .u-column2 {
	float: none;
	width: auto;
	padding: 34px;
	border: 1px solid var(--gk-line);
	background: #fff;
}

.gkt--account #customer_login h2 {
	margin: 0 0 22px;
	font-size: 26px;
	font-weight: 500;
	color: var(--gk-black);
}

.gkt--account form.woocommerce-form,
.gkt--account form.lost_reset_password,
.gkt--account form.woocommerce-ResetPassword {
	display: grid;
	gap: 16px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
}

.gkt--account .woocommerce-form-login .form-row:has(.woocommerce-form-login__rememberme) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
}

.gkt--account .woocommerce-form-login__rememberme {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	text-transform: none;
	letter-spacing: 0;
	font-size: 14px;
}

.gkt--account .lost_password {
	margin: 0;
}

.gkt--account .lost_password a,
.gkt--account .woocommerce-form-register a {
	color: var(--gk-black);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.gkt--account .woocommerce-form-register p:not(.form-row) {
	margin: 0;
	font-size: 14px;
	color: var(--gk-muted);
}

/* Primary buttons of the account forms */
.gkt .button.woocommerce-form-login__submit,
.gkt .button.woocommerce-form-register__submit,
.gkt .woocommerce-Button.button,
.gkt button.button[name="save_account_details"],
.gkt button.button[name="save_address"],
.gkt .lost_reset_password button.button,
.gkt .woocommerce-ResetPassword button.button {
	min-width: 150px;
	border-color: var(--gk-black);
	background: var(--gk-black);
	color: #fff;
}

.gkt .button.woocommerce-form-login__submit:hover,
.gkt .button.woocommerce-form-register__submit:hover,
.gkt .woocommerce-Button.button:hover,
.gkt button.button[name="save_account_details"]:hover,
.gkt button.button[name="save_address"]:hover,
.gkt .lost_reset_password button.button:hover,
.gkt .woocommerce-ResetPassword button.button:hover {
	background: #000;
	border-color: #000;
	color: #fff;
}

/* Addresses */
.gkt--account .woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
	margin: 0;
}

.gkt--account .woocommerce-Address {
	float: none;
	width: auto;
	margin: 0;
	padding: 26px;
	border: 1px solid var(--gk-line);
	background: #fff;
}

.gkt--account .woocommerce-Address-title {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 14px;
}

.gkt--account .woocommerce-Address-title h2,
.gkt--account .woocommerce-Address-title h3 {
	margin: 0;
	font-size: 19px;
}

.gkt--account .woocommerce-Address address {
	font-style: normal;
	line-height: 1.7;
	color: var(--gk-text);
}

.gkt--account .woocommerce-Address-title a.edit {
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .04em;
}

/* Address + account details forms */
.gkt--account .woocommerce-address-fields__field-wrapper,
.gkt--account form.woocommerce-EditAccountForm {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.gkt--account .woocommerce-address-fields__field-wrapper > .form-row,
.gkt--account form.woocommerce-EditAccountForm > .form-row {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}

.gkt--account .woocommerce-address-fields__field-wrapper > .form-row-wide,
.gkt--account form.woocommerce-EditAccountForm > .form-row-wide,
.gkt--account form.woocommerce-EditAccountForm > fieldset,
.gkt--account form.woocommerce-EditAccountForm > p:not(.form-row-first):not(.form-row-last),
.gkt--account form.woocommerce-EditAccountForm > .clear {
	grid-column: 1 / -1;
}

.gkt--account .woocommerce-address-fields > p,
.gkt--account #billing_phone_field,
.gkt--account #billing_email_field,
.gkt--account #shipping_phone_field {
	grid-column: 1 / -1;
}

.gkt--account form.woocommerce-EditAccountForm em {
	display: block;
	margin-top: 6px;
	font-size: 12.5px;
	font-style: normal;
	color: var(--gk-muted);
}

.gkt--account form.woocommerce-EditAccountForm fieldset {
	margin: 10px 0 4px;
	padding: 24px;
	border: 1px solid var(--gk-line);
}

.gkt--account form.woocommerce-EditAccountForm fieldset legend {
	padding: 0 10px;
	font-size: 16px;
	font-weight: 500;
	color: var(--gk-black);
}

.gkt--account form.woocommerce-EditAccountForm fieldset .form-row + .form-row {
	margin-top: 16px !important;
}

.gkt--account .woocommerce-address-fields .button[name="save_address"] {
	margin-top: 8px;
}

.gkt .password-input {
	display: block;
	position: relative;
}

.gkt .password-input input {
	padding-right: 46px;
}

body.gkt-page .gkt .show-password-input {
	position: absolute;
	top: 50%;
	right: 10px;
	width: 32px;
	height: 32px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23757575' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 12S5.5 5 12 5s10.5 7 10.5 7-4 7-10.5 7S1.5 12 1.5 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / 20px 20px no-repeat;
	box-shadow: none;
	font-size: 0;
	line-height: 0;
	color: transparent;
	cursor: pointer;
	transform: translateY(-50%);
}

body.gkt-page .gkt .show-password-input.display-password {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23252525' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 12S5.5 5 12 5s10.5 7 10.5 7-4 7-10.5 7S1.5 12 1.5 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M3 3l18 18'/%3E%3C/svg%3E");
}

body.gkt-page .gkt .show-password-input::before,
body.gkt-page .gkt .show-password-input::after {
	content: none !important;
	display: none !important;
}

body.gkt-page .gkt .show-password-input:hover,
body.gkt-page .gkt .show-password-input:focus {
	background-color: transparent;
	box-shadow: none;
}

/* ------------------------------------------------------------------ *
 * Tables: orders, order details, order received
 * ------------------------------------------------------------------ */

.gkt table.shop_table,
.gkt table.woocommerce-orders-table,
.gkt table.woocommerce-table--order-details,
.gkt table.woocommerce-MyAccount-orders {
	width: 100%;
	border: 1px solid var(--gk-line);
	border-collapse: collapse;
	border-radius: 0;
	background: #fff;
	font-size: 14.5px;
}

.gkt table.shop_table th,
.gkt table.shop_table td,
.gkt table.woocommerce-orders-table th,
.gkt table.woocommerce-orders-table td {
	padding: 14px 16px;
	border: 0;
	border-bottom: 1px solid var(--gk-line);
	text-align: left;
	vertical-align: middle;
	line-height: 1.45;
	color: var(--gk-text);
}

.gkt table.shop_table thead th,
.gkt table.woocommerce-orders-table thead th {
	background: var(--gk-soft);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--gk-muted);
}

.gkt table.shop_table tfoot th {
	font-weight: 500;
	color: var(--gk-black);
}

.gkt table.shop_table tbody tr:last-child td,
.gkt table.woocommerce-orders-table tbody tr:last-child td {
	border-bottom: 0;
}

.gkt table.shop_table td.product-name a,
.gkt table.woocommerce-orders-table a:not(.button) {
	color: var(--gk-black);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.gkt table .woocommerce-orders-table__cell-order-actions {
	text-align: right;
	white-space: nowrap;
}

.gkt table.woocommerce-orders-table .button,
.gkt .order-again .button,
.gkt .woocommerce-pagination .button {
	display: inline-flex;
	width: auto;
	min-width: 0;
	height: 38px;
	padding: 0 18px;
	font-size: 13px;
	margin-left: 6px;
}

.gkt .woocommerce-pagination {
	display: flex;
	justify-content: space-between;
	margin-top: 20px;
}

.gkt .woocommerce-orders-table__cell-order-number a {
	font-weight: 500;
}

.gkt .woocommerce-orders-table__cell-order-status {
	text-transform: capitalize;
}

.gkt mark.order-number,
.gkt mark.order-date,
.gkt mark.order-status {
	padding: 0;
	background: none;
	color: var(--gk-black);
	font-weight: 500;
}

.gkt .woocommerce-order-details,
.gkt .woocommerce-customer-details {
	margin-top: 28px;
}

.gkt .woocommerce-customer-details .woocommerce-columns {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 20px;
}

.gkt .woocommerce-customer-details .woocommerce-column {
	float: none;
	width: auto;
	padding: 24px;
	border: 1px solid var(--gk-line);
	background: #fff;
}

.gkt .woocommerce-customer-details address {
	padding: 0;
	border: 0;
	font-style: normal;
	line-height: 1.7;
}

.gkt .woocommerce-info.woocommerce-no-products,
.gkt .woocommerce-Message--info {
	margin: 0 0 20px;
}

/* ------------------------------------------------------------------ *
 * Order pay
 * ------------------------------------------------------------------ */

.gkt--pay form#order_review {
	max-width: 760px;
}

.gkt--pay #payment {
	margin-top: 24px;
	background: none;
}

/* ------------------------------------------------------------------ *
 * Small screens: account
 * ------------------------------------------------------------------ */

@media (max-width: 900px) {
	.gkt--account .gkt__body:has(> .woocommerce-MyAccount-navigation) {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	.gkt-nav ul {
		display: flex;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.gkt-nav ul::-webkit-scrollbar {
		display: none;
	}

	.gkt-nav li {
		flex: 0 0 auto;
		border-bottom: 0;
		border-right: 1px solid var(--gk-line);
	}

	.gkt-nav li:last-child {
		border-right: 0;
	}

	.gkt-nav li a {
		padding: 14px 16px;
		white-space: nowrap;
	}

	.gkt-nav li a .gkt-icon {
		display: none;
	}
}

@media (max-width: 768px) {
	.gkt--account .u-columns#customer_login {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}

	.gkt--account #customer_login .u-column1,
	.gkt--account #customer_login .u-column2 {
		padding: 24px 20px;
	}

	.gkt--account table.shop_table_responsive thead,
	.gkt--account table.woocommerce-orders-table thead {
		display: none;
	}

	.gkt--account table.shop_table_responsive,
	.gkt--account table.woocommerce-orders-table {
		border: 0;
		background: none;
	}

	.gkt--account table.shop_table_responsive tbody,
	.gkt--account table.woocommerce-orders-table tbody {
		display: block;
	}

	.gkt--account table.shop_table_responsive tbody tr,
	.gkt--account table.woocommerce-orders-table tbody tr {
		display: block;
		margin: 0 0 14px;
		border: 1px solid var(--gk-line);
		background: #fff;
	}

	.gkt--account table.shop_table_responsive tbody tr td,
	.gkt--account table.shop_table_responsive tbody tr th,
	.gkt--account table.woocommerce-orders-table tbody tr td,
	.gkt--account table.woocommerce-orders-table tbody tr th {
		display: block;
		overflow: hidden;
		padding: 11px 16px;
		border: 0;
		border-bottom: 1px solid var(--gk-line);
		text-align: right !important;
	}

	.gkt--account table.shop_table_responsive tbody tr td:last-child,
	.gkt--account table.woocommerce-orders-table tbody tr td:last-child {
		border-bottom: 0;
	}

	.gkt--account table.shop_table_responsive tbody tr td::before,
	.gkt--account table.shop_table_responsive tbody tr th::before,
	.gkt--account table.woocommerce-orders-table tbody tr td::before,
	.gkt--account table.woocommerce-orders-table tbody tr th::before {
		content: attr(data-title);
		float: left;
		font-size: 12px;
		font-weight: 500;
		letter-spacing: .05em;
		text-transform: uppercase;
		text-align: left;
		color: var(--gk-muted);
	}

	.gkt--account table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions::before {
		display: none;
	}

	.gkt--account table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions {
		text-align: left !important;
	}

	.gkt--account table.woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button {
		margin: 0 8px 0 0;
	}

	.gkt--account form.woocommerce-EditAccountForm,
	.gkt--account .woocommerce-address-fields__field-wrapper {
		grid-template-columns: minmax(0, 1fr);
	}

	.gkt--account form.woocommerce-EditAccountForm > .form-row,
	.gkt--account .woocommerce-address-fields__field-wrapper > .form-row {
		grid-column: 1 / -1;
	}

	.gkt--account .woocommerce-Address {
		padding: 20px;
	}
}

/* ------------------------------------------------------------------ *
 * Styler resets: it frames sections, notices and lists with its own
 * grey borders and padding.
 * ------------------------------------------------------------------ */

body.gkt-page .gkt .woocommerce-order,
body.gkt-page .gkt section.woocommerce-order-details,
body.gkt-page .gkt section.woocommerce-customer-details,
body.gkt-page .gkt ul.woocommerce-order-overview,
body.gkt-page .gkt .woocommerce-MyAccount-content {
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
}

body.gkt-page .gkt .woocommerce-thankyou-order-received {
	display: block;
	width: auto;
	margin: 0;
	padding: 18px 20px;
	border: 0;
	border-left: 3px solid var(--gk-ok);
	background: #edf7ef;
	color: #14532d;
	font-size: 15px;
}

body.gkt-page .gkt ul.woocommerce-order-overview {
	display: grid;
	margin: 22px 0 30px;
}

body.gkt-page .gkt ul.woocommerce-order-overview li {
	border: 1px solid var(--gk-line);
	background: #fff;
}

body.gkt-page .gkt .woocommerce-order-details__title,
body.gkt-page .gkt .woocommerce-column__title {
	margin: 0 0 14px;
	font-size: 20px;
	font-weight: 500;
}

body.gkt-page .gkt .woocommerce-order-details {
	margin-top: 0;
}

body.gkt-page .gkt .woocommerce-customer-details address {
	padding: 22px 24px;
	border: 1px solid var(--gk-line);
	background: #fff;
	font-style: normal;
	line-height: 1.7;
}

/* ------------------------------------------------------------------ *
 * Quote request list (Request a Quote plugin): item cards on the left,
 * the "Send the request" form in a card on the right (below on phones).
 * ------------------------------------------------------------------ */

body.gkt-page--quote .gkt .sprq-wrapper {
	display: block;
	max-width: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	float: none;
	width: auto;
}

body.gkt-page--quote .gkt .sprq-before-table {
	margin: 0 0 22px;
}

body.gkt-page--quote .gkt .sprq-before-table .button,
body.gkt-page--quote .gkt .sprq-before-form .return-to-shop .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	height: 46px;
	padding: 0 26px;
	border: 1px solid var(--gk-black);
	border-radius: var(--gk-radius);
	background: #fff;
	color: var(--gk-black);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .08em;
	text-transform: uppercase;
	text-decoration: none;
}

body.gkt-page--quote .gkt .sprq-before-table .button:hover,
body.gkt-page--quote .gkt .sprq-before-form .return-to-shop .button:hover {
	background: var(--gk-black);
	color: #fff;
}

body.gkt-page--quote .gkt .sprq-form-table-wrapper {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 400px;
	gap: 0 48px;
	align-items: start;
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}

body.gkt-page--quote .gkt .sprq-form-table-wrapper > * {
	min-width: 0;
}

body.gkt-page--quote .gkt .sprq-before-form {
	grid-column: 1 / -1;
}

body.gkt-page--quote .gkt .sprq-before-form:not(:empty) {
	margin: 0;
	padding: 44px 0 20px;
	border: 0 !important;
	background: none;
	text-align: center;
}

body.gkt-page--quote .gkt .sprq-before-form .sprq_list_empty_message {
	margin: 0 0 22px;
	font-size: 18px;
	color: var(--gk-black);
}

body.gkt-page--quote .gkt form#sprq-form {
	grid-column: 1;
	grid-row: 2;
	margin: 0;
}

/* The list: one card per product, not a table. */
body.gkt-page--quote .gkt table#sprq-table-list {
	display: block;
	width: 100%;
	margin: 0;
	border: 0;
	background: none;
}

body.gkt-page--quote .gkt table#sprq-table-list thead {
	display: none;
}

body.gkt-page--quote .gkt table#sprq-table-list tbody {
	display: block;
}

body.gkt-page--quote .gkt table#sprq-table-list tr.cart_item {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr) auto;
	grid-template-areas:
		"thumb info qty"
		"thumb remove qty";
	grid-template-rows: auto 1fr;
	gap: 6px 20px;
	align-items: start;
	margin: 0;
	padding: 22px 0;
	border: 0;
	border-bottom: 1px solid var(--gk-line);
	background: none;
}

body.gkt-page--quote .gkt table#sprq-table-list tr.cart_item:first-child {
	padding-top: 0;
}

body.gkt-page--quote .gkt table#sprq-table-list td {
	display: block;
	width: auto;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	text-align: left;
}

body.gkt-page--quote .gkt table#sprq-table-list td::before {
	content: none !important;
}

body.gkt-page--quote .gkt td.product-thumbnail {
	grid-area: thumb;
}

body.gkt-page--quote .gkt td.product-thumbnail img {
	display: block;
	width: 96px;
	max-width: 100%;
	height: auto;
}

body.gkt-page--quote .gkt td.product-name {
	grid-area: info;
	font-size: 16px;
	line-height: 1.4;
	color: var(--gk-black);
}

body.gkt-page--quote .gkt td.product-name > a {
	color: var(--gk-black);
	font-weight: 500;
	text-decoration: none;
}

body.gkt-page--quote .gkt td.product-name > a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* The options (size, colour …): a quiet list under the name. */
body.gkt-page--quote .gkt td.product-name br {
	display: none;
}

body.gkt-page--quote .gkt td.product-name ul {
	margin: 6px 0 0 !important;
	padding: 0;
	list-style: none;
	font-size: 13.5px;
	line-height: 1.5;
	color: var(--gk-muted);
}

body.gkt-page--quote .gkt td.product-name li {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.gkt-page--quote .gkt td.product-name li strong {
	font-weight: 500;
	color: var(--gk-text);
}

body.gkt-page--quote .gkt td.product-quantity {
	grid-area: qty;
	align-self: center;
}

body.gkt-page--quote .gkt td.product-remove {
	grid-area: remove;
	align-self: end;
}

body.gkt-page--quote .gkt td.product-remove a.sprq-item-remove {
	display: inline-block;
	width: auto;
	height: auto;
	background: none !important;
	color: var(--gk-muted) !important;
	font-size: 0 !important;
	line-height: 1.4;
	text-decoration: none;
}

body.gkt-page--quote .gkt td.product-remove a.sprq-item-remove::after {
	content: attr(title);
	font-size: 13px;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.gkt-page--quote .gkt td.product-remove a.sprq-item-remove:hover {
	color: var(--gk-red) !important;
}

/* Clear / Update */
body.gkt-page--quote .gkt .update-list-wrapper {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start !important;
	gap: 12px;
	margin: 22px 0 0;
}

body.gkt-page--quote .gkt .update-list-wrapper .after-table-right {
	margin: 0;
	float: none;
}

body.gkt-page--quote .gkt .update-list-wrapper .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	height: 46px;
	margin: 0;
	padding: 0 24px;
	border: 1px solid var(--gk-black);
	border-radius: var(--gk-radius);
	background: #fff;
	color: var(--gk-black);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .15s, color .15s;
}

body.gkt-page--quote .gkt .update-list-wrapper .button:hover,
body.gkt-page--quote .gkt .update-list-wrapper .button:focus {
	background: var(--gk-black);
	color: #fff;
}

body.gkt-page--quote .gkt .update-list-wrapper input.button[name="update_raq"]:placeholder-shown,
body.gkt-page--quote .gkt .update-list-wrapper input.button[name="update_raq"][value=""] {
	display: none;
}

/* "Send the request" */
body.gkt-page--quote .gkt .sprq-mail-form-wrapper {
	grid-column: 2;
	grid-row: 2;
	position: sticky;
	top: 24px;
	margin: 0;
	padding: 30px;
	border: 1px solid var(--gk-line);
	background: #fff;
}

body.gkt-page--quote .gkt .sprq-mail-form-wrapper h3 {
	margin: 0 0 20px;
	font-family: var(--gk-font);
	font-size: 22px;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: 0;
	text-transform: none;
	color: var(--gk-black);
}

body.gkt-page--quote .gkt .sprq-mail-form-wrapper form {
	display: block;
	margin: 0;
	padding: 0;
	border: 0;
}

body.gkt-page--quote .gkt .sprq-mail-form-wrapper p.form-row {
	float: none;
	width: auto;
	margin: 0 0 16px !important;
	padding: 0;
}

body.gkt-page--quote .gkt .sprq-mail-form-wrapper .woocommerce-input-wrapper {
	display: block;
}

body.gkt-page--quote .gkt .sprq-mail-form-wrapper input.input-text,
body.gkt-page--quote .gkt .sprq-mail-form-wrapper textarea,
body.gkt-page--quote .gkt .sprq-mail-form-wrapper select {
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
}

body.gkt-page--quote .gkt .sprq-mail-form-wrapper textarea {
	min-height: 120px;
	padding: 12px 14px;
	resize: vertical;
}

body.gkt-page--quote .gkt .sprq-mail-form-wrapper .raq-send-request-row {
	margin: 8px 0 0 !important;
}

body.gkt-page--quote .gkt .sprq-mail-form-wrapper input.raq-send-request {
	display: block;
	width: 100%;
	height: 54px;
	margin: 0;
	padding: 0 24px;
	border: 1px solid var(--gk-black);
	border-radius: var(--gk-radius);
	background: var(--gk-black);
	color: #fff;
	font-family: var(--gk-font);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .1em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .15s;
}

body.gkt-page--quote .gkt .sprq-mail-form-wrapper input.raq-send-request:hover,
body.gkt-page--quote .gkt .sprq-mail-form-wrapper input.raq-send-request:focus {
	background: #000;
	color: #fff;
}

@media (max-width: 960px) {
	body.gkt-page--quote .gkt .sprq-form-table-wrapper {
		grid-template-columns: minmax(0, 1fr);
		gap: 36px 0;
	}

	body.gkt-page--quote .gkt form#sprq-form,
	body.gkt-page--quote .gkt .sprq-mail-form-wrapper {
		grid-column: 1;
	}

	body.gkt-page--quote .gkt form#sprq-form {
		grid-row: 2;
	}

	body.gkt-page--quote .gkt .sprq-mail-form-wrapper {
		grid-row: 3;
		position: static;
	}
}

@media (max-width: 600px) {
	body.gkt-page--quote .gkt table#sprq-table-list tr.cart_item {
		grid-template-columns: 84px minmax(0, 1fr);
		grid-template-areas:
			"thumb info"
			"thumb remove"
			"qty qty";
		grid-template-rows: auto auto auto;
		gap: 6px 16px;
	}

	body.gkt-page--quote .gkt td.product-thumbnail img {
		width: 84px;
	}

	body.gkt-page--quote .gkt td.product-quantity {
		align-self: start;
		margin-top: 8px;
	}

	body.gkt-page--quote .gkt .sprq-mail-form-wrapper {
		padding: 24px 20px;
	}
}
