/* WordPress shell and WooCommerce compatibility. The V7 site stylesheet remains unchanged. */
:root {
	--ll-placement-padding-top: 96px;
	--ll-placement-padding-bottom: 96px;
	--ll-faq-padding-top: 96px;
	--ll-faq-padding-bottom: 96px;
}
html { scroll-behavior: smooth; }
body.gk-static-page { margin: 0; }
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }

@media (min-width: 801px) {
	.site-header .nav-links a,
	.site-header .nav-links .cart-link {
		font-size: 16px !important;
	}

	/* Balance the product media column against the longer purchase panel. */
	.product-page .product-buy {
		align-items: stretch !important;
	}

	.product-page .product-gallery {
		align-self: stretch;
		min-height: calc(100svh - 78px);
		grid-template-rows: minmax(0, 1.2fr) minmax(0, 1fr);
	}

	.product-page .product-gallery .gallery-primary,
	.product-page .product-gallery .gallery-tile {
		height: auto !important;
		min-height: 0;
	}

	/* The shop no longer uses section snapping, so this section can fit its content. */
	.product-page .made-different[data-snap-section] {
		height: auto !important;
		min-height: 0 !important;
		padding-top: 96px !important;
		padding-bottom: 96px !important;
	}
}

/*
 * The source site used viewport-height sections for desktop snap scrolling.
 * The shop no longer snaps, so these two content sections should end after
 * their content instead of filling the remainder of the screen.
 */
@media (min-width: 801px) {
	.product-page .use-section {
		height: auto !important;
		min-height: 0 !important;
		padding-top: var(--ll-placement-padding-top) !important;
		padding-bottom: var(--ll-placement-padding-bottom) !important;
	}

	.product-page .faq-section {
		height: auto !important;
		min-height: 0 !important;
		padding-top: var(--ll-faq-padding-top) !important;
		padding-bottom: var(--ll-faq-padding-bottom) !important;
	}
}

.woocommerce-page-shell { min-height: 75vh; padding: 150px max(34px, calc((100vw - 1480px) / 2)) 110px; color: var(--bone); background: var(--graphite); }
.woocommerce-page-shell .woocommerce { width: min(100%, 1200px); margin: 0 auto; font-family: Inter, sans-serif; }
.woocommerce-page-shell a { color: var(--cyan); }
.woocommerce-page-shell button,
.woocommerce-page-shell .button,
.woocommerce-page-shell input[type="submit"] { border: 0; border-radius: 0 !important; background: var(--bone) !important; color: var(--graphite) !important; font-family: "IBM Plex Mono", monospace !important; }
.woocommerce-page-shell input,
.woocommerce-page-shell select,
.woocommerce-page-shell textarea { border: 1px solid var(--line); border-radius: 0; background: #111311; color: var(--bone); padding: 12px; }
.woocommerce-page-shell table { border-color: var(--line) !important; border-radius: 0 !important; }
.woocommerce-page-shell th,
.woocommerce-page-shell td { border-color: var(--line) !important; }
.woocommerce-page-shell .woocommerce-message,
.woocommerce-page-shell .woocommerce-info,
.woocommerce-page-shell .woocommerce-error { border-top-color: var(--cyan); background: #171916; color: var(--bone); }

/* Cart and Checkout block pages. */
.woocommerce-flow-content {
	width: min(100%, 1360px);
	margin: 0 auto;
	color: var(--bone);
	font-family: Inter, sans-serif;
	font-size: 17px;
	line-height: 1.55;
}

.woocommerce-flow-title {
	margin: 0 0 54px;
	color: var(--bone);
	font-family: "Space Grotesk", sans-serif;
	font-size: clamp(56px, 5.2vw, 84px);
	font-weight: 500;
	letter-spacing: -0.055em;
	line-height: 0.92;
	text-transform: uppercase;
}

.woocommerce-flow-content :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-cart, .wc-block-checkout) {
	width: 100%;
	max-width: none;
	color: var(--bone);
	font-size: 17px;
}

.woocommerce-flow-content :is(.wc-block-cart__main, .wc-block-cart__sidebar, .wc-block-checkout__main, .wc-block-checkout__sidebar) {
	font-size: 17px;
}

.woocommerce-flow-content :is(
	.wc-block-components-title,
	.wc-block-components-checkout-step__title,
	.wc-block-components-totals-wrapper,
	.wc-block-components-order-summary,
	.wc-block-components-totals-item,
	.wc-block-components-panel__button,
	.wc-block-components-shipping-rates-control,
	.wc-block-components-radio-control__option,
	.wc-block-components-checkbox__label,
	.wc-block-components-product-details,
	.wc-block-components-formatted-money-amount
) {
	color: var(--bone) !important;
}

.woocommerce-flow-content :is(.wc-block-cart__title, .wc-block-checkout__title) {
	color: var(--bone) !important;
	font-family: "Space Grotesk", sans-serif;
	font-size: clamp(32px, 3vw, 48px) !important;
	font-weight: 500;
	letter-spacing: -0.035em;
}

.woocommerce-flow-content .wc-block-components-checkout-step__heading {
	margin-bottom: 20px;
}

.woocommerce-flow-content .wc-block-components-checkout-step__title,
.woocommerce-flow-content .wc-block-components-order-summary__button-text,
.woocommerce-flow-content .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-size: 22px !important;
	font-weight: 500 !important;
	letter-spacing: -0.02em;
}

.woocommerce-flow-content :is(
	.wc-block-components-checkout-step__description,
	.wc-block-components-product-metadata,
	.wc-block-components-product-details__name,
	.wc-block-components-product-details__value,
	.wc-block-components-totals-item__description,
	.wc-block-components-checkbox__label,
	.wc-block-components-radio-control__description,
	.wc-block-components-address-form__address_2-toggle
) {
	color: #c2c1b9 !important;
	font-size: 15px !important;
	line-height: 1.5;
}

.woocommerce-flow-content .wc-block-components-product-name {
	color: var(--bone) !important;
	font-family: "Space Grotesk", sans-serif;
	font-size: 19px !important;
	font-weight: 500;
}

.woocommerce-flow-content .wc-block-components-product-name:hover {
	color: var(--cyan) !important;
}

.woocommerce-flow-content :is(
	.wc-block-formatted-money-amount,
	.wc-block-components-formatted-money-amount,
	.wc-block-components-product-price
) {
	color: var(--bone) !important;
	font-size: 18px !important;
	font-weight: 500 !important;
}

.woocommerce-flow-content .wc-block-cart-item__total :is(.wc-block-formatted-money-amount, .wc-block-components-formatted-money-amount),
.woocommerce-flow-content .wc-block-components-totals-item__value :is(.wc-block-formatted-money-amount, .wc-block-components-formatted-money-amount) {
	font-size: 20px !important;
	font-weight: 600 !important;
}

.woocommerce-flow-content .wc-block-components-totals-footer-item :is(.wc-block-formatted-money-amount, .wc-block-components-formatted-money-amount) {
	font-size: 26px !important;
	font-weight: 600 !important;
}

.woocommerce-flow-content :is(
	.wc-block-components-sidebar,
	.wc-block-components-order-summary,
	.wc-block-components-totals-wrapper,
	.wc-block-components-panel,
	.wc-block-components-radio-control__option,
	.wc-block-cart-items,
	.wc-block-cart-items__row
) {
	border-color: #50534d !important;
}

.woocommerce-flow-content :is(.wc-block-components-sidebar, .wc-block-components-order-summary) {
	background: rgba(17, 19, 17, 0.72);
}

.woocommerce-flow-content :is(
	.wc-block-components-text-input input,
	.wc-block-components-combobox-control input,
	.wc-block-components-address-form select,
	.wc-block-components-select-control select,
	.wc-block-components-textarea
) {
	min-height: 58px;
	border: 1px solid #686b63 !important;
	border-radius: 0 !important;
	background: #151714 !important;
	box-shadow: none !important;
	color: var(--bone) !important;
	font-size: 17px !important;
}

.woocommerce-flow-content :is(
	.wc-block-components-text-input input,
	.wc-block-components-combobox-control input,
	.wc-block-components-textarea
)::placeholder {
	color: #aaa99f !important;
	opacity: 1;
}

.woocommerce-flow-content :is(
	.wc-block-components-text-input label,
	.wc-block-components-combobox-control label,
	.wc-block-components-select-control label,
	.wc-block-components-form .wc-block-components-text-input label
) {
	color: #c9c5bb !important;
	font-size: 14px !important;
}

.woocommerce-flow-content :is(
	.wc-block-components-text-input input,
	.wc-block-components-combobox-control input,
	.wc-block-components-address-form select,
	.wc-block-components-select-control select,
	.wc-block-components-textarea
):focus {
	border-color: var(--cyan) !important;
	outline: 1px solid var(--cyan) !important;
	outline-offset: 1px;
}

.woocommerce-flow-content .wc-block-components-quantity-selector {
	min-height: 48px;
	border: 1px solid #686b63 !important;
	border-radius: 0 !important;
	background: #151714;
}

.woocommerce-flow-content .wc-block-cart-item__quantity {
	display: flex !important;
	align-items: center !important;
	column-gap: 12px !important;
}

.woocommerce-flow-content .wc-block-components-quantity-selector input {
	background: #151714 !important;
	color: var(--bone) !important;
	font-size: 16px !important;
}

.woocommerce-flow-content .wc-block-components-quantity-selector button,
.woocommerce-flow-content button.wc-block-components-quantity-selector__button {
	display: grid !important;
	place-items: center;
	min-width: 46px !important;
	min-height: 46px !important;
	border: 0 !important;
	background: #2d302c !important;
	color: #ffffff !important;
	font-family: Inter, sans-serif !important;
	font-size: 22px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	opacity: 1 !important;
}

.woocommerce-flow-content .wc-block-components-quantity-selector button:not(:disabled):hover,
.woocommerce-flow-content button.wc-block-components-quantity-selector__button:not(:disabled):hover {
	background: var(--cyan) !important;
	color: var(--graphite) !important;
}

.woocommerce-flow-content .wc-block-components-button:not(.is-link) {
	min-height: 62px;
	border: 1px solid var(--bone) !important;
	border-radius: 0 !important;
	background: var(--bone) !important;
	color: var(--graphite) !important;
	font-family: "IBM Plex Mono", monospace !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: 0.055em;
	text-transform: uppercase;
}

.woocommerce-flow-content .wc-block-components-button:not(.is-link) * {
	color: inherit !important;
}

.woocommerce-flow-content .wc-block-components-button:not(.is-link):not(:disabled):hover {
	border-color: var(--cyan) !important;
	background: var(--cyan) !important;
}

.woocommerce-flow-content .wc-block-components-button:disabled {
	border-color: #555851 !important;
	background: #363a35 !important;
	color: #e0ddd4 !important;
	opacity: 1 !important;
}

.woocommerce-flow-content :is(.wc-block-components-notice-banner, .wc-block-components-validation-error) {
	font-size: 16px !important;
	line-height: 1.5;
}

.woocommerce-flow-content .wc-block-components-totals-item {
	min-height: 62px;
	font-size: 16px;
}

.woocommerce-flow-content .wc-block-components-totals-footer-item {
	font-size: 21px !important;
}

.woocommerce-flow-content .wc-block-components-order-summary-item {
	padding-top: 22px;
	padding-bottom: 22px;
}

.woocommerce-flow-content .wc-block-components-checkout-return-to-cart-button,
.woocommerce-flow-content .wc-block-cart-item__remove-link,
.woocommerce-flow-content .wc-block-components-panel__button {
	color: #d4d1c8 !important;
	font-size: 15px !important;
}

.woocommerce-flow-content .wc-block-components-checkout-return-to-cart-button:hover,
.woocommerce-flow-content .wc-block-cart-item__remove-link:hover,
.woocommerce-flow-content .wc-block-components-panel__button:hover {
	color: var(--cyan) !important;
}

.woocommerce-flow-content button.wc-block-cart-item__remove-link,
.woocommerce-flow-content .wc-block-cart-item__remove-link[role="button"] {
	display: inline-grid !important;
	place-items: center;
	width: 44px !important;
	min-width: 44px !important;
	height: 44px !important;
	min-height: 44px !important;
	margin-left: 0 !important;
	border: 1px solid #686b63 !important;
	border-radius: 0 !important;
	background: #20231f !important;
	color: #ffffff !important;
	font-size: 0 !important;
	opacity: 1 !important;
}

.woocommerce-flow-content button.wc-block-cart-item__remove-link:hover,
.woocommerce-flow-content .wc-block-cart-item__remove-link[role="button"]:hover {
	border-color: var(--cyan) !important;
	background: var(--cyan) !important;
	color: var(--graphite) !important;
}

.woocommerce-flow-content .wc-block-cart-item__remove-link :is(svg, path) {
	color: currentColor !important;
	stroke: currentColor !important;
	opacity: 1 !important;
}

.woocommerce-flow-content .wc-block-cart-item__image img,
.woocommerce-flow-content .wc-block-components-order-summary-item__image img {
	background: #1a1c19;
	object-fit: cover;
}

.woocommerce-flow-content .wc-block-cart-items .wc-block-cart-item__image {
	width: 136px !important;
	min-width: 136px !important;
	padding-right: 22px !important;
}

.woocommerce-flow-content .wc-block-cart-items .wc-block-cart-item__image img {
	width: 114px !important;
	max-width: 114px !important;
	height: 86px !important;
	object-fit: cover;
}

.bitform-missing { border-top: 1px solid var(--line); padding-top: 28px; color: #aaa99f; font-size: 17px; }
@media (max-width: 800px) {
	.woocommerce-page-shell { padding: 112px 20px 76px; }
	.woocommerce-flow-title { margin-bottom: 38px; font-size: clamp(46px, 15vw, 64px); }
	.woocommerce-flow-content,
	.woocommerce-flow-content :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout, .wc-block-cart, .wc-block-checkout) { font-size: 16px; }
	.woocommerce-flow-content .wc-block-components-checkout-step__title { font-size: 20px !important; }
	.woocommerce-flow-content :is(.wc-block-components-text-input input, .wc-block-components-combobox-control input, .wc-block-components-address-form select, .wc-block-components-select-control select, .wc-block-components-textarea) { font-size: 16px !important; }
	.woocommerce-flow-content .wc-block-cart-items .wc-block-cart-item__image { width: 108px !important; min-width: 108px !important; padding-right: 16px !important; }
	.woocommerce-flow-content .wc-block-cart-items .wc-block-cart-item__image img { width: 92px !important; max-width: 92px !important; height: 70px !important; }
}
