/* Forest Yarn — WooCommerce cart, checkout, account. Maps plugin markup to the approved site-pages look. */

/*
 * Two-column cart is on .site-cart-layout (items | sticky summary), not on
 * .woocommerce. Notices and extras like .fy-free-sample-box must not steal
 * the right column from .cart-collaterals.
 */
body.woocommerce-cart .site-cart-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(285px, 1fr);
	column-gap: 6%;
	row-gap: 22px;
	align-items: start;
}

body.woocommerce-cart .site-cart-layout > * {
	min-inline-size: 0;
}

body.woocommerce-cart .site-cart-layout > .woocommerce-cart-form {
	grid-column: 1;
}

body.woocommerce-cart .site-cart-layout > .cart-collaterals {
	grid-column: 2;
	grid-row: 1 / -1;
	align-self: start;
	position: sticky;
	top: var(--fy-sticky-offset);
}

body.woocommerce-cart .site-cart-layout > :not(.woocommerce-cart-form):not(.cart-collaterals) {
	grid-column: 1;
}

.woocommerce-checkout form.woocommerce-checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(285px, 1fr);
	column-gap: 6%;
	row-gap: 0;
	align-items: start;
}

.woocommerce-checkout form.woocommerce-checkout > :not(.fy-checkout-summary) {
	grid-column: 1;
	min-width: 0;
}

.woocommerce-cart .woocommerce-cart-form {
	min-width: 0;
}

.woocommerce-cart .cart-collaterals,
.woocommerce-checkout .fy-checkout-summary,
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading {
	min-width: 0;
}

.woocommerce-checkout #customer_details {
	grid-column: 1;
	width: 100%;
	float: none;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
	width: 100%;
	float: none;
	max-width: none;
}

.woocommerce-checkout .fy-checkout-summary {
	grid-column: 2;
	grid-row: 1 / span 8;
	align-self: start;
	position: sticky;
	top: var(--fy-sticky-offset);
	float: none;
	width: 100%;
	background: #e9ebdf;
	padding: 29px;
}

.woocommerce-checkout #order_review_heading {
	margin: 12px 0 25px;
}

.woocommerce-checkout #order_review {
	position: static;
	background: transparent;
	padding: 0;
}

.woocommerce-cart .cart-collaterals {
	background: #e9ebdf;
	padding: 29px;
}

body.woocommerce-cart .cart-collaterals .cart_totals,
body.woocommerce-page.woocommerce-cart .cart-collaterals .cart_totals {
	float: none;
	width: 100%;
	max-width: none;
	background: transparent;
	padding: 0;
	margin: 0;
}

body.woocommerce-cart .cart-collaterals .cart_totals::before,
body.woocommerce-cart .cart-collaterals .cart_totals::after,
body.woocommerce-cart .cart-collaterals::before,
body.woocommerce-cart .cart-collaterals::after {
	content: none;
	display: none;
}

.woocommerce-cart .cart_totals h2,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-checkout-review-order h2 {
	font-size: 32px;
	margin: 12px 0 25px;
	font-family: var(--serif);
	font-weight: 300;
}

.woocommerce-cart .shop_table.cart,
.woocommerce-cart .shop_table.cart thead,
.woocommerce-cart .shop_table.cart tbody {
	display: block;
	width: 100%;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.woocommerce-cart .shop_table.cart {
	border-collapse: collapse;
	margin: 0;
}

.woocommerce-cart .shop_table.cart thead {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
}

.woocommerce-cart .shop_table.cart tbody tr.cart_item {
	display: grid;
	grid-template-columns: 105px minmax(0, 1fr) 148px;
	grid-template-rows: auto auto auto;
	align-items: start;
	column-gap: 22px;
	row-gap: 0;
	padding: 23px 0;
	border-bottom: 1px solid var(--line);
}

.woocommerce-cart .shop_table.cart tbody tr.cart_item:first-child {
	border-top: 1px solid var(--line);
}

.woocommerce-cart .shop_table.cart td {
	border: 0;
	padding: 0;
	display: block;
	background: transparent;
}

.woocommerce-cart .product-remove {
	grid-column: 2;
	grid-row: 3;
	align-self: start;
	margin-top: 2px;
}

.woocommerce-cart .product-thumbnail {
	grid-column: 1;
	grid-row: 1 / -1;
}

body.woocommerce-cart .woocommerce table.shop_table.cart td.product-thumbnail img,
body.woocommerce-page.woocommerce-cart table.cart img {
	width: 100%;
	max-width: none;
	height: 125px;
	object-fit: contain;
	background: #eeece5;
}

.woocommerce-cart .product-name {
	grid-column: 2;
	grid-row: 1;
	font-size: 25px;
	font-family: var(--serif);
	line-height: 1.25;
}

.woocommerce-cart .product-name a {
	color: inherit;
}

.woocommerce-cart .site-cart-item-detail {
	margin: 10px 0 9px;
	font: 400 12px/1.75 var(--sans);
	color: var(--muted);
}

.woocommerce-cart .cart_item--yarn .variation {
	display: none;
}

.woocommerce-cart .product-name dl.variation {
	margin: 8px 0 0;
	font: 400 12px/1.6 var(--sans);
	color: var(--muted);
}

.woocommerce-cart .product-name dl.variation p,
.woocommerce-cart .product-name dl.variation dd {
	margin: 0;
}

.woocommerce-cart .product-price {
	grid-column: 2;
	grid-row: 2;
	margin-top: 8px;
	font: 400 12px var(--sans);
}

.woocommerce-cart .product-price .site-unit-price {
	display: block;
	margin: 0 0 2px;
	color: var(--forest);
}

.woocommerce-cart .product-quantity {
	grid-column: 3;
	grid-row: 1;
}

.woocommerce-cart .product-subtotal {
	grid-column: 3;
	grid-row: 2;
	margin-top: 18px;
	font: 400 18px var(--serif);
	text-align: right;
}

.woocommerce-cart .product-remove .remove {
	display: inline-block;
	border: 0;
	background: transparent !important;
	text-decoration: underline;
	text-underline-offset: 4px;
	font-size: 12px;
	line-height: 1.4;
	padding: 8px 0;
	min-height: 36px;
	width: auto;
	height: auto;
	border-radius: 0;
	color: var(--muted) !important;
	font-weight: 400;
}

.woocommerce-cart .product-remove .remove:hover {
	background: none !important;
	color: var(--forest) !important;
}

body.woocommerce-cart .quantity {
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: center;
	box-sizing: border-box;
	width: 140px;
	max-width: 100%;
	border: 1px solid var(--line);
}

body.woocommerce-cart .quantity .qty {
	border: 0;
	background: transparent;
	flex: 1 1 auto;
	width: 40px;
	min-width: 0;
	padding: 0;
	text-align: center;
	font-size: 13px;
	min-height: 44px;
	-moz-appearance: textfield;
	appearance: textfield;
}

body.woocommerce-cart .quantity .qty::-webkit-inner-spin-button,
body.woocommerce-cart .quantity .qty::-webkit-outer-spin-button {
	display: none;
}

body.woocommerce-cart .quantity .qty::placeholder {
	color: transparent;
}

body.woocommerce-cart .quantity .qty-btn {
	border: 0;
	background: transparent;
	flex: 0 0 44px;
	width: 44px;
	min-width: 44px;
	height: 44px;
	padding: 0;
	font-size: 17px;
	line-height: 1;
	color: var(--forest);
	transition: background var(--fy-motion-fast) var(--fy-ease);
}

body.woocommerce-cart .quantity .qty-btn:hover:not(:disabled) {
	background: var(--sage);
}

body.woocommerce-cart .quantity .qty-btn:disabled {
	opacity: 0.35;
}

body.woocommerce-cart .quantity:has(input.qty[type="hidden"]) {
	display: none;
}

body.woocommerce-cart tr.cart_item:has(input.qty[type="hidden"]) .product-quantity {
	display: none;
}

.woocommerce-cart .shop_table.cart tbody > tr:not(.cart_item) {
	display: block;
}

.woocommerce-cart .shop_table.cart .actions {
	display: block;
	padding: 10px 0 25px;
	text-align: left;
}

.woocommerce-cart .site-cart-coupon {
	border-bottom: 1px solid var(--line);
	margin-bottom: 26px;
}

.woocommerce-cart .site-cart-coupon > summary {
	font: 400 12px var(--sans);
	cursor: pointer;
	padding: 20px 0;
	min-height: 44px;
	list-style: none;
	transition: color var(--fy-motion-fast) var(--fy-ease);
}

.woocommerce-cart .site-cart-coupon > summary:hover {
	color: var(--hover);
}

.woocommerce-cart .site-cart-coupon > summary::-webkit-details-marker {
	display: none;
}

.woocommerce-cart .coupon {
	display: flex;
	gap: 10px;
	margin-bottom: 15px;
	flex-wrap: wrap;
}

.woocommerce-cart .coupon .input-text {
	min-width: 0;
	flex: 1;
	border: 1px solid var(--line);
	background: transparent;
	padding: 12px;
	font-size: 13px;
	min-height: 48px;
}

.woocommerce .button,
.woocommerce-page .button,
.woocommerce #place_order,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	min-height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 25px;
	background: var(--forest);
	color: var(--paper);
	border: 1px solid var(--forest);
	font: 400 14px/1.5 var(--sans);
	border-radius: 0;
	text-decoration: none;
	width: 100%;
	float: none;
	transition:
		background var(--fy-motion-fast) var(--fy-ease),
		transform var(--fy-motion-fast) var(--fy-ease),
		box-shadow var(--fy-motion-fast) var(--fy-ease);
}

.woocommerce .button:hover,
.woocommerce-page .button:hover,
.woocommerce #place_order:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
	background: var(--btn-hover);
	border-color: var(--btn-hover);
	color: var(--paper);
	transform: translateY(-2px);
	box-shadow: none;
}

.woocommerce .button:hover svg,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover svg {
	transform: translateX(4px);
}

.woocommerce .button svg,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button svg {
	transition: transform var(--fy-motion-fast) var(--fy-ease);
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button svg {
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
}

.woocommerce .button.alt,
.woocommerce button.button.alt {
	background: var(--forest);
	color: var(--paper);
	border-radius: 0 !important;
}

.woocommerce-cart button[name="apply_coupon"] {
	width: auto;
	background: transparent;
	color: var(--forest);
	justify-content: center;
	font-size: 12px;
	min-height: 48px;
}

.woocommerce-cart button[name="apply_coupon"]:hover {
	background: var(--sage);
	color: var(--forest);
	transform: none;
	box-shadow: none;
}

.woocommerce-cart button[name="update_cart"] {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.woocommerce-cart .wc-proceed-to-checkout {
	margin: 15px 0 0;
}

.woocommerce-cart .wc-proceed-to-checkout .site-price-note {
	margin: 0 0 8px;
}

.woocommerce-cart .cart_totals .shop_table th {
	text-align: left;
	font-weight: 400;
}

.woocommerce-cart .cart_totals .order-total th {
	font-size: 20px;
}

.woocommerce-cart .cart_totals .order-total td {
	text-align: right;
	white-space: nowrap;
}

.woocommerce-cart .cart_totals .order-total small.includes_tax {
	display: block;
	margin-top: 6px;
	font: 400 12px/1.6 var(--sans);
	color: var(--muted);
	white-space: normal;
}

.woocommerce-cart .cart_totals .shop_table,
.woocommerce-checkout .woocommerce-checkout-review-order-table {
	width: 100%;
	border: 0;
}

.woocommerce-cart .cart_totals .shop_table th,
.woocommerce-cart .cart_totals .shop_table td,
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
	border: 0;
	padding: 12px 0;
	font: 400 12px/1.7 var(--sans);
	background: transparent;
}

.woocommerce-cart .cart_totals .shop_table td {
	text-align: right;
	white-space: nowrap;
}

.woocommerce-cart .cart_totals .shipping td .woocommerce-Price-amount,
.woocommerce-cart .cart_totals .shipping td {
	font-weight: 400;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td,
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
	border-top: 1px solid #aab29f70;
	padding-top: 20px;
	font: 400 24px var(--serif);
}

.woocommerce-cart .cart_totals .order-total th {
	font-size: 20px;
}

.woocommerce-checkout #order_review,
.woocommerce-cart .cart-collaterals {
	align-self: start;
}

.woocommerce-checkout .site-step-heading {
	display: flex;
	gap: 12px;
	align-items: center;
	margin-bottom: 14px;
}

.woocommerce-checkout .site-step-heading > span {
	font: 400 16px/1 var(--sans);
	color: var(--muted);
}

.woocommerce-checkout .site-step-heading h2 {
	font-size: 26px;
	font-family: var(--serif);
	font-weight: 300;
	margin: 0;
}

.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout .woocommerce-checkout-payment h3 {
	font-size: 26px;
	font-family: var(--serif);
	font-weight: 300;
	margin: 0 0 14px;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-checkout-payment {
	padding: 0 0 18px;
	margin-bottom: 20px;
	border-bottom: 1px solid var(--line);
}

.woocommerce-checkout form.woocommerce-checkout > .woocommerce-checkout-payment {
	border-bottom: 0;
	margin-bottom: 0;
	padding-bottom: 0;
}

.woocommerce-checkout .woocommerce-additional-fields {
	padding-bottom: 12px;
	margin-bottom: 20px;
}

.woocommerce-checkout .woocommerce-additional-fields .form-row {
	margin-bottom: 0;
}

.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .shipping_address {
	container: checkout-fields / inline-size;
}

.woocommerce-checkout .site-fields-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	column-gap: 12px;
}

.woocommerce-checkout .site-fields-grid .form-row {
	width: 100%;
	min-inline-size: 0;
	float: none;
	margin: 0 0 10px;
	grid-column: 1 / -1;
}

.woocommerce-checkout .site-fields-grid .form-row-wide,
.woocommerce-checkout .site-fields-grid .form-row-first,
.woocommerce-checkout .site-fields-grid .form-row-last {
	width: 100%;
}

.woocommerce-checkout .site-fields-grid > * {
	order: 10;
}

.woocommerce-checkout #billing_first_name_field { order: 1; }
.woocommerce-checkout #billing_last_name_field { order: 2; }
.woocommerce-checkout #billing_email_field { order: 3; }
.woocommerce-checkout #billing_phone_field { order: 4; }
.woocommerce-checkout .fy-company-toggle { order: 5; }
.woocommerce-checkout .fy-company-fields { order: 6; }

.woocommerce-checkout .fy-company-toggle,
.woocommerce-checkout .fy-company-fields {
	grid-column: 1 / -1;
}

.woocommerce-checkout .fy-company-fields .form-row {
	grid-column: auto;
}

@media (min-width: 720px) {
	.woocommerce-checkout .site-fields-grid {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

	.woocommerce-checkout .site-fields-grid :is(
		#billing_first_name_field,
		#billing_last_name_field,
		#billing_email_field,
		#billing_phone_field,
		#shipping_first_name_field,
		#shipping_last_name_field
	) {
		grid-column: span 3;
	}

	.woocommerce-checkout .site-fields-grid :is(
		#billing_country_field,
		#shipping_country_field,
		#billing_postcode_field,
		#shipping_postcode_field,
		#billing_state_field,
		#shipping_state_field
	) {
		grid-column: span 2;
	}

	.woocommerce-checkout .site-fields-grid :is(
		#billing_address_1_field,
		#shipping_address_1_field,
		#billing_city_field,
		#shipping_city_field
	) {
		grid-column: span 4;
	}

	.woocommerce-checkout .site-fields-grid :is(
		#billing_address_2_field,
		#shipping_address_2_field
	) {
		grid-column: 1 / -1;
	}
}

@supports (container-type: inline-size) {
	@media (min-width: 720px) {
		.woocommerce-checkout .site-fields-grid {
			grid-template-columns: minmax(0, 1fr);
		}

		.woocommerce-checkout .site-fields-grid .form-row {
			grid-column: 1 / -1;
		}
	}

	@container checkout-fields (min-width: 480px) {
		.woocommerce-checkout .site-fields-grid {
			grid-template-columns: repeat(6, minmax(0, 1fr));
		}

		.woocommerce-checkout .site-fields-grid :is(
			#billing_first_name_field,
			#billing_last_name_field,
			#billing_email_field,
			#billing_phone_field,
			#shipping_first_name_field,
			#shipping_last_name_field
		) {
			grid-column: span 3;
		}

		.woocommerce-checkout .site-fields-grid :is(
			#billing_country_field,
			#shipping_country_field,
			#billing_postcode_field,
			#shipping_postcode_field,
			#billing_state_field,
			#shipping_state_field
		) {
			grid-column: span 2;
		}

		.woocommerce-checkout .site-fields-grid :is(
			#billing_address_1_field,
			#shipping_address_1_field,
			#billing_city_field,
			#shipping_city_field
		) {
			grid-column: span 4;
		}

		.woocommerce-checkout .site-fields-grid :is(
			#billing_address_2_field,
			#shipping_address_2_field
		) {
			grid-column: 1 / -1;
		}
	}
}

.woocommerce-checkout .fy-company-toggle label {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 10px;
	min-height: 40px;
	font: 400 12px/1.5 var(--sans);
	cursor: pointer;
}

.woocommerce-checkout .fy-company-toggle .input-checkbox,
.woocommerce-checkout #ship-to-different-address .input-checkbox {
	accent-color: var(--forest);
	width: 16px;
	height: 16px;
	margin: 0;
}

.woocommerce-checkout .fy-company-fields {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0 12px;
}

.woocommerce-checkout .site-fields-grid .fy-company-fields .form-row {
	width: 100%;
	min-inline-size: 0;
	float: none;
	margin: 0 0 10px;
	grid-column: auto;
}

@media (min-width: 720px) {
	.woocommerce-checkout .fy-company-fields {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}
}

@supports (container-type: inline-size) {
	@media (min-width: 720px) {
		.woocommerce-checkout .fy-company-fields {
			grid-template-columns: minmax(0, 1fr);
		}
	}

	@container checkout-fields (min-width: 480px) {
		.woocommerce-checkout .fy-company-fields {
			grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		}

		.woocommerce-checkout .site-fields-grid .fy-company-fields .form-row {
			grid-column: auto;
		}
	}
}

.woocommerce-checkout form .form-row label {
	gap: 4px;
	font: 400 12px/1.45 var(--sans);
}

.woocommerce-checkout .fy-company-toggle label,
.woocommerce-checkout #ship-to-different-address label {
	flex-direction: row;
	gap: 10px;
	font: 400 12px/1.5 var(--sans);
}

.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout form .form-row select,
.woocommerce-checkout form .form-row .select2-selection {
	padding: 9px 12px;
	font-size: 13px;
	min-height: 42px;
}

.woocommerce-checkout .site-fields-grid .select2-container {
	width: 100% !important;
	max-inline-size: 100%;
}

.woocommerce-checkout form .form-row textarea {
	min-height: 72px;
}

.woocommerce-checkout #ship-to-different-address {
	margin: 0;
	font: 400 12px/1.5 var(--sans);
	font-family: var(--sans);
}

.woocommerce-checkout #ship-to-different-address label {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 10px;
	min-height: 40px;
	font: 400 12px/1.5 var(--sans);
	cursor: pointer;
}

.woocommerce-checkout .woocommerce-shipping-fields {
	padding: 0;
	margin: 4px 0 14px;
	border: 0;
}

.woocommerce-checkout .woocommerce-additional-fields .site-field {
	display: block;
	margin: 0 0 6px;
	font: 400 12px/1.5 var(--sans);
}

.woocommerce-checkout .fy-checkout-shipping {
	margin: 8px 0 6px;
	grid-column: 1 / -1;
}

.woocommerce-checkout .site-shipping-options {
	padding: 0;
	border: 0;
	margin: 10px 0 0;
	min-width: 0;
}

.woocommerce-checkout .site-shipping-options legend {
	font: 400 22px var(--serif);
	margin-bottom: 10px;
	padding: 0;
}

.woocommerce-checkout .site-shipping-options label {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 46px;
	padding: 8px 0;
	border-bottom: 1px solid var(--line);
	font: 400 12px/1.6 var(--sans);
	cursor: pointer;
}

.woocommerce-checkout .site-shipping-options input {
	accent-color: var(--forest);
	min-width: 16px;
	height: 16px;
	margin: 0;
}

.woocommerce-checkout .site-shipping-options strong {
	font-weight: 500;
	white-space: nowrap;
	margin-left: auto;
}

.woocommerce-checkout .site-shipping-options .inpost_pl-shipping-method-meta-wrap,
.woocommerce-checkout .site-shipping-options .easypack-shipping-method-logo {
	display: none;
}

.woocommerce form .form-row {
	padding: 0;
	margin: 0 0 19px;
}

.woocommerce form .form-row label {
	display: flex;
	flex-direction: column;
	gap: 9px;
	font: 400 12px/1.6 var(--sans);
	text-align: left;
}

.woocommerce-checkout form .form-row label {
	flex-direction: row;
	align-items: baseline;
	gap: 4px;
	margin-bottom: 7px;
	font: 400 12px/1.45 var(--sans);
}

.woocommerce-checkout form .form-row label .required,
.woocommerce-checkout form .form-row label .optional {
	width: auto;
	flex: 0 0 auto;
}

.woocommerce-checkout form .form-row label.woocommerce-form__label-for-checkbox,
.woocommerce-checkout #ship-to-different-address label,
.woocommerce-checkout .fy-company-toggle label {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 10px;
	margin-bottom: 0;
	min-height: 0;
	font: 400 12px/1.5 var(--sans);
	cursor: pointer;
}

.woocommerce-checkout form .form-row label.woocommerce-form__label-for-checkbox input,
.woocommerce-checkout #ship-to-different-address .input-checkbox,
.woocommerce-checkout .fy-company-toggle .input-checkbox {
	accent-color: var(--forest);
	width: 16px;
	height: 16px;
	margin: 0;
	flex: 0 0 16px;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row .select2-selection {
	border: 1px solid #bbbeb299;
	border-radius: 0;
	padding: 13px;
	background: #fcfbf7;
	width: 100%;
	font-size: 14px;
	min-height: 48px;
	line-height: 1.4;
}

.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea.input-text,
.woocommerce-checkout form .form-row select,
.woocommerce-checkout form .form-row .select2-selection {
	background: #ffffff;
}

.woocommerce-checkout form .form-row .select2-container--default .select2-selection--single {
	height: 48px;
	min-height: 48px;
	padding: 0 12px;
	display: flex;
	align-items: center;
}

.woocommerce-checkout form .form-row .select2-container--default .select2-selection--single .select2-selection__rendered {
	padding: 0 18px 0 0;
	line-height: 1.4;
	height: auto;
}

.woocommerce-checkout form .form-row .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 46px;
	top: 1px;
}

.woocommerce form .form-row textarea {
	min-height: 100px;
}

.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
	width: 48%;
}

.woocommerce-invalid input.input-text,
.woocommerce-invalid-required-field input.input-text {
	border-color: #7e3d31;
}

.woocommerce form .form-row.validate-required.woocommerce-invalid label {
	color: #7e3d31;
}

.woocommerce-checkout #payment {
	background: transparent;
	border-radius: 0;
	display: flow-root;
	padding-bottom: 8px;
}

.woocommerce-checkout #payment .place-order {
	clear: both;
	float: none;
	width: 100%;
	margin: 18px 0 0;
	padding: 0;
}

.woocommerce-checkout #payment div.payment_box {
	background: transparent;
	border-radius: 0;
	padding: 8px 0 0;
	margin: 0;
}

.woocommerce-checkout #payment ul.payment_methods {
	padding: 0;
	border: 0;
	list-style: none;
	margin: 0;
}

.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method {
	display: block;
	border: 1px solid var(--line);
	padding: 20px;
	margin: 0 0 10px;
	background: transparent;
}

.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > input.input-radio {
	accent-color: var(--forest);
	margin: 4px 12px 0 0;
	float: left;
}

.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > label {
	display: block;
	font: 500 14px/1.4 var(--sans);
	padding: 0;
}

.woocommerce-checkout #payment ul.payment_methods > li.wc_payment_method > label img {
	display: none;
}

.woocommerce-checkout #payment .payment_box {
	background: transparent;
	padding: 8px 0 0;
	margin: 0;
	font: 400 12px/1.6 var(--sans);
	color: var(--muted);
}

.woocommerce-checkout #payment div.payment_box::before {
	content: none;
	display: none;
	border: 0;
}

.woocommerce-checkout #payment .payment_box p {
	margin: 0 0 10px;
	font-size: 12px;
	color: var(--muted);
}

.woocommerce-checkout #payment #place_order {
	width: 100%;
	justify-content: space-between;
	font-size: 13px;
	margin-top: 8px;
}

.woocommerce-checkout #payment #place_order svg {
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
}

.woocommerce-checkout .fy-review-item {
	display: grid;
	grid-template-columns: 45px minmax(0, 1fr) auto;
	gap: 10px 12px;
	align-items: start;
	width: 100%;
	font: 400 12px/1.5 var(--sans);
}

.woocommerce-checkout .fy-review-item__thumb img {
	width: 45px;
	height: 57px;
	object-fit: contain;
	background: var(--paper);
	display: block;
}

.woocommerce-checkout .fy-review-item__copy b {
	display: block;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.35;
}

.woocommerce-checkout .fy-review-item__copy small,
.woocommerce-checkout .fy-review-item__copy .variation {
	display: block;
	margin-top: 4px;
	font-size: 12px;
	color: var(--muted);
}

.woocommerce-checkout td.product-name dl.variation {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	gap: 2px 10px;
	margin: 6px 0 0;
	width: 100%;
}

.woocommerce-checkout td.product-name dl.variation dt,
.woocommerce-checkout td.product-name dl.variation dd {
	float: none;
	clear: none;
	width: auto;
	margin: 0;
	padding: 0;
}

.woocommerce-checkout td.product-name dl.variation dd p {
	margin: 0;
}

.woocommerce-checkout .fy-review-item__total {
	font-weight: 500;
	white-space: nowrap;
	text-align: right;
	padding-top: 1px;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table thead {
	display: none;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tbody tr,
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td {
	display: block;
	width: 100%;
	box-sizing: border-box;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td {
	padding: 0 0 17px;
	border: 0;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tbody {
	display: block;
	border-bottom: 1px solid #aab29f70;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
	display: block;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td {
	text-align: right;
}

.woocommerce-checkout .easypack-parcel-machine {
	flex-direction: column;
	align-items: stretch;
	gap: 8px;
}

.woocommerce-checkout .easypack-parcel-machine th {
	display: none;
}

.woocommerce-checkout .easypack-parcel-machine td {
	width: 100%;
	text-align: left;
}

.woocommerce-checkout .fy-inpost-pickup {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 14px 0 4px;
	padding: 14px 0 0;
	border-top: 1px solid var(--line);
}

.woocommerce-checkout .fy-inpost-pickup[hidden] {
	display: none !important;
}

.woocommerce-checkout .fy-inpost-pickup__label {
	margin: 0;
	font: 400 14px/1.4 var(--sans);
	color: var(--ink);
}

.woocommerce-checkout .fy-inpost-pickup__mount {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.woocommerce-checkout #order_review .easypack_show_geowidget,
.woocommerce-checkout .fy-inpost-pickup .easypack_show_geowidget {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: none;
	box-sizing: border-box;
	min-height: 48px;
	margin: 0;
	padding: 12px 16px !important;
	background: var(--forest) !important;
	color: var(--paper);
	border: 1px solid var(--forest) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font: 400 13px/1.3 var(--sans) !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-align: center;
	cursor: pointer;
	transition:
		background var(--fy-motion-fast) var(--fy-ease),
		transform var(--fy-motion-fast) var(--fy-ease);
}

.woocommerce-checkout #order_review .easypack_show_geowidget:hover,
.woocommerce-checkout .fy-inpost-pickup .easypack_show_geowidget:hover {
	background: var(--btn-hover) !important;
	color: var(--paper);
	transform: translateY(-2px);
	box-shadow: none;
}

.woocommerce-checkout .fy-inpost-pickup #selected-parcel-machine {
	margin: 0;
	padding: 0;
	font: 400 13px/1.5 var(--sans);
	color: var(--ink);
}

.woocommerce-checkout .fy-inpost-pickup .easypack-visible-point-header {
	display: block;
	margin-bottom: 2px;
	font-weight: 500;
	color: var(--forest);
}

.woocommerce-checkout #order_review tr.easypack-parcel-machine:empty,
.woocommerce-checkout #order_review tr.easypack-parcel-machine:not(:has(#easypack_show_geowidget)) {
	display: none;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total small {
	display: block;
	font: 400 12px/1.6 var(--sans);
	color: var(--muted);
}

.woocommerce-checkout .fy-checkout-ship-dest {
	display: block;
	margin-top: 4px;
	font: 400 12px/1.5 var(--sans);
	color: var(--muted);
	white-space: normal;
}

.woocommerce-checkout .fy-checkout-summary .eyebrow {
	display: block;
	margin-bottom: 4px;
}

.woocommerce-checkout .fy-checkout-summary .site-checkout-help {
	margin-top: 25px;
	border-top: 1px solid #aab29f70;
	padding-top: 20px;
	font: 400 12px/1.8 var(--sans);
}

.woocommerce-checkout #payment .payment_box .payment_box {
	padding: 0;
	margin: 0;
	background: transparent;
}

.woocommerce-checkout #payment .payment_method_bluemedia .bm-payment-channels-wrapper,
.woocommerce-checkout #payment .payment_method_bluemedia .payment_box.payment_method_bacs {
	background: transparent !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia .bm-payment-channels-wrapper ul.woocommerce-shipping-methods {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 2px 0 0;
	padding: 0;
}

.woocommerce-checkout #payment .payment_method_bluemedia .bm-payment-channels-wrapper ul ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia > .payment_box.payment_method_bluemedia .payment_box.payment_method_bacs > .bm-payment-channels-wrapper ul.woocommerce-shipping-methods li.bm-payment-channel-item,
.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia > .payment_box.payment_method_bluemedia .payment_box.payment_method_bacs > .bm-payment-channels-wrapper ul.woocommerce-shipping-methods li.bm-payment-channel-group-item {
	border: 0 !important;
	border-bottom: 1px solid var(--line) !important;
	border-radius: 0 !important;
	margin: 0 !important;
	padding: 0 14px !important;
	background: transparent !important;
	box-shadow: none !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia > .payment_box.payment_method_bluemedia .payment_box.payment_method_bacs > .bm-payment-channels-wrapper ul.woocommerce-shipping-methods li.bm-payment-channel-item.selected,
.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia > .payment_box.payment_method_bluemedia .payment_box.payment_method_bacs > .bm-payment-channels-wrapper ul.woocommerce-shipping-methods li.bm-payment-channel-group-item.selected,
.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia > .payment_box.payment_method_bluemedia .payment_box.payment_method_bacs > .bm-payment-channels-wrapper ul.woocommerce-shipping-methods li.bm-payment-channel-item.bm-selected-group,
.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia > .payment_box.payment_method_bluemedia .payment_box.payment_method_bacs > .bm-payment-channels-wrapper ul.woocommerce-shipping-methods li.bm-payment-channel-group-item.bm-selected-group {
	border: 0 !important;
	border-bottom: 1px solid var(--line) !important;
	background: var(--sage) !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-item > label,
.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-group-item > label {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	column-gap: 12px !important;
	min-height: 46px !important;
	margin: 0 !important;
	padding: 8px 0 !important;
	font: 400 13px/1.3 var(--sans) !important;
	color: var(--ink);
	cursor: pointer;
}

.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-item > label > input[type="radio"],
.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia .bm-payment-channels-wrapper li.bm-payment-channel-group-item > label > input[type="radio"] {
	accent-color: var(--forest);
	flex: 0 0 auto;
	width: 16px !important;
	height: 16px !important;
	max-width: 16px !important;
	margin: 0 !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods > li.payment_method_bluemedia img.bm-payment-channel-method-logo,
.woocommerce-checkout #payment ul.wc_payment_methods > li.payment_method_bluemedia img.bm-payment-channel-group-method-logo {
	display: block !important;
	width: auto !important;
	height: 22px !important;
	max-width: 72px !important;
	max-height: 22px !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain;
	float: none !important;
	background: transparent !important;
}

.woocommerce-checkout #payment .bm-payment-channel-method-name,
.woocommerce-checkout #payment .bm-payment-channel-group-method-name {
	margin: 0 !important;
	font: 400 13px/1.3 var(--sans) !important;
	font-weight: 400 !important;
	color: var(--ink);
}

.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia > .payment_box.payment_method_bluemedia .payment_box.payment_method_bacs > .bm-payment-channels-wrapper ul.woocommerce-shipping-methods .bm-group-karta-platnicza li.bm-payment-channel-item,
.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia > .payment_box.payment_method_bluemedia .payment_box.payment_method_bacs > .bm-payment-channels-wrapper ul.woocommerce-shipping-methods .bm-group-platnosc-karta li.bm-payment-channel-item,
.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia > .payment_box.payment_method_bluemedia .payment_box.payment_method_bacs > .bm-payment-channels-wrapper ul.woocommerce-shipping-methods .bm-group-karta-platnicza li.bm-payment-channel-item.selected,
.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia > .payment_box.payment_method_bluemedia .payment_box.payment_method_bacs > .bm-payment-channels-wrapper ul.woocommerce-shipping-methods .bm-group-platnosc-karta li.bm-payment-channel-item.selected {
	border: 0 !important;
	border-bottom: 1px solid var(--line) !important;
	margin: 0 !important;
	padding: 0 14px !important;
}

.woocommerce-checkout #payment .bm-payment-channel-item.selected .bm-payment-channel-method-name,
.woocommerce-checkout #payment .bm-payment-channel-group-item.selected .bm-payment-channel-group-method-name {
	font-weight: 500 !important;
	color: var(--forest);
}

.woocommerce-checkout #payment .bm-group-expandable .bm-group-expandable-wrapper.active {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
	gap: 8px;
	width: 100%;
	margin: 0;
	padding: 8px 0 12px;
}

.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia > .payment_box.payment_method_bluemedia .payment_box.payment_method_bacs > .bm-payment-channels-wrapper ul.woocommerce-shipping-methods .bm-group-expandable-wrapper > li.bm-payment-channel-item {
	padding: 10px 8px !important;
	border: 1px solid var(--line) !important;
	background: var(--paper) !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia > .payment_box.payment_method_bluemedia .payment_box.payment_method_bacs > .bm-payment-channels-wrapper ul.woocommerce-shipping-methods .bm-group-expandable-wrapper > li.bm-payment-channel-item.selected {
	background: var(--sage) !important;
	border-color: var(--forest) !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods > li.wc_payment_method.payment_method_bluemedia .bm-group-expandable-wrapper > li.bm-payment-channel-item > label {
	min-height: 64px !important;
	justify-content: center !important;
	padding: 0 !important;
}

.woocommerce-checkout #payment ul.wc_payment_methods > li.payment_method_bluemedia .bm-group-expandable-wrapper img.bm-payment-channel-method-logo {
	width: auto !important;
	height: 52px !important;
	max-width: 100% !important;
	max-height: 52px !important;
}

.woocommerce-checkout #payment .bm-card-widget__iframe-wrapper {
	border: 1px solid var(--line) !important;
	border-radius: 0 !important;
	background: var(--paper);
}

.woocommerce-checkout #payment .bm-card-widget__help {
	margin: 0 0 8px;
	font: 400 12px/1.5 var(--sans);
	color: var(--muted);
}

.woocommerce-privacy-policy-text,
.woocommerce-terms-and-conditions-wrapper {
	font: 400 12px/1.5 var(--sans);
	color: var(--muted);
}

.woocommerce-checkout .woocommerce-privacy-policy-text p,
.woocommerce-checkout .woocommerce-privacy-policy-text a {
	margin: 0;
	font: 400 12px/1.5 var(--sans);
	color: inherit;
}

.woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	min-height: 0;
	margin-top: 0;
	font: 400 12px/1.5 var(--sans);
}

#customer_login,
.u-columns.col2-set {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 35px;
	max-width: 960px;
	width: 100%;
	float: none;
}

#customer_login::before,
#customer_login::after {
	content: none;
	display: none;
}

#customer_login .col-1,
#customer_login .col-2,
.woocommerce .u-columns.col2-set > .col-1,
.woocommerce .u-columns.col2-set > .col-2,
.woocommerce-page .u-columns.col2-set > .col-1,
.woocommerce-page .u-columns.col2-set > .col-2 {
	width: auto;
	float: none;
	max-width: none;
}

#customer_login.site-account-grid {
	align-items: start;
}

#customer_login.site-account-grid--single {
	grid-template-columns: minmax(0, 462.5px);
}

#customer_login .site-form-panel,
.woocommerce-ResetPassword {
	padding: 35px;
	background: #f0ede7;
	border: 0;
	border-radius: 0;
	margin: 0;
}

#customer_login .site-form-panel.woocommerce-ResetPassword {
	width: 100%;
}

#customer_login .site-form-panel.woocommerce-ResetPassword .form-row-wide,
#customer_login .site-form-panel.woocommerce-ResetPassword .form-row-first,
#customer_login .site-form-panel.woocommerce-ResetPassword .form-row-last {
	float: none;
	width: 100%;
}

#customer_login .site-form-panel.woocommerce-ResetPassword .woocommerce-Button.btn {
	display: inline-flex;
	float: none;
	clear: both;
	width: 100%;
	margin-top: 8px;
	margin-right: 0;
	padding: 12px 25px;
	background: var(--forest);
	border: 1px solid var(--forest);
	border-radius: 0;
	color: var(--paper);
	font: 400 14px/1.5 var(--sans);
	justify-content: space-between;
	align-items: center;
}

#customer_login .site-form-panel.woocommerce-ResetPassword .woocommerce-Button.btn:hover {
	background: var(--btn-hover);
	border-color: var(--btn-hover);
	color: var(--paper);
}

#customer_login .site-form-panel.woocommerce-ResetPassword .woocommerce-Button.btn svg {
	width: 22px;
	height: 22px;
	flex: 0 0 auto;
}

#customer_login .site-form-soft {
	background: var(--sage);
}

#customer_login .site-form-panel h2,
.woocommerce-account h2,
.woocommerce-ResetPassword h2 {
	font-size: 33px;
	margin: 0 0 26px;
}

#customer_login .site-form-panel > p:not(.form-row) {
	margin: 0 0 16px;
	font: 400 12px/1.8 var(--sans);
	color: var(--muted);
}

#customer_login .site-form-panel > p:not(.form-row) a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

#customer_login .woocommerce-privacy-policy-text {
	margin-block: 0 18px;
}

#customer_login .woocommerce-privacy-policy-text p {
	margin: 0;
	font: 400 12px/1.8 var(--sans);
	color: var(--muted);
}

#customer_login .woocommerce-privacy-policy-text a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

#customer_login .site-check {
	display: flex;
	flex-direction: row;
	width: 100%;
	clear: both;
}

#customer_login .site-check input {
	width: 17px;
	min-height: 17px;
	padding: 0;
}

#customer_login .btn {
	display: inline-flex;
	float: none;
	clear: both;
	width: 100%;
	margin-top: 8px;
	margin-right: 0;
	padding: 12px 25px;
	background: var(--forest);
	border: 1px solid var(--forest);
	border-radius: 0;
	color: var(--paper);
	font: 400 14px/1.5 var(--sans);
	justify-content: space-between;
}

#customer_login .btn.secondary {
	background: transparent;
	color: var(--forest);
}

#customer_login .btn:hover {
	background: var(--btn-hover);
	border-color: var(--btn-hover);
	color: var(--paper);
}

#customer_login .btn.secondary:hover {
	background: color-mix(in srgb, var(--forest) 8%, transparent);
	border-color: var(--forest);
	color: var(--forest);
}


#customer_login .btn svg {
	width: 22px;
	height: 22px;
	flex: 0 0 auto;
}

.woocommerce-ResetPassword .woocommerce-Button {
	margin-top: 8px;
}

#customer_login .site-form-panel > .text-link,
.woocommerce-LostPassword {
	margin-top: 22px;
	font-size: 12px;
}

#customer_login .site-form-panel > .text-link {
	display: flex;
	width: fit-content;
	clear: both;
}

.woocommerce-LostPassword a {
	text-decoration: underline;
	text-underline-offset: 4px;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	float: none;
	width: 220px;
}

.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: auto;
	flex: 1;
	min-width: 0;
}

body.woocommerce-account .woocommerce {
	display: flex;
	gap: 48px;
	align-items: start;
}

body.woocommerce-account .woocommerce::before,
body.woocommerce-account .woocommerce::after {
	content: none;
	display: none;
}

.woocommerce-account .woocommerce-Addresses {
	align-items: stretch;
	max-width: none;
}

.woocommerce-account .woocommerce-Address {
	min-width: 0;
	padding: 28px;
	background: #f0ede7;
}

.woocommerce-account .addresses .title::before,
.woocommerce-account .addresses .title::after {
	content: none;
	display: none;
}

.woocommerce-account .woocommerce-Address-title {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 16px;
	margin-bottom: 14px;
}

.woocommerce-account .woocommerce-Address-title h2 {
	float: none;
	margin: 0;
	font-size: clamp(24px, 2.4vw, 32px);
}

.woocommerce-account .woocommerce-Address-title .edit {
	float: none;
	font-size: 13px;
	line-height: 1.4;
	color: var(--forest);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.woocommerce-account .woocommerce-Address-title .edit:hover {
	color: var(--hover);
}

.woocommerce-account .woocommerce-Address address {
	margin: 0;
	font-style: normal;
	font-size: 14px;
	line-height: 1.7;
	color: var(--muted);
}

body.woocommerce-account:not(.logged-in) .woocommerce {
	display: block;
}

.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid var(--line);
}

.woocommerce-MyAccount-navigation a {
	display: flex;
	padding: 16px 0;
	font: 400 13px var(--sans);
}

.woocommerce-MyAccount-navigation .is-active a {
	font-weight: 600;
}

.woocommerce table.shop_table {
	border: 0;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	border-color: var(--line);
	padding: 14px 0;
	font-size: 13px;
}

.woocommerce-order {
	max-width: 850px;
	text-align: center;
	padding-top: 20px;
	margin-inline: auto;
}

.woocommerce-thankyou-order-received,
.woocommerce-order-received .woocommerce-notice--success {
	font-size: clamp(43px, 5vw, 66px);
	font-family: var(--serif);
	font-weight: 300;
	line-height: 1.15;
	background: none !important;
	padding: 18px 0 24px !important;
	color: var(--forest) !important;
}

.woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	text-align: left;
	background: var(--sage);
	padding: 25px;
	gap: 25px;
	margin: 32px 0;
	list-style: none;
}

.woocommerce-order-overview li {
	float: none;
	width: auto;
	border: 0;
	margin: 0;
	padding: 0;
	text-transform: none;
	font: 400 12px var(--sans);
	color: var(--muted);
}

.woocommerce-order-overview strong {
	display: block;
	font: 400 21px var(--serif);
	color: var(--forest);
	margin-top: 8px;
}

.woocommerce-order-details,
.woocommerce-customer-details {
	text-align: left;
	margin-top: 30px;
}

.site-catalog-tools .woocommerce-ordering {
	display: flex;
	gap: 6px;
	align-items: center;
	font: 400 12px var(--sans);
	white-space: nowrap;
	margin: 0;
}

.site-catalog-tools .woocommerce-ordering select {
	border: 0;
	background: transparent;
	padding: 12px 4px;
	max-width: 145px;
	font-size: 12px;
	min-height: 44px;
}

.woocommerce-cart .site-cart-extras {
	padding: 10px 0 8px;
}

.woocommerce-cart .site-shipping-options {
	padding: 0;
	border: 0;
	margin: 8px 0 0;
	min-width: 0;
}

.woocommerce-cart .site-shipping-options legend {
	font: 400 25px var(--serif);
	margin-bottom: 17px;
	padding: 0;
	color: var(--forest);
}

.woocommerce-cart .site-shipping-options label {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 55px;
	padding: 12px 0;
	border-bottom: 1px solid var(--line);
	font: 400 12px/1.6 var(--sans);
	cursor: pointer;
}

.woocommerce-cart .site-shipping-options input {
	accent-color: var(--forest);
	min-width: 16px;
	height: 16px;
	margin: 0;
}

.woocommerce-cart .site-shipping-options label:focus-within {
	outline: 2px solid var(--forest);
	outline-offset: 4px;
}

.woocommerce-cart .site-shipping-options .inpost_pl-shipping-method-meta-wrap,
.woocommerce-cart .site-shipping-options .easypack-shipping-method-logo {
	display: none;
}

.woocommerce-cart .site-digital-note,
.woocommerce-checkout .site-digital-note {
	margin: 8px 0 0;
}

.woocommerce-cart .site-summary-delivery {
	margin: 10px 0 0;
	font: 400 12px/1.7 var(--sans);
	color: var(--muted);
}

.woocommerce-cart .woocommerce-shipping-methods {
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-cart .woocommerce-shipping-methods li {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 55px;
	padding: 12px 0;
	border-bottom: 1px solid var(--line);
	font: 400 12px/1.6 var(--sans);
}

.easypack-widget,
.inpost-pl-container,
#easypack_geowidget,
.easypack-easy-geowidget {
	margin-top: 20px;
}

.woocommerce-cart .site-cart-continue {
	margin: 8px 0 0;
}

.woocommerce-cart .cart-collaterals .site-checkout-help {
	margin-top: 25px;
	border-top: 1px solid #aab29f70;
	padding-top: 20px;
	font: 400 12px/1.8 var(--sans);
}

.woocommerce-cart .cart-collaterals .site-checkout-help > a {
	font-size: 12px;
}

.fy-autopay-banner {
	margin: 16px 0 0;
	padding: 16px 0 0;
	border: 0;
	border-top: 1px solid #aab29f70;
	background: transparent;
	text-align: left;
	color: var(--muted);
}

.fy-autopay-banner__title {
	margin: 0 0 10px;
	font: 400 12px/1.6 var(--sans);
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--muted);
}

.fy-autopay-banner__marks {
	margin: 0;
	max-inline-size: 100%;
}

.fy-autopay-banner .footer-payments img {
	height: 28px;
	max-width: 88px;
}

.fy-autopay-banner .footer-payments__item--autopay img {
	height: 18px;
	max-width: 92px;
}

.fy-autopay-banner .footer-payments__item--blik img,
.fy-autopay-banner .footer-payments__item--cards img,
.fy-autopay-banner .footer-payments__item--apple-pay img,
.fy-autopay-banner .footer-payments__item--google-pay img {
	height: 22px;
	max-width: 64px;
}

.fy-autopay-banner .footer-payments__item--cards img {
	height: 16px;
	max-width: 88px;
}

.fy-autopay-banner .footer-payments__chip {
	min-height: 28px;
	font-size: 12px;
}

.fy-autopay-banner__text {
	max-width: none;
	margin: 10px 0 0;
	font: 400 12px/1.7 var(--sans);
	color: var(--muted);
}

.fy-free-sample-box {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 24px;
	margin: 8px 0 18px;
	padding: 22px 24px;
	border: 1px solid var(--line);
	background: var(--cream);
	font: 400 12px/1.7 var(--sans);
}

.fy-free-sample-text > strong {
	display: block;
	margin: 0 0 8px;
	font: 400 20px/1.25 var(--serif);
	color: var(--ink);
}

.fy-free-sample-text p strong {
	display: inline;
	margin: 0;
	font: inherit;
	font-weight: 500;
	color: inherit;
}

.fy-free-sample-text p {
	margin: 0;
	max-width: 42em;
	font: 400 14px/1.55 var(--sans);
	color: var(--muted);
}

.fy-free-sample-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	min-height: 44px;
	padding: 12px 22px;
	border: 1px solid var(--forest);
	background: transparent;
	color: var(--forest);
	font: 400 12px/1 var(--sans);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	transition:
		background var(--fy-motion-fast) var(--fy-ease),
		color var(--fy-motion-fast) var(--fy-ease),
		border-color var(--fy-motion-fast) var(--fy-ease),
		transform var(--fy-motion-fast) var(--fy-ease);
}

.fy-free-sample-button:hover {
	background: var(--forest);
	border-color: var(--forest);
	color: var(--paper);
	transform: translateY(-2px);
}

.fy-free-sample-button:focus-visible {
	outline: 2px solid var(--forest);
	outline-offset: 4px;
}

.fy-free-shipping-box,
.site-free-shipping {
	position: relative;
	margin: 0 0 1rem;
	padding-block: 1rem;
	padding-inline: 3.35rem 1.25rem;
	border: 1px solid var(--line);
	background: var(--sage);
	color: var(--forest);
	font: 400 16px/1.55 var(--sans);
}

/* Badge icon for .fy-free-shipping-box lives in base.css with other notice glyphs. */

.fy-free-shipping-text {
	margin: 0 0 10px;
}

.fy-free-shipping-text strong {
	font-weight: 600;
	color: var(--forest);
}

.fy-free-shipping-bar {
	width: 100%;
	height: 4px;
	background: color-mix(in srgb, var(--forest) 12%, transparent);
	overflow: hidden;
}

.fy-free-shipping-progress {
	height: 100%;
	background: var(--forest);
}

.woocommerce-cart .fy-free-shipping-box,
.woocommerce-checkout .fy-free-shipping-box {
	margin: 0 0 1.25rem;
}

body.woocommerce-cart table.shop_table_responsive tbody th::before,
body.woocommerce-cart table.shop_table_responsive tbody td::before {
	content: none !important;
	display: none !important;
	float: none !important;
}

.woocommerce-cart .cross-sells {
	display: none;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.btn,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	justify-content: space-between;
	padding-inline: 18px;
	border: 0;
	outline: 0;
	box-shadow: none;
	border-radius: 0;
	font-size: 14px;
	line-height: 1.5;
	font-weight: 400;
}

@media (hover: hover) and (pointer: fine) {
	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
		border: 0;
		outline: 0;
		transform: translateY(-1px);
		box-shadow: inset 0 1px 0 color-mix(in srgb, var(--paper) 28%, transparent);
	}
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus-visible {
	outline: 2px solid var(--forest);
	outline-offset: 3px;
}

.woocommerce-checkout .col2-set::after,
.woocommerce .col2-set::after {
	display: none;
}

.u-columns.col2-set::before,
.u-columns.col2-set::after {
	content: none;
	display: none;
}

@media (max-width: 1100px) {
	body.woocommerce-cart .site-cart-layout {
		column-gap: 30px;
		grid-template-columns: minmax(0, 1.4fr) minmax(270px, 1fr);
	}

	.woocommerce-cart .shop_table.cart tbody tr.cart_item {
		grid-template-columns: 75px minmax(0, 1fr);
		column-gap: 17px;
		row-gap: 0;
	}

	.woocommerce-cart .product-quantity,
	.woocommerce-cart .product-subtotal {
		grid-column: 2;
		grid-row: 4;
	}

	.woocommerce-cart .product-quantity {
		justify-self: start;
		margin-top: 12px;
	}

	.woocommerce-cart .product-subtotal {
		justify-self: end;
		margin-top: 12px;
	}

	.woocommerce-cart .product-remove {
		grid-column: 2;
		grid-row: 3;
	}

	.woocommerce-cart .cart-collaterals {
		padding: 24px;
	}

	body.woocommerce-cart .woocommerce table.shop_table.cart td.product-thumbnail img,
	body.woocommerce-page.woocommerce-cart table.cart img {
		height: 108px;
	}
}

@media (max-width: 850px) {
	body.woocommerce-cart .site-cart-layout,
	.woocommerce-checkout form.woocommerce-checkout {
		grid-template-columns: 1fr;
	}

	body.woocommerce-cart .site-cart-layout > .woocommerce-cart-form,
	body.woocommerce-cart .site-cart-layout > .cart-collaterals,
	body.woocommerce-cart .site-cart-layout > :not(.woocommerce-cart-form):not(.cart-collaterals) {
		grid-column: 1;
		grid-row: auto;
	}

	body.woocommerce-cart .site-cart-layout > .cart-collaterals {
		position: static;
		max-width: none;
	}

	.woocommerce-cart .shop_table.cart tbody tr.cart_item {
		grid-template-columns: 100px minmax(0, 1fr) 148px;
	}

	.woocommerce-cart .product-quantity {
		grid-column: 3;
		grid-row: 1;
		justify-self: stretch;
	}

	.woocommerce-cart .product-subtotal {
		grid-column: 3;
		grid-row: 2;
		justify-self: stretch;
		margin-top: 15px;
	}

	.woocommerce-cart .product-remove {
		grid-column: 2;
		grid-row: 3;
	}

	.woocommerce-checkout #customer_details,
	.woocommerce-checkout .fy-checkout-summary,
	.woocommerce-checkout form.woocommerce-checkout > #payment,
	.woocommerce-checkout form.woocommerce-checkout > .woocommerce-checkout-payment {
		grid-column: 1;
		grid-row: auto;
	}

	.woocommerce-checkout .fy-checkout-summary {
		position: static;
		order: -1;
		margin-bottom: 5px;
		padding: 24px;
	}

	.woocommerce-checkout #order_review {
		position: static;
	}

	.woocommerce-checkout #order_review_heading {
		font-size: 25px;
		margin-bottom: 10px;
	}

	.woocommerce-checkout .fy-checkout-summary .site-checkout-help {
		display: none;
	}

	.fy-free-sample-box {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 18px 16px;
	}

	.fy-free-sample-text > strong {
		font-size: 18px;
	}

	.fy-free-sample-button {
		width: 100%;
	}

	.fy-autopay-banner {
		margin-top: 14px;
		padding-top: 14px;
	}

	#customer_login,
	.u-columns.col2-set,
	body.woocommerce-account .woocommerce {
		grid-template-columns: 1fr;
		flex-direction: column;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		width: 100%;
	}

	.woocommerce-order-overview {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 650px) {
	.woocommerce-cart .shop_table.cart tbody tr.cart_item {
		grid-template-columns: 82px minmax(0, 1fr);
		column-gap: 15px;
		row-gap: 0;
	}

	.woocommerce-cart .product-name {
		font-size: 23px;
	}

	.woocommerce-cart .product-quantity,
	.woocommerce-cart .product-subtotal {
		grid-column: 2;
		grid-row: 4;
	}

	.woocommerce-cart .product-quantity {
		justify-self: start;
		max-width: 140px;
		margin-top: 12px;
	}

	.woocommerce-cart .product-subtotal {
		justify-self: end;
		margin-top: 12px;
		font-size: 18px;
	}

	.woocommerce-cart .product-remove {
		grid-column: 2;
		grid-row: 3;
	}

	.woocommerce-cart .product-thumbnail {
		grid-row: 1 / -1;
	}

	body.woocommerce-cart .quantity .qty-btn {
		min-width: 44px;
		height: 44px;
	}

	.woocommerce-cart .site-shipping-options label {
		font-size: 12px;
		gap: 10px;
	}

	.woocommerce form .form-row-first,
	.woocommerce form .form-row-last {
		width: 100%;
	}

	#customer_login .site-form-panel,
	.woocommerce-ResetPassword {
		padding: 25px 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.woocommerce * {
		transition: none !important;
		animation: none !important;
	}

	.woocommerce .button:hover,
	.woocommerce-page .button:hover,
	.woocommerce #place_order:hover,
	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
	.woocommerce .button:hover svg,
	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover svg,
	.fy-free-sample-button:hover {
		transform: none;
		box-shadow: none;
	}
}
