/* Storefront polish and low-friction purchase flow. */
.woocommerce ul.products li.product,.woocommerce div.product div.images,.woocommerce div.product div.summary,.wc-block-cart,.wc-block-checkout{animation:moto22-commerce-in .28s ease both}.woocommerce ul.products li.product{overflow:hidden}.woocommerce ul.products li.product a img{transition:transform .24s ease}.woocommerce ul.products li.product:hover a img{transform:none}.woocommerce a.button,.woocommerce button.button,.wp-element-button,.wc-block-components-button{transition:background-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.woocommerce a.button:active,.woocommerce button.button:active,.wp-element-button:active,.wc-block-components-button:active{transform:translateY(1px)}.is-processing{position:relative;cursor:progress!important;opacity:.78}.is-processing:after{content:"";width:.9rem;height:.9rem;margin-left:.6rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:moto22-spin .65s linear infinite}.single-product .woocommerce-product-gallery{padding:.75rem;background:#fff;border:1px solid var(--line)}.single-product div.product .summary{padding:clamp(1rem,3vw,2rem);background:#fff;border:1px solid var(--line)}.single-product div.product .summary .product_title{margin-top:0}.single-product div.product .stock{font-weight:700;color:#287a3f}.single-product div.product form.cart{display:flex;gap:.75rem;padding-block:1rem;border-block:1px solid var(--line)}.single-product div.product form.cart .button{flex:1}.product-assurances{display:grid;gap:.75rem;margin-top:1.25rem}.product-assurance{display:flex;align-items:center;gap:.75rem}.product-assurance__icon{display:grid;place-items:center;width:2rem;height:2rem;flex:0 0 2rem;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font-weight:800}.product-assurance strong,.product-assurance small{display:block}.product-assurance strong{font-size:.82rem;text-transform:uppercase}.product-assurance small{color:#746f66}.purchase-progress-wrap{background:#fff;border-bottom:1px solid var(--line)}.purchase-progress{min-height:4.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.purchase-progress ol{display:flex;align-items:center;gap:0;margin:0;padding:0;list-style:none}.purchase-progress li{display:flex;align-items:center;color:#837d73;font-size:.8rem;font-weight:700}.purchase-progress li:not(:last-child):after{content:"";width:clamp(1.5rem,5vw,4rem);height:1px;margin-inline:.65rem;background:var(--line)}.purchase-progress li>span,.purchase-progress li a>span{display:inline-grid;place-items:center;width:1.65rem;height:1.65rem;margin-right:.4rem;border:1px solid currentColor;border-radius:50%}.purchase-progress li a{display:flex;align-items:center;color:inherit;text-decoration:none}.purchase-progress .is-current,.purchase-progress .is-complete{color:var(--red)}.purchase-progress .is-complete>a>span{background:var(--red);color:var(--moto22-on-primary,#fff)}.purchase-progress p{margin:0;font-size:.78rem;font-weight:700;color:#287a3f}.woocommerce-cart .entry-content>*,.woocommerce-checkout .entry-content>*{max-width:1180px}.woocommerce-cart .site-main,.woocommerce-checkout .site-main{padding-block:clamp(2rem,5vw,4rem)}.wc-block-components-sidebar-layout{column-gap:0;row-gap:2rem;align-items:flex-start}.wc-block-cart__main,.wc-block-checkout__main{padding-right:clamp(1.5rem,4vw,3.5rem)!important}.wc-block-cart__sidebar,.wc-block-checkout__sidebar{align-self:start;padding:1.5rem!important;background:#fff;border:1px solid var(--line);box-shadow:0 .8rem 2rem rgba(26,22,16,.07)}.wc-block-checkout__sidebar{position:sticky!important;top:1.5rem}.wc-block-components-totals-wrapper{padding:1rem 0!important}.wc-block-components-totals-footer-item{font-size:1.12rem}.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{min-height:3.4rem!important;background:var(--red)!important;color:var(--moto22-on-primary,#fff)!important;font-weight:800!important;text-transform:uppercase;box-shadow:0 .5rem 1.2rem rgba(182,45,30,.18)}.wc-block-cart__submit-button:hover,.wc-block-components-checkout-place-order-button:hover{filter:brightness(.9);box-shadow:0 .65rem 1.5rem rgba(182,45,30,.25)}.wc-block-components-text-input input,.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input{min-height:3.25rem!important;border-color:#918a80!important;border-radius:0!important;background:#fff!important}.wc-block-components-text-input input:focus,.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input:focus{border-color:var(--red)!important;box-shadow:0 0 0 1px var(--red)!important}.wc-block-components-checkout-step{margin-bottom:1rem!important;padding:clamp(1rem,3vw,1.6rem)!important;background:#fff;border:1px solid var(--line)}.wc-block-components-checkout-step__heading{margin-bottom:1.25rem!important}.wc-block-components-checkout-step__title{font-family:"Arial Narrow",sans-serif;font-size:1.45rem!important;text-transform:uppercase}.wc-block-components-radio-control-accordion-option{background:#fff}.wc-block-components-radio-control-accordion-option:has(input:checked){outline:2px solid var(--red);outline-offset:-2px}.checkout-reassurance{max-width:1180px!important;display:flex;justify-content:center;gap:clamp(1rem,5vw,4rem);margin:1.5rem auto 0!important;padding:1rem;border-top:1px solid var(--line);color:#5d584f;font-size:.78rem;font-weight:700;text-transform:uppercase}.checkout-reassurance span:before{content:"✓";margin-right:.4rem;color:#287a3f}body.woocommerce-checkout:not(.woocommerce-order-received) .utility-bar,body.woocommerce-checkout:not(.woocommerce-order-received) .site-search,body.woocommerce-checkout:not(.woocommerce-order-received) .primary-navigation,body.woocommerce-checkout:not(.woocommerce-order-received) .header-actions,body.woocommerce-checkout:not(.woocommerce-order-received) .footer-widgets,body.woocommerce-checkout:not(.woocommerce-order-received) .site-footer nav{display:none}body.woocommerce-checkout:not(.woocommerce-order-received) .site-header__inner{grid-template-columns:1fr;justify-items:center;min-height:5rem}body.woocommerce-checkout:not(.woocommerce-order-received) .site-footer{padding-block:1.5rem}body.woocommerce-checkout:not(.woocommerce-order-received) .site-footer__inner{justify-content:center;border:0;padding:0}body.woocommerce-checkout:not(.woocommerce-order-received) .menu-toggle{display:none}.woocommerce-checkout .entry-content>.wp-block-woocommerce-checkout{margin-top:0}.woocommerce-checkout .wp-block-woocommerce-checkout>h1,.woocommerce-cart .wp-block-woocommerce-cart>h1{margin-top:0}
:root{--moto22-commerce-control:3.25rem}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wc-block-components-button{min-height:var(--moto22-commerce-control);padding:.75rem 1.25rem;line-height:1.2}.single-product div.product form.cart{margin:1.25rem 0!important}.single-product div.product form.cart .quantity .qty{height:var(--moto22-commerce-control)}.woocommerce div.product .woocommerce-tabs{clear:both;padding-top:2rem}.woocommerce div.product .woocommerce-tabs ul.tabs{margin-bottom:1.5rem}.woocommerce div.product .woocommerce-tabs .panel{margin-bottom:3rem}.woocommerce ul.products li.product .button{margin:1rem 1rem 0!important}.wc-block-components-button{width:100%;justify-content:center}.wc-block-components-address-form{gap:1rem}.wc-block-components-checkout-step__container{margin-top:0!important}@keyframes moto22-commerce-in{from{opacity:0;transform:translateY(.35rem)}to{opacity:1;transform:none}}@keyframes moto22-spin{to{transform:rotate(360deg)}}

/* Product-card purchase actions and the AJAX "View cart" confirmation. */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
	box-sizing: border-box;
	width: calc(100% - 2rem);
}

.woocommerce ul.products li.product .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.woocommerce ul.products li.product .added_to_cart {
	display: flex;
	align-items: center;
	gap: .55rem;
	min-height: 2.75rem;
	margin: .65rem 1rem 0;
	padding: .65rem .8rem;
	border: 1px solid #b8d8c0;
	border-radius: 3px;
	background: #f1faf3;
	color: #1f6a35;
	font-size: .78rem;
	font-weight: 800;
	line-height: 1.25;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: .025em;
	animation: moto22-cart-confirmation .22s ease both;
}

.woocommerce ul.products li.product .added_to_cart::before {
	content: "\2713";
	display: inline-grid;
	place-items: center;
	width: 1.35rem;
	height: 1.35rem;
	flex: 0 0 1.35rem;
	border-radius: 50%;
	background: #287a3f;
	color: #fff;
	font-size: .78rem;
	line-height: 1;
}

.woocommerce ul.products li.product .added_to_cart::after {
	content: "\2192";
	margin-left: auto;
	font-size: 1rem;
	transition: transform .18s ease;
}

.woocommerce ul.products li.product .added_to_cart:hover {
	border-color: #287a3f;
	background: #e5f5e9;
	color: #155728;
}

.woocommerce ul.products li.product .added_to_cart:hover::after {
	transform: translateX(.18rem);
}

.woocommerce ul.products li.product .added_to_cart:focus-visible {
	outline: 3px solid #287a3f;
	outline-offset: 2px;
}

/* Consistent, single-source feedback across cart and checkout actions. */
.wc-block-components-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .65rem;
	cursor: pointer;
}

.wc-block-components-button:disabled,
.wc-block-components-button[aria-disabled="true"],
.woocommerce button.button:disabled,
.woocommerce button.button.disabled {
	cursor: not-allowed;
	opacity: .58;
	box-shadow: none !important;
}

/* Woo Blocks owns its loader; suppress legacy pseudo-loaders on these actions. */
.wc-block-cart__submit-button.is-processing::after,
.wc-block-components-checkout-place-order-button.is-processing::after {
	display: none;
}

/* Checkout fields: readable labels, calm rhythm, and visible validation. */
.wc-block-components-address-form {
	row-gap: .35rem;
}

.wc-block-components-address-form .wc-block-components-text-input,
.wc-block-components-address-form .wc-block-components-combobox,
.wc-block-components-address-form .wc-block-components-country-input,
.wc-block-components-address-form .wc-block-components-state-input {
	margin-top: 0 !important;
	margin-bottom: .85rem !important;
}

.wc-block-components-text-input label,
.wc-block-components-combobox-control label {
	color: #5d584f !important;
	font-size: .8rem !important;
	font-weight: 700;
}

.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.wc-block-components-address-form select {
	min-height: 3.25rem !important;
	padding-inline: .85rem !important;
	border-radius: 3px !important;
	transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.wc-block-components-text-input.has-error input,
.wc-block-components-combobox.is-error input,
.wc-block-components-validation-error + input {
	border-color: var(--red) !important;
	background: #fff8f7 !important;
}

.wc-block-components-validation-error {
	margin-top: -.5rem !important;
	margin-bottom: .75rem !important;
	color: #8f2116 !important;
	font-size: .78rem !important;
}

.wc-block-components-checkbox,
.wc-block-components-radio-control__option {
	min-height: 2.75rem;
}

.wc-block-components-checkout-step__description {
	margin-top: .35rem !important;
	color: #6f695f;
	line-height: 1.55;
}

.wc-block-components-checkout-step__content {
	padding-top: .25rem;
}

.wc-block-components-radio-control-accordion-option {
	margin-bottom: .65rem;
	border: 1px solid var(--line);
	border-radius: 3px;
}

/* Classic checkout and account forms use the same spacing and focus language. */
.woocommerce form .form-row {
	margin: 0 0 1rem;
	padding: 0;
}

.woocommerce form .form-row label {
	margin-bottom: .4rem;
	font-size: .82rem;
	font-weight: 700;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection--single {
	min-height: 3.25rem;
	padding: .75rem .85rem;
	border-radius: 3px;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.select2-container--focus .select2-selection--single {
	border-color: var(--red);
	outline: 0;
	box-shadow: 0 0 0 2px rgba(182, 45, 30, .16);
}

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

/* Product detail controls and content hierarchy. */
.single-product div.product .summary > * + * {
	margin-top: 1rem;
}

.single-product div.product .summary .price {
	margin-bottom: 0;
}

.single-product div.product form.cart .variations {
	margin-bottom: .75rem;
}

.single-product div.product form.cart .variations th,
.single-product div.product form.cart .variations td {
	display: block;
	padding: 0 0 .45rem;
	text-align: left;
}

.single-product div.product form.cart .variations label {
	font-size: .82rem;
	font-weight: 800;
	text-transform: uppercase;
}

.single-product div.product form.cart .variations select,
.single-product div.product form.cart .quantity .qty {
	border: 1px solid #918a80;
	border-radius: 3px;
	background: #fff;
}

.single-product div.product form.cart .variations select:focus,
.single-product div.product form.cart .quantity .qty:focus {
	border-color: var(--red);
	outline: 0;
	box-shadow: 0 0 0 2px rgba(182, 45, 30, .16);
}


.single-product div.product form.cart.variations_form {
	display: block;
}

.single-product div.product form.cart.variations_form .single_variation_wrap {
	margin-top: 1rem;
}

.single-product div.product form.cart.variations_form .single_variation:not(:empty) {
	margin-bottom: .75rem;
	padding: .75rem;
	border-left: 3px solid var(--red);
	background: #fff8f7;
}

.single-product div.product form.cart.variations_form .variations_button {
	display: grid;
	grid-template-columns: 5.25rem minmax(0, 1fr);
	align-items: stretch;
	gap: .75rem;
}

.single-product div.product form.cart.variations_form .quantity,
.single-product div.product form.cart.variations_form .quantity .qty,
.single-product div.product form.cart.variations_form .single_add_to_cart_button {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
}

.single-product div.product form.cart.variations_form .single_add_to_cart_button.disabled {
	cursor: not-allowed;
	opacity: .5;
}

@media (min-width: 50.01rem) {
	.single-product div.product {
		--moto22-product-column-gap: clamp(1.5rem, 2.5vw, 2rem);
	}

	.single-product div.product div.images,
	.single-product div.product div.summary {
		width: calc(50% - var(--moto22-product-column-gap) / 2);
	}
}

@media (max-width: 50rem) {
	.single-product div.product form.cart.variations_form .variations_button {
		grid-template-columns: 1fr;
	}
}
.single-product div.product .woocommerce-product-details__short-description,
.woocommerce div.product .woocommerce-tabs .panel {
	color: #4f4a43;
	line-height: 1.7;
}

@keyframes moto22-cart-confirmation {
	from { opacity: 0; transform: translateY(-.2rem); }
	to { opacity: 1; transform: none; }
}
@media(min-width:50.01rem){.wc-block-cart__sidebar{position:sticky!important;top:1.5rem}}
@media(max-width:50rem){.wc-block-cart__main,.wc-block-checkout__main{padding-right:0!important}.purchase-progress{min-height:4rem}.purchase-progress p{display:none}.purchase-progress{justify-content:center}.purchase-progress li{font-size:.7rem}.purchase-progress li:not(:last-child):after{width:1.25rem}.wc-block-cart__sidebar,.wc-block-checkout__sidebar{position:static!important;padding:1rem!important}.wc-block-components-checkout-step{padding:1rem!important}.checkout-reassurance{align-items:flex-start;flex-direction:column}.single-product div.product form.cart{align-items:stretch;flex-direction:column}.single-product div.product form.cart .quantity,.single-product div.product form.cart .quantity .qty,.single-product div.product form.cart .button{width:100%}.wc-block-components-button{min-height:3.35rem}}
@media(prefers-reduced-motion:reduce){.woocommerce ul.products li.product,.woocommerce div.product div.images,.woocommerce div.product div.summary,.woocommerce ul.products li.product .added_to_cart,.wc-block-cart,.wc-block-checkout{animation:none}.woocommerce ul.products li.product a img,.woocommerce ul.products li.product .added_to_cart::after,.woocommerce a.button,.woocommerce button.button,.wp-element-button,.wc-block-components-button{transition:none}.woocommerce ul.products li.product:hover a img{transform:none}.woocommerce ul.products li.product .added_to_cart:hover::after{transform:none}.is-processing:after{animation:none}}

/* Preserve centering when WooCommerce loads its block margin reset later. */
.woocommerce-cart .entry-content > .wp-block-woocommerce-cart,
.woocommerce-checkout .entry-content > .wp-block-woocommerce-checkout {
	width: calc(100% - 2.5rem);
	max-width: var(--content, 1180px);
	margin-inline: auto;
}

@media (max-width: 50rem) {
	.woocommerce-cart .entry-content > .wp-block-woocommerce-cart,
	.woocommerce-checkout .entry-content > .wp-block-woocommerce-checkout {
		width: calc(100% - 1.75rem);
	}
}

/* Align product panels with the tabs instead of the centered editorial column. */
.single-product div.product .woocommerce-tabs ul.tabs {
	margin-bottom: 0;
}
.single-product div.product .woocommerce-tabs .panel {
	width: 100%;
	max-width: none;
	margin: 0 0 2rem;
	padding: clamp(1rem, 2.5vw, 2rem);
	border: 1px solid var(--line);
	border-top: 0;
	background: #fff;
	color: #302d28;
	overflow-wrap: anywhere;
}
/* WooCommerce panels carry .entry-content, whose children have a 48rem cap. */
.single-product div.product .woocommerce-tabs .panel > * {
	max-width: none;
	margin-inline: 0;
}
.single-product div.product .woocommerce-tabs .panel > :first-child,
.single-product div.product .woocommerce-product-details__short-description > :first-child {
	margin-top: 0;
}
.single-product div.product .woocommerce-tabs .panel > :last-child,
.single-product div.product .woocommerce-product-details__short-description > :last-child {
	margin-bottom: 0;
}
.single-product div.product .woocommerce-product-details__short-description {
	padding: 1rem 1.25rem;
	border: 1px solid var(--line);
	border-radius: 3px;
	background: #f7f5f0;
	color: #302d28;
	overflow-wrap: anywhere;
}
.single-product div.product .woocommerce-tabs table.shop_attributes {
	width: 100%;
	margin-bottom: 0;
	border: 1px solid var(--line);
	border-collapse: collapse;
	table-layout: fixed;
}
.single-product div.product .woocommerce-tabs table.shop_attributes th,
.single-product div.product .woocommerce-tabs table.shop_attributes td {
	padding: .85rem 1rem;
	border: 0;
	border-bottom: 1px solid var(--line);
	background: #fff;
	color: #302d28;
	text-align: left;
	vertical-align: top;
	font-style: normal;
}
.single-product div.product .woocommerce-tabs table.shop_attributes th {
	width: 28%;
	background: #f1eee7;
}
.single-product div.product .woocommerce-tabs table.shop_attributes tr:nth-child(even) td {
	background: #f7f5f0;
}
.single-product div.product .woocommerce-tabs table.shop_attributes td p {
	margin: 0;
	padding: 0;
}
@media (max-width: 35rem) {
	.single-product div.product .woocommerce-tabs table.shop_attributes th {
		width: 38%;
	}
	.single-product div.product .woocommerce-tabs table.shop_attributes th,
	.single-product div.product .woocommerce-tabs table.shop_attributes td {
		padding: .65rem;
	}
}
