/**
 * Cart / checkout layout to match live arisuniforms.com.
 * Targets WooPack + WooCommerce markup in aris-new (no Flatsome).
 */

/* ----- Progress steps ----- */
.aris-checkout-steps {
	width: 100%;
	margin: 0 0 10px;
	padding: 0;
}

.aris-checkout-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0;
	margin: 20px 10px 60px 10px;
	padding: 15px 0;
	font-family: Lato, sans-serif;
	font-size: 26px;
	font-weight: 400;
	line-height: 31px;
	letter-spacing: normal;
	text-transform: uppercase;
	text-align: center;
	color: #ccc;
}

.aris-checkout-breadcrumbs a.aris-checkout-breadcrumbs__item,
.aris-checkout-breadcrumbs span.aris-checkout-breadcrumbs__item {
	display: inline-flex;
	align-items: center;
	color: #ccc;
	text-decoration: none;
	font-weight: 400;
}

.aris-checkout-breadcrumbs a.aris-checkout-breadcrumbs__item:hover,
.aris-checkout-breadcrumbs a.aris-checkout-breadcrumbs__item:focus {
	color: #995d28;
	text-decoration: none;
}

.aris-checkout-breadcrumbs a.aris-checkout-breadcrumbs__item.is-current,
.aris-checkout-breadcrumbs a.aris-checkout-breadcrumbs__item.is-current:hover,
.aris-checkout-breadcrumbs a.aris-checkout-breadcrumbs__item.is-current:focus,
.aris-checkout-breadcrumbs span.aris-checkout-breadcrumbs__item.is-current {
	color: #000;
}

.aris-checkout-breadcrumbs__step {
	display: block;
	width: 27px;
	height: 27px;
	margin: 0 9px;
	border-radius: 99px;
	background: #ccc;
	color: #fff;
	font-size: 17.92px;
	font-weight: 700;
	line-height: 27px;
	text-align: center;
}

.aris-checkout-breadcrumbs .is-current .aris-checkout-breadcrumbs__step {
	background: #000;
	color: #fff;
}

.aris-checkout-breadcrumbs__divider {
	margin: 0 6px;
	color: #ccc;
	font-weight: 400;
}

@media (max-width: 549px) {
	.aris-checkout-breadcrumbs__hide-mobile {
		display: none !important;
	}

	.aris-checkout-breadcrumbs .is-current {
		display: inline-flex;
	}

	.aris-checkout-breadcrumbs {
		font-size: 20px;
		line-height: 1.2;
		margin: 10px;
		padding: 10px 0;
	}
}

/* ----- Page shell ----- */
body.woocommerce-cart .fl-page-content,
body.woocommerce-checkout .fl-page-content,
body.woocommerce-order-received .fl-page-content {
	padding-top: 10px;
}

/* Hide Builder page titles when the step nav is present (not header/footer). */
body.woocommerce-checkout .fl-page-content .fl-module-heading,
body.woocommerce-cart .fl-page-content .fl-module-heading {
	display: none !important;
}

body.woocommerce-cart.aris-cart-is-empty .fl-page-content .fl-module-heading {
	display: block !important;
}

/* ----- Two-column checkout (WooPack) ----- */
body.woocommerce-checkout .woopack-checkout.layout-2column .woopack-checkout-container {
	grid-template-columns: minmax(0, 58%) minmax(0, 42%);
	grid-column-gap: 30px;
	align-items: start;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0 0 30px;
}

body.woocommerce-checkout .fl-module-checkout,
body.woocommerce-checkout .woopack-checkout,
body.woocommerce-checkout .woopack-checkout .woocommerce,
body.woocommerce-checkout form.checkout {
	width: 100%;
	max-width: none;
}

body.woocommerce-checkout .woopack-checkout-column-2 .woopack-checkout-column-inner,
body.woocommerce-checkout .woopack-checkout-order-review {
	box-sizing: border-box;
}

body.woocommerce-checkout .woopack-checkout-column-2 .woopack-checkout-column-inner {
	border: 2px solid #000;
	padding: 30px;
}

body.woocommerce-checkout .woopack-checkout-column-2 .woopack-checkout-column-sticky {
	top: 100px;
}

/* ----- Headings ----- */
body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-shipping-fields > h3,
body.woocommerce-checkout #order_review_heading,
body.woocommerce-checkout .woocommerce-additional-fields > h3 {
	margin: 0 0 8.8px;
	padding: 10px 0 0;
	font-family: Lato, sans-serif;
	font-size: 17.6px;
	font-weight: 700;
	line-height: 28.16px;
	letter-spacing: normal;
	text-transform: uppercase;
	color: #000;
}

body.woocommerce-checkout #order_review_heading {
	padding-top: 0;
}

/* ----- Login / coupon toggles ----- */
body.woocommerce-checkout .woocommerce-form-login-toggle,
body.woocommerce-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout .woopack-checkout-coupon {
	font-family: Lato, sans-serif;
	font-size: 16px;
	line-height: 25.6px;
	color: #000;
}

body.woocommerce-checkout .woocommerce-form-login-toggle a,
body.woocommerce-checkout .woocommerce-form-coupon-toggle a,
body.woocommerce-checkout .checkout-sidebar a,
body.woocommerce-checkout .woopack-checkout-order-review a {
	color: #000;
	text-decoration: underline;
}

body.woocommerce-checkout .woocommerce-form-login-toggle a:hover,
body.woocommerce-checkout .woocommerce-form-coupon-toggle a:hover,
body.woocommerce-checkout .woopack-checkout-order-review a:hover {
	color: #995d28;
}

/* ----- Fields ----- */
body.woocommerce-checkout .woocommerce form .form-row label,
body.woocommerce-checkout .woocommerce-page form .form-row label {
	display: block;
	margin: 0 0 4px;
	font-family: Lato, sans-serif;
	font-size: 14.4px;
	font-weight: 300;
	line-height: 23.04px;
	color: #000 !important;
}

body.woocommerce-checkout .woocommerce form .form-row input.input-text,
body.woocommerce-checkout .woocommerce form .form-row textarea,
body.woocommerce-checkout .woocommerce form .form-row select,
body.woocommerce-checkout .woocommerce form .form-row .select2-selection--single {
	height: auto;
	min-height: 47px;
	padding: 15.52px;
	background: #f5f5f5 !important;
	border: 0 solid #000 !important;
	border-radius: 0;
	box-shadow: none;
	font-family: Lato, sans-serif;
	font-size: 15.52px;
	line-height: 24.83px;
	color: #000 !important;
}

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

body.woocommerce-checkout .select2-container--default .select2-selection--single {
	height: 47px;
	background: #f5f5f5 !important;
	border: 0 !important;
	border-radius: 0;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 47px;
	padding-left: 15.52px;
	color: #000;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 47px;
}

/* ----- Order table ----- */
body.woocommerce-checkout .woocommerce table.shop_table,
body.woocommerce-checkout .woocommerce-page table.shop_table {
	background: none;
	border: none;
	margin: 0 0 1em;
}

body.woocommerce-checkout .woocommerce table.shop_table th,
body.woocommerce-checkout .woocommerce table.shop_table td {
	padding: 10px 0;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	border-right: 0;
	border-left: 0;
	font-size: 16px;
	color: #000;
}

body.woocommerce-checkout .woocommerce table.shop_table thead th {
	border-top: 0;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #666;
}

body.woocommerce-checkout .woocommerce table.shop_table tfoot tr.order-total th,
body.woocommerce-checkout .woocommerce table.shop_table tfoot tr.order-total td {
	font-weight: 700;
	border-top: 2px solid #000;
}

/* ----- Shipping methods (override WooPack enhanced table shrink-wrap) ----- */
body.woocommerce-checkout .woocommerce table.shop_table.woocommerce-checkout-review-order-table,
body.woocommerce-checkout .woocommerce table.shop_table.woocommerce-checkout-review-order-table thead,
body.woocommerce-checkout .woocommerce table.shop_table.woocommerce-checkout-review-order-table tbody,
body.woocommerce-checkout .woocommerce table.shop_table.woocommerce-checkout-review-order-table tfoot {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
}

body.woocommerce-checkout .woocommerce table.shop_table.woocommerce-checkout-review-order-table tr,
body.woocommerce-checkout .woocommerce-page table.shop_table.woocommerce-checkout-review-order-table tr {
	display: grid !important;
	grid-template-columns: 1fr auto;
	width: 100% !important;
	max-width: 100% !important;
	text-align: left !important;
	box-sizing: border-box;
}

body.woocommerce-checkout .woocommerce table.shop_table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals {
	grid-template-columns: 1fr;
}

body.woocommerce-checkout .woocommerce table.shop_table.woocommerce-checkout-review-order-table tr > th,
body.woocommerce-checkout .woocommerce table.shop_table.woocommerce-checkout-review-order-table tr > td,
body.woocommerce-checkout .woocommerce-page table.shop_table.woocommerce-checkout-review-order-table tr > th,
body.woocommerce-checkout .woocommerce-page table.shop_table.woocommerce-checkout-review-order-table tr > td {
	display: block !important;
	width: auto !important;
	max-width: 100% !important;
	float: none !important;
	text-align: left !important;
	box-sizing: border-box;
}

body.woocommerce-checkout .woocommerce table.shop_table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > th,
body.woocommerce-checkout .woocommerce table.shop_table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > td {
	width: 100% !important;
}

body.woocommerce-checkout #shipping_method,
body.woocommerce-checkout ul.woocommerce-shipping-methods {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: left !important;
}

body.woocommerce-checkout #shipping_method li,
body.woocommerce-checkout ul.woocommerce-shipping-methods li {
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	min-height: 2.4em;
	margin: 0 0 5px !important;
	padding: 0.3em 0.6em !important;
	background-color: rgba(0, 0, 0, 0.01) !important;
	border: 1px solid rgba(0, 0, 0, 0.1) !important;
	border-radius: 3px !important;
	text-align: left !important;
}

body.woocommerce-checkout #shipping_method li label,
body.woocommerce-checkout ul.woocommerce-shipping-methods li label {
	flex: 1 1 auto;
	width: auto;
	margin: 0;
	font-weight: 400;
	text-align: left !important;
	color: #000 !important;
}

/* ----- Payment / place order ----- */
body.woocommerce-checkout #payment {
	background: transparent;
	border-radius: 0;
}

body.woocommerce-checkout #payment ul.payment_methods {
	padding: 0;
	border-bottom: 0;
}

body.woocommerce-checkout #payment div.payment_box {
	background: rgba(0, 0, 0, 0.03);
	color: #000;
}

body.woocommerce-checkout #payment div.payment_box::before {
	display: none;
}

body.woocommerce-checkout #place_order {
	display: block;
	width: 100%;
	height: auto;
	min-height: 48px;
	margin-top: 20px;
	padding: 9.6px 23px;
	background-color: #000 !important;
	border: 1px solid rgba(0, 0, 0, 0.05) !important;
	border-radius: 0;
	box-shadow: none;
	font-family: Lato, sans-serif;
	font-size: 19.2px;
	font-weight: 700;
	line-height: 23px;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: #fff !important;
}

body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout #place_order:focus {
	background-color: #000 !important;
	color: #fff !important;
}

/* Hide default checkout coupon toggle — promo sits beside gift card */
body.woocommerce-checkout .woopack-checkout-coupon,
body.woocommerce-checkout .woocommerce-form-coupon-toggle {
	display: none !important;
}

body.woocommerce-checkout .woocommerce-privacy-policy-text,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
	font-size: 14px;
	line-height: 1.5;
	color: #000;
}

/* ----- Cart page ----- */
body.woocommerce-cart .fl-page-content .woocommerce {
	width: 100%;
	max-width: none;
}

body.woocommerce-cart .woocommerce::after {
	content: "";
	display: table;
	clear: both;
}

@media (min-width: 768px) {
	body.woocommerce-cart .woocommerce-cart-form {
		width: 58%;
		float: left;
		display: block;
		box-sizing: border-box;
		padding-right: 30px;
	}

	body.woocommerce-cart .woocommerce .cart-collaterals {
		width: 42%;
		float: right;
		display: block;
		box-sizing: border-box;
		padding-left: 30px;
		border-left: 1px solid #ececec;
	}

	body.woocommerce-cart .woocommerce .cart-collaterals .cart_totals,
	body.woocommerce-cart .woocommerce-page .cart-collaterals .cart_totals {
		width: 100%;
		border: 0 !important;
		padding: 0 !important;
		box-sizing: border-box;
	}
}

/* Bag totals title — match cart column headers */
body.woocommerce-cart .cart_totals h2 {
	margin: 0;
	padding: 7.2px 0;
	font-family: Lato, sans-serif;
	font-size: 14.4px;
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: #000;
	border-bottom: 3px solid #ececec;
}

/* Cart line items table (left column) */
body.woocommerce-cart .woocommerce table.shop_table.cart,
body.woocommerce-cart .woocommerce-page table.shop_table.cart {
	background: none;
	border: none;
}

body.woocommerce-cart .woocommerce table.shop_table.cart th,
body.woocommerce-cart .woocommerce table.shop_table.cart td {
	border-top: 0;
	border-right: 0;
	border-left: 0;
	border-bottom: 1px solid #ececec;
	color: #000;
}

body.woocommerce-cart .woocommerce table.shop_table.cart thead th {
	font-family: Lato, sans-serif;
	font-size: 14.4px !important;
	font-weight: 700 !important;
	letter-spacing: 0.05em;
	line-height: 1.05;
	text-transform: uppercase;
	color: #000 !important;
	border-top: 0 !important;
	border-bottom: 3px solid #ececec !important;
	padding: 7.2px;
}

body.woocommerce-cart .woocommerce table.shop_table.cart thead th.product-remove,
body.woocommerce-cart .woocommerce table.shop_table.cart thead th.product-thumbnail {
	font-size: 0 !important;
	line-height: 0;
	color: transparent !important;
}

body.woocommerce-cart .woocommerce table.shop_table.cart thead th.product-name {
	padding-left: 0;
}

body.woocommerce-cart .woocommerce table.shop_table.cart thead th.product-subtotal {
	padding-right: 0;
}

/* Bag totals — same grid layout as checkout order review */
body.woocommerce-cart .cart_totals table.shop_table,
body.woocommerce-cart .cart_totals table.shop_table thead,
body.woocommerce-cart .cart_totals table.shop_table tbody,
body.woocommerce-cart .cart_totals table.shop_table tfoot {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	background: none;
	border: none;
	margin: 0.75em 0 1em;
}

body.woocommerce-cart .cart_totals table.shop_table tr {
	display: grid !important;
	grid-template-columns: 1fr auto;
	align-items: baseline;
	width: 100% !important;
	max-width: 100% !important;
	text-align: left !important;
	box-sizing: border-box;
}

body.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals,
body.woocommerce-cart .cart_totals table.shop_table tr.shipping {
	grid-template-columns: 1fr;
}

body.woocommerce-cart .cart_totals table.shop_table th,
body.woocommerce-cart .cart_totals table.shop_table td {
	display: block !important;
	width: auto !important;
	max-width: 100% !important;
	float: none !important;
	padding: 10px 0;
	border-top: 0 !important;
	border-right: 0;
	border-left: 0;
	border-bottom: 0 !important;
	font-size: 16px;
	font-weight: 400;
	text-align: left !important;
	box-sizing: border-box;
	color: #000;
}

body.woocommerce-cart .cart_totals table.shop_table tr > td {
	text-align: right !important;
	justify-self: end;
}

body.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals > th,
body.woocommerce-cart .cart_totals table.shop_table tr.woocommerce-shipping-totals > td,
body.woocommerce-cart .cart_totals table.shop_table tr.shipping > th,
body.woocommerce-cart .cart_totals table.shop_table tr.shipping > td {
	width: 100% !important;
	text-align: left !important;
	justify-self: stretch;
}

body.woocommerce-cart .cart_totals table.shop_table tr.order-total th,
body.woocommerce-cart .cart_totals table.shop_table tr.order-total td {
	font-weight: 700;
	border-top: 1px solid #ececec !important;
	padding-top: 14px;
}

body.woocommerce-cart .woocommerce form .form-row input.input-text,
body.woocommerce-cart .woocommerce form .coupon input.input-text,
body.woocommerce-cart #pwgc-redeem-gift-card-number,
body.woocommerce-cart .aris-cart-promo input.input-text,
body.woocommerce-cart input.input-text {
	background: #f5f5f5 !important;
	border: 0 !important;
	border-radius: 0;
	box-shadow: none;
	color: #000 !important;
}

/* Change address / shipping calculator — match checkout field look */
body.woocommerce-cart .shipping-calculator-form .form-row label {
	display: block;
	margin: 0 0 4px;
	font-family: Lato, sans-serif;
	font-size: 14.4px;
	font-weight: 300;
	line-height: 1.4;
	color: #000 !important;
}

body.woocommerce-cart .shipping-calculator-form .form-row input.input-text,
body.woocommerce-cart .shipping-calculator-form .form-row select:not(.select2-hidden-accessible) {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	height: auto !important;
	min-height: 52.75px !important;
	padding: 15.52px !important;
	background: #f5f5f5 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-family: Lato, sans-serif;
	font-size: 15.52px;
	line-height: 1.4;
	color: #000 !important;
	-webkit-appearance: none;
	appearance: none;
}

/* Keep Select2's visually-hidden native <select> truly hidden (don't restyle it as a field). */
body.woocommerce-cart .shipping-calculator-form .form-row select.select2-hidden-accessible {
	border: 0 !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	height: 1px !important;
	min-height: 0 !important;
	width: 1px !important;
	max-width: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	position: absolute !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.woocommerce-cart .shipping-calculator-form .select2-container {
	width: 100% !important;
	display: block !important;
}

/* Beat flatsome-custom.css `border:1px solid #000 !important` on .select2-selection */
body.woocommerce-cart .shipping-calculator-form .select2-container .select2-selection,
body.woocommerce-cart .shipping-calculator-form .select2-container .select2-choice,
body.woocommerce-cart .shipping-calculator-form .select2-container--default .select2-selection--single {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	height: 52.75px !important;
	min-height: 52.75px !important;
	padding: 0 !important;
	padding-right: 0 !important;
	background: #f5f5f5 !important;
	background-color: #f5f5f5 !important;
	background-image: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	outline: none !important;
}

body.woocommerce-cart .shipping-calculator-form .select2-container--default .select2-selection--single .select2-selection__rendered {
	display: block !important;
	line-height: 52.75px !important;
	height: 52.75px !important;
	padding: 0 36px 0 15.52px !important;
	color: #000 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

body.woocommerce-cart .shipping-calculator-form .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 52.75px !important;
	width: 28px !important;
	right: 6px !important;
	top: 0 !important;
}

body.woocommerce-cart .shipping-calculator-form .select2-container--default .select2-selection--single .select2-selection__arrow b {
	border-color: #000 transparent transparent transparent !important;
	margin-top: -2px;
}

body.woocommerce-cart .shipping-calculator-form .button {
	display: inline-block;
	margin-top: 8px;
	padding: 9.6px 18px;
	min-height: 39px;
	background-color: #000 !important;
	border: 1px solid rgba(0, 0, 0, 0.05) !important;
	border-radius: 0;
	box-shadow: none;
	font-family: Lato, sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: #fff !important;
}

body.woocommerce-cart #shipping_method,
body.woocommerce-cart ul.woocommerce-shipping-methods {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: left !important;
}

body.woocommerce-cart #shipping_method li,
body.woocommerce-cart ul.woocommerce-shipping-methods li {
	display: flex !important;
	align-items: center !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	min-height: 2.4em;
	margin: 0 0 5px !important;
	padding: 0.3em 0.6em !important;
	background-color: rgba(0, 0, 0, 0.01) !important;
	border: 1px solid rgba(0, 0, 0, 0.1) !important;
	border-radius: 3px !important;
	text-align: left !important;
}

body.woocommerce-cart #shipping_method li label,
body.woocommerce-cart ul.woocommerce-shipping-methods li label {
	flex: 1 1 auto;
	width: auto;
	margin: 0;
	font-weight: 400;
	text-align: left !important;
	color: #000 !important;
}

/* Hide default coupon under the bag table — promo lives beside gift card */
body.woocommerce-cart .woocommerce-cart-form .actions .coupon {
	display: none !important;
}

/* Gift card + promo side by side (cart proceed + checkout place-order) */
body.woocommerce-cart .wc-proceed-to-checkout,
body.woocommerce-checkout .form-row.place-order {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px 20px;
	align-items: start;
	padding: 0;
}

body.woocommerce-cart .wc-proceed-to-checkout > style {
	display: none;
}

/* Terms / Place order span full width; keep hidden inputs out of the grid flow. */
body.woocommerce-checkout .form-row.place-order > input,
body.woocommerce-checkout .form-row.place-order > noscript,
body.woocommerce-checkout .form-row.place-order > script {
	display: none !important;
}

body.woocommerce-checkout .form-row.place-order > *:not(#pwgc-redeem-gift-card-form):not(.aris-cart-promo):not(script):not(input):not(noscript) {
	grid-column: 1 / -1;
}

body.woocommerce-cart #pwgc-redeem-gift-card-form,
body.woocommerce-checkout #pwgc-redeem-gift-card-form {
	grid-column: 1;
	grid-row: 1;
	width: 100%;
	max-width: 100%;
	margin: 0;
}

/* Checkout: share one row under terms (promo can appear before gift in the DOM). */
body.woocommerce-checkout #pwgc-redeem-gift-card-form,
body.woocommerce-checkout .aris-cart-promo {
	grid-row: 2;
}

body.woocommerce-cart .aris-cart-promo,
body.woocommerce-checkout .aris-cart-promo {
	grid-column: 2;
	grid-row: 1;
	width: 100%;
	max-width: 100%;
	margin: 0;
}

body.woocommerce-checkout .aris-cart-promo {
	grid-row: 2;
}

body.woocommerce-cart #pwgc-redeem-gift-card-container,
body.woocommerce-checkout #pwgc-redeem-form {
	position: relative;
	margin: 0;
	width: 100%;
}

/* PWGC inserts a <br> + empty error node that push the input below promo */
body.woocommerce-cart #pwgc-redeem-gift-card-container > br,
body.woocommerce-checkout #pwgc-redeem-form > br {
	display: none;
}

body.woocommerce-cart #pwgc-redeem-error:empty,
body.woocommerce-checkout #pwgc-redeem-error:empty {
	display: none;
}

body.woocommerce-cart #pwgc-redeem-error:not(:empty),
body.woocommerce-checkout #pwgc-redeem-error:not(:empty) {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	margin-top: 4px;
	font-size: 13px;
	line-height: 1.3;
	z-index: 1;
}

body.woocommerce-cart #pwgc-redeem-gift-card-container > label,
body.woocommerce-checkout #pwgc-redeem-form > label,
body.woocommerce-cart .aris-cart-promo__label,
body.woocommerce-checkout .form-row.place-order .aris-cart-promo__label,
body.woocommerce-checkout .aris-cart-promo__label {
	display: block !important;
	margin: 0 0 6px !important;
	font-family: Lato, sans-serif;
	font-size: 14.4px !important;
	font-weight: 300 !important;
	line-height: 1.4 !important;
	color: #000 !important;
}

body.woocommerce-cart #pwgc-redeem-gift-card-number,
body.woocommerce-checkout #pwgc-redeem-gift-card-number,
body.woocommerce-cart .aris-cart-promo input.input-text,
body.woocommerce-checkout .aris-cart-promo input.input-text {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	height: 52.75px !important;
	min-height: 52.75px !important;
	margin: 0 0 10px !important;
	padding: 15.52px !important;
	background: #f5f5f5 !important;
	border: 0 !important;
	border-radius: 0;
	box-shadow: none;
	font-family: Lato, sans-serif;
	font-size: 15.52px !important;
	line-height: 1.4 !important;
	color: #000 !important;
}

/* Apply matches gift card column width only (not full sidebar) */
body.woocommerce-cart #pwgc-redeem-button,
body.woocommerce-checkout #pwgc-redeem-button {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	height: auto;
	min-height: 39px;
	margin: 0 !important;
	padding: 9.6px 18px;
	background-color: #000 !important;
	border: 1px solid rgba(0, 0, 0, 0.05) !important;
	border-radius: 0;
	box-shadow: none;
	font-family: Lato, sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: #fff !important;
}

body.woocommerce-cart #pwgc-redeem-button:hover,
body.woocommerce-cart #pwgc-redeem-button:focus,
body.woocommerce-checkout #pwgc-redeem-button:hover,
body.woocommerce-checkout #pwgc-redeem-button:focus {
	background-color: #000 !important;
	color: #fff !important;
}

body.woocommerce-cart .aris-cart-promo__form,
body.woocommerce-checkout .aris-cart-promo__form,
body.woocommerce-checkout .aris-cart-promo form.checkout_coupon,
body.woocommerce-checkout .aris-cart-promo form.woocommerce-form-coupon {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 0;
	align-items: stretch;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
}

body.woocommerce-cart .aris-cart-promo__form .input-text,
body.woocommerce-checkout .aris-cart-promo__form .input-text {
	flex: 0 0 auto;
}

body.woocommerce-cart .aris-cart-promo__form .button,
body.woocommerce-checkout .aris-cart-promo__form .button {
	display: block;
	width: 100%;
	box-sizing: border-box;
	min-height: 39px;
	margin: 0;
	padding: 9.6px 18px;
	background-color: #000 !important;
	border: 1px solid rgba(0, 0, 0, 0.05) !important;
	border-radius: 0;
	box-shadow: none;
	font-family: Lato, sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: #fff !important;
}

body.woocommerce-cart .aris-cart-promo__form .button:hover,
body.woocommerce-cart .aris-cart-promo__form .button:focus,
body.woocommerce-checkout .aris-cart-promo__form .button:hover,
body.woocommerce-checkout .aris-cart-promo__form .button:focus {
	background-color: #000 !important;
	color: #fff !important;
}

body.woocommerce-cart .wc-proceed-to-checkout > a.checkout-button {
	grid-column: 1 / -1;
	grid-row: 2;
}

body.woocommerce-cart .wc-proceed-to-checkout > .aris-payment-icons {
	grid-column: 1 / -1;
	grid-row: 3;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: block;
	width: 100%;
	height: auto;
	min-height: 48px;
	margin: 0 0 16px;
	padding: 9.6px 23px;
	text-align: center;
	background-color: #000 !important;
	border: 1px solid rgba(0, 0, 0, 0.05) !important;
	border-radius: 0;
	box-shadow: none;
	font-family: Lato, sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 28px;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: #fff !important;
}

body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus {
	background-color: #000 !important;
	color: #fff !important;
}

/* Continue shopping — outline button under cart actions */
body.woocommerce-cart .aris-continue-shopping {
	display: inline-block;
	float: left;
	margin: 0;
	text-align: left;
}

body.woocommerce-cart .aris-continue-shopping__button {
	display: inline-flex;
	align-items: center;
	height: 39px;
	padding: 0 18px;
	background: transparent !important;
	border: 1px solid #000 !important;
	border-radius: 0;
	box-shadow: none;
	font-family: Lato, sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 37px;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	text-decoration: none;
	color: #000 !important;
}

body.woocommerce-cart .aris-continue-shopping__button:hover,
body.woocommerce-cart .aris-continue-shopping__button:focus {
	background: #000 !important;
	color: #fff !important;
	text-decoration: none;
}

body.woocommerce-cart .actions::after {
	content: "";
	display: table;
	clear: both;
}

/* Payment icons under Proceed to checkout / mini cart */
.aris-payment-icons {
	display: block;
	width: 100%;
	margin: 8px 0 0;
	text-align: left;
	line-height: 0;
}

.aris-payment-icons__icon {
	display: inline-block;
	width: 50px;
	height: auto;
	margin: 3px 3px 0 0;
	padding: 3px 5px 5px;
	vertical-align: middle;
	opacity: 0.6;
	box-sizing: border-box;
}

.aris-payment-icons__icon svg {
	display: block;
	width: 40px;
	height: 20px;
	fill: #000;
	color: #000;
}

.aris-payment-icons .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

/* Off-canvas / mini cart */
.woopack-offcanvas-cart-panel .aris-payment-icons,
.widget_shopping_cart_content .aris-payment-icons {
	margin: 12px 0 0;
	padding: 0;
	text-align: center;
}

@media (max-width: 767px) {
	body.woocommerce-checkout .woopack-checkout.layout-2column .woopack-checkout-container {
		grid-template-columns: 1fr;
		padding: 0 10px 20px;
	}

	body.woocommerce-checkout .woopack-checkout-column-2 .woopack-checkout-column-inner {
		padding: 20px;
	}

	body.woocommerce-cart .woocommerce-cart-form,
	body.woocommerce-cart .woocommerce .cart-collaterals {
		width: 100%;
		float: none;
		padding-right: 0;
		padding-left: 0;
		border-left: 0;
	}

	body.woocommerce-cart .aris-continue-shopping {
		float: none;
		display: block;
		margin-bottom: 12px;
	}

	body.woocommerce-cart .wc-proceed-to-checkout,
	body.woocommerce-checkout .form-row.place-order {
		grid-template-columns: 1fr;
	}

	body.woocommerce-cart #pwgc-redeem-gift-card-form,
	body.woocommerce-cart .aris-cart-promo,
	body.woocommerce-checkout #pwgc-redeem-gift-card-form,
	body.woocommerce-checkout .aris-cart-promo,
	body.woocommerce-cart .wc-proceed-to-checkout > a.checkout-button,
	body.woocommerce-cart .wc-proceed-to-checkout > .aris-payment-icons,
	body.woocommerce-checkout .form-row.place-order > * {
		grid-column: 1;
		grid-row: auto;
	}
}
