/* ==========================================================================
   WD Woods: cart, checkout, notices, account (classic WooCommerce templates)
   ========================================================================== */

.wdw-woo { max-width: var(--wrap); }

/* notices */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner {
	margin: 0 0 22px !important; padding: 14px 18px 14px 52px !important;
	border: 0 !important; border-left: 5px solid var(--c-green) !important; border-radius: 8px;
	background: var(--c-card) !important; color: var(--c-ink) !important;
	font-size: 1.15rem; box-shadow: var(--shadow); list-style: none;
}
.woocommerce-info { border-left-color: var(--c-orange) !important; }
.woocommerce-error { border-left-color: var(--c-red) !important; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { top: 15px !important; left: 18px !important; color: inherit !important; }
.woocommerce-message .button, .woocommerce-info .button { float: right; }
.single-product .woocommerce-notices-wrapper,
.single-product .woocommerce-error,
.single-product .woocommerce-message,
.single-product .woocommerce-info { max-width: calc(var(--wrap) + var(--gutter) * 2); margin: 18px auto 0 !important; }

/* buttons */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt {
	font-family: var(--f-body); font-weight: 700; text-transform: uppercase; letter-spacing: .02em;
	font-size: 1.1rem; line-height: 1.1; padding: .65em 1.3em; border-radius: 6px;
	background: var(--c-green); color: #fff; box-shadow: 0 2px 0 rgba(0,0,0,.15);
}
.woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--c-green-d); color: #fff; }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce .checkout-button, #place_order {
	background: var(--c-orange) !important; color: #fff !important;
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, #place_order:hover { background: var(--c-orange-d) !important; }
.woocommerce button.button:disabled, .woocommerce button.button:disabled[disabled] { background: #b8ad95; color: #fff; padding: .65em 1.3em; opacity: .7; }

/* tables */
.woocommerce table.shop_table { border: 2px solid var(--c-line); border-radius: 10px; background: var(--c-card); border-collapse: separate; font-size: 1.15rem; box-shadow: var(--shadow); }
.woocommerce table.shop_table th { font-weight: 700; text-transform: uppercase; color: var(--c-green); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-top-color: #e2d6bb; padding: 12px 14px; }
.woocommerce table.shop_table .product-name a { font-weight: 700; color: var(--c-ink); text-decoration: none; font-size: 1.25rem; }
.woocommerce table.shop_table .product-name a:hover { color: var(--c-orange); }
.woocommerce table.cart img { width: 72px; border-radius: 6px; }
.woocommerce table.shop_table dl.variation { font-size: 1rem; color: var(--c-ink-soft); margin: 4px 0 0; }
.woocommerce table.shop_table dl.variation dt { font-weight: 700; }
.woocommerce a.remove { color: var(--c-red) !important; font-size: 1.6rem; }
.woocommerce a.remove:hover { background: var(--c-red); color: #fff !important; }
.woocommerce .quantity .qty { width: 4.2em; padding: 6px 4px; border: 1px solid #b9a77f; border-radius: 6px; font-size: 1.1rem; text-align: center; }
.woocommerce table.cart td.actions .coupon .input-text { width: 160px; padding: 9px 12px; border: 1px solid #b9a77f; border-radius: 6px; font-size: 1rem; }

/* cart layout */
.woocommerce-cart .cart-collaterals { margin-top: 26px; }
.woocommerce-cart .cart-collaterals .cart_totals { float: right; width: min(480px, 100%); }
.cart_totals h2, .woocommerce-checkout h3, .wdw-order-summary h2, .woocommerce-order-details__title, .woocommerce-column__title {
	font-family: var(--f-display); font-weight: 400; text-transform: uppercase;
	font-size: 2rem; color: var(--c-green); margin: 0 0 12px;
}
.cart_totals .shop_table th { width: 40%; }
.woocommerce-shipping-methods { margin: 0 !important; }
.woocommerce-shipping-methods li { margin: 0 0 8px !important; line-height: 1.25; text-indent: 0 !important; }
.woocommerce-shipping-methods li input { accent-color: var(--c-green); margin-right: 6px !important; }
.woocommerce-shipping-methods li label { font-weight: 600; }
.woocommerce-shipping-destination, .woocommerce-shipping-calculator { font-size: 1rem; }
.woocommerce-shipping-calculator .shipping-calculator-button { color: var(--c-rust); }
.fee th, .fee td { color: var(--c-ink); }
.order-total th, .order-total td { font-family: var(--f-display); font-weight: 400 !important; font-size: 1.8rem; color: var(--c-green); text-transform: uppercase; }
.order-total td strong { font-weight: 400; }
.wc-proceed-to-checkout .checkout-button { display: block; text-align: center; font-size: 1.6rem !important; padding: .6em 1em !important; }
.cart-empty.woocommerce-info { font-size: 1.4rem; }
.return-to-shop .button { background: var(--c-orange) !important; }

/* checkout layout */
/* rows: [notices] [heading] [review: 1fr], billing/delivery spans the last two so the review sits beside it */
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: 1.1fr .9fr; grid-template-rows: auto auto 1fr; gap: 0 36px; align-items: start; }
.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; grid-row: 1; }
.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 2 / span 2; }
.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 2; margin-top: 0; }
.woocommerce-checkout #order_review { grid-column: 2; grid-row: 3; position: sticky; top: 20px; }
.woocommerce-checkout .col2-set { width: 100%; }
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { float: none; width: 100%; }
.woocommerce-checkout .col2-set .col-2 { margin-top: 18px; }
.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields, .wdw-military {
	background: var(--c-card); border: 2px solid var(--c-line); border-radius: 10px; padding: 18px 22px; box-shadow: var(--shadow);
}
.woocommerce-shipping-fields:empty { display: none; }
#ship-to-different-address { font-family: var(--f-display); font-weight: 400; text-transform: uppercase; font-size: 2rem; color: var(--c-green); }
#ship-to-different-address label { pointer-events: none; }
#ship-to-different-address input { display: none; }
#ship-to-different-address span::before, #ship-to-different-address span::after { display: none !important; }
.woocommerce form .form-row { margin-bottom: 10px; padding: 0; }
.woocommerce form .form-row label { font-weight: 600; font-size: 1.05rem; line-height: 1.3; }
.woocommerce form .form-row .input-text, .woocommerce form .form-row select, .select2-container .select2-selection--single {
	padding: 9px 12px; border: 1px solid #b9a77f; border-radius: 8px; background: #fff; font-size: 1.1rem; min-height: 44px;
}
.select2-container .select2-selection--single .select2-selection__rendered { line-height: 24px; padding: 0; }
.select2-container .select2-selection--single .select2-selection__arrow { top: 9px; }
.woocommerce form .form-row .input-text:focus, .woocommerce form .form-row select:focus { border-color: var(--c-green); outline: 2px solid rgba(44,90,37,.25); }
.woocommerce form .form-row.woocommerce-invalid .input-text { border-color: var(--c-red); }
.woocommerce form .form-row .required { color: var(--c-red); text-decoration: none; }
.wdw-military { margin-top: 14px; border-color: #c8b98c; background: #f3efdc; box-shadow: none; padding: 14px 16px; }
.wdw-military__label { display: flex; gap: 14px; align-items: flex-start; cursor: pointer; font-size: 1.1rem; line-height: 1.25; }
.wdw-military__label input { width: 24px; height: 24px; margin-top: 3px; accent-color: var(--c-green); flex: none; }
.wdw-military__label strong { text-transform: uppercase; color: var(--c-green); font-size: 1.25rem; }
#order_review .shop_table { margin-bottom: 18px; }
.woocommerce-checkout-payment { background: var(--c-card) !important; border: 2px solid var(--c-line); border-radius: 10px !important; }
.woocommerce-checkout #payment div.payment_box { background: #efe6cf; color: var(--c-ink); font-size: 1rem; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #efe6cf; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom-color: var(--c-line); }
.woocommerce-checkout #payment ul.payment_methods li { font-size: 1.15rem; }
#place_order { width: 100%; font-size: 1.6rem !important; padding: .6em 1em !important; }
.woocommerce-terms-and-conditions-wrapper { font-size: 1rem; }

/* thank you / order details */
.woocommerce-order-overview { display: flex; flex-wrap: wrap; gap: 10px 30px; padding: 16px 20px !important; background: var(--c-card); border: 2px solid var(--c-line); border-radius: 10px; }
.woocommerce-order-overview li { border: 0 !important; margin: 0 !important; padding: 0 !important; font-size: .95rem !important; text-transform: uppercase; }
.woocommerce-order-overview li strong { font-size: 1.25rem !important; text-transform: none; }
.woocommerce-thankyou-order-received { font-size: 1.5rem; font-weight: 600; color: var(--c-green); }
.wdw-order-summary { margin: 26px 0; }

@media (max-width: 900px) {
	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
	.woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 1; grid-row: auto; position: static; }
	.woocommerce-checkout #order_review_heading { margin-top: 26px; }
	.woocommerce-cart .cart-collaterals .cart_totals { float: none; width: 100%; }
}
