/* Cart, checkout, thank-you. Styles WooCommerce's classic markup with our tokens. */
.fd-shoppage h1{font-size:var(--fs-2xl);margin:0 0 var(--sp-4)}
.woocommerce-notices-wrapper{margin-bottom:var(--sp-3)}
.woocommerce-error,.woocommerce-message,.woocommerce-info{list-style:none;margin:0 0 var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);font-size:var(--fs-sm);background:var(--fd-info-bg);color:var(--fd-info)}
.woocommerce-error{background:var(--fd-danger-bg);color:var(--fd-danger)}.woocommerce-message{background:var(--fd-success-bg);color:var(--fd-success)}
.woocommerce-error li{margin:2px 0}.woocommerce-message .button,.woocommerce-info .button{float:right;margin-left:var(--sp-3)}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #place_order,.woocommerce .checkout-button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--tap);padding:0 var(--sp-4);border-radius:var(--r-md);border:1px solid var(--fd-border);background:var(--fd-surface);color:var(--fd-text-strong);font:600 var(--fs-sm) var(--fd-font);text-decoration:none;cursor:pointer}
.woocommerce #place_order,.woocommerce .checkout-button,.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--fd-primary);border-color:var(--fd-primary);color:var(--fd-on-primary)}
.woocommerce #place_order:hover,.woocommerce .checkout-button:hover{background:var(--fd-primary-hover)}
.woocommerce #place_order,.woocommerce .checkout-button{width:100%;min-height:50px;font-size:var(--fs-md)}
table.shop_table{width:100%;border-collapse:collapse;background:var(--fd-surface);border:1px solid var(--fd-border);border-radius:var(--r-lg);overflow:hidden;font-size:var(--fs-sm)}
table.shop_table th,table.shop_table td{padding:var(--sp-3) var(--sp-4);text-align:left;border-top:1px solid var(--fd-border)}
table.shop_table thead th{background:var(--fd-surface-2);color:var(--fd-text-muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;border-top:0}
table.shop_table td.product-name a{color:var(--fd-text-strong);font-weight:600;text-decoration:none}
table.shop_table .amount{color:var(--fd-text-strong);font-weight:600}
.shop_table .product-thumbnail{display:none}
td.product-quantity .quantity{display:inline-flex}td.product-quantity input.qty{width:46px;border:0;background:transparent;text-align:center;font:700 var(--fs-md) var(--fd-font);color:var(--fd-text-strong);-moz-appearance:textfield}td.product-quantity input.qty::-webkit-outer-spin-button,td.product-quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.woocommerce button[name=update_cart][disabled],.woocommerce button[name=update_cart][aria-disabled=true]{opacity:.5;cursor:not-allowed}
a.remove{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--fd-surface-2);color:var(--fd-text-muted)!important;text-decoration:none;font-size:20px;line-height:1}a.remove:hover{background:var(--fd-danger-bg);color:var(--fd-danger)!important}
.woocommerce td.actions{background:var(--fd-surface)}.woocommerce td.actions .coupon{display:flex;gap:var(--sp-2);flex-wrap:wrap;align-items:center}
.woocommerce td.actions input.input-text{min-height:var(--tap);padding:0 var(--sp-3);border:1px solid var(--fd-border);border-radius:var(--r-md);background:var(--fd-surface);color:var(--fd-text)}
.woocommerce td.actions button[name=update_cart]{float:right}
/* Cart layout */
.woocommerce-cart .woocommerce{display:grid;grid-template-columns:1fr 340px;gap:var(--sp-5);align-items:start}
.woocommerce-cart .woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}
.cart_totals{background:var(--fd-surface);border:1px solid var(--fd-border);border-radius:var(--r-lg);padding:var(--sp-4)}.cart_totals h2{font-size:var(--fs-lg);margin:0 0 var(--sp-3)}
.cart_totals table.shop_table{border:0;border-radius:0}.wc-proceed-to-checkout{margin-top:var(--sp-3)}
.cart-empty{text-align:center;padding:var(--sp-6) var(--sp-4);background:var(--fd-surface);border:1px solid var(--fd-border);border-radius:var(--r-lg)}.return-to-shop{text-align:center;margin-top:var(--sp-3)}
/* Checkout layout */
form.checkout{display:grid;grid-template-columns:1fr 380px;grid-template-areas:"cust head" "cust rev";column-gap:var(--sp-5);align-items:start}
form.checkout #customer_details{grid-area:cust;background:var(--fd-surface);border:1px solid var(--fd-border);border-radius:var(--r-lg);padding:var(--sp-4)}
form.checkout #order_review_heading{grid-area:head;font-size:var(--fs-lg);margin:0 0 var(--sp-3)}
form.checkout #order_review{grid-area:rev}
.woocommerce-billing-fields h3{font-size:var(--fs-lg);margin:0 0 var(--sp-3)}
.woocommerce form .form-row{margin:0 0 var(--sp-4);padding:0}.woocommerce form .form-row label{display:block;font:600 var(--fs-sm) var(--fd-font);color:var(--fd-text-strong);margin-bottom:var(--sp-1)}
.woocommerce form .form-row .required{color:var(--fd-danger);text-decoration:none}.woocommerce form .form-row .optional{color:var(--fd-text-muted);font-weight:400}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row select,.woocommerce form .form-row textarea{width:100%;min-height:var(--tap);padding:10px var(--sp-3);border:1px solid var(--fd-border);border-radius:var(--r-md);background:var(--fd-surface);color:var(--fd-text);font:var(--fs-md) var(--fd-font)}
.woocommerce form .form-row input.input-text:focus{border-color:var(--fd-primary);outline:3px solid var(--fd-primary-soft)}
.woocommerce form .form-row.woocommerce-invalid input.input-text{border-color:var(--fd-danger)}
.fd-hidden,.woocommerce form .form-row.fd-hidden{display:none}
#payment{background:var(--fd-surface);border:1px solid var(--fd-border);border-radius:var(--r-lg);padding:var(--sp-4);margin-top:var(--sp-3)}
#payment ul.payment_methods{list-style:none;margin:0 0 var(--sp-3);padding:0}#payment ul.payment_methods li{padding:var(--sp-2) 0}#payment ul.payment_methods label{font-weight:600;color:var(--fd-text-strong)}
#payment .payment_box{margin:var(--sp-2) 0 0;padding:var(--sp-3);background:var(--fd-surface-2);border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--fd-text-muted)}
.woocommerce-terms-and-conditions-wrapper{margin-bottom:var(--sp-3);font-size:var(--fs-sm);color:var(--fd-text-muted)}.woocommerce-privacy-policy-text p{margin:0 0 var(--sp-2)}
.woocommerce-form__label-for-checkbox{display:flex;gap:8px;align-items:flex-start}.woocommerce-form__label-for-checkbox input{margin-top:4px;width:18px;height:18px}
#order_review table.shop_table td,#order_review table.shop_table th{padding:var(--sp-3)}
/* Thank you */
.woocommerce-order{max-width:760px}
.woocommerce-notice--success{font-size:var(--fs-lg);font-weight:700;color:var(--fd-success);background:var(--fd-success-bg);padding:var(--sp-4);border-radius:var(--r-md);margin:0 0 var(--sp-4)}
ul.order_details{list-style:none;margin:0 0 var(--sp-4);padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-3)}
ul.order_details li{background:var(--fd-surface);border:1px solid var(--fd-border);border-radius:var(--r-md);padding:var(--sp-3);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--fd-text-muted)}ul.order_details li strong{display:block;overflow-wrap:anywhere;margin-top:2px;font-size:var(--fs-md);text-transform:none;letter-spacing:0;color:var(--fd-text-strong)}
.woocommerce-order-details h2,.woocommerce-customer-details h2{font-size:var(--fs-lg);margin:var(--sp-5) 0 var(--sp-3)}
.woocommerce-customer-details address{font-style:normal;background:var(--fd-surface);border:1px solid var(--fd-border);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4)}
.fd-ty{display:grid;gap:var(--sp-3);margin:0 0 var(--sp-4)}.fd-ty p{margin:0}.fd-ty__book{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center;justify-content:space-between}.fd-ty__book p{margin:2px 0 0}.fd-ty__btns{display:flex;gap:var(--sp-2);flex-wrap:wrap}
@media (max-width:820px){
 .woocommerce-cart .woocommerce{grid-template-columns:1fr}
 form.checkout{grid-template-columns:1fr;grid-template-areas:"cust" "head" "rev"}
 table.shop_table.cart thead{display:none}table.shop_table.cart tr.cart_item{display:grid;grid-template-columns:1fr auto;gap:2px var(--sp-3);padding:var(--sp-3);border-top:1px solid var(--fd-border)}
 table.shop_table.cart td{border:0;padding:2px 0}table.shop_table.cart td.product-remove{grid-row:1/3;grid-column:2;align-self:center}table.shop_table.cart td.product-subtotal{grid-column:1}
 table.shop_table.cart td::before{content:none!important}
}
/* Coupon messages */
p.coupon-error-notice{flex-basis:100%;margin:var(--sp-2) 0 0;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);background:var(--fd-danger-bg);color:var(--fd-danger);font-weight:600;font-size:var(--fs-sm)}
.woocommerce td.actions .coupon{align-items:flex-start}.woocommerce input.input-text.has-error{border-color:var(--fd-danger)!important}
.woocommerce-form-coupon-toggle .woocommerce-info,.woocommerce-form-coupon{margin-bottom:var(--sp-3)}
form.checkout_coupon{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:flex-start;background:var(--fd-surface);border:1px solid var(--fd-border);border-radius:var(--r-lg);padding:var(--sp-4);margin:0 0 var(--sp-4)}
form.checkout_coupon p{margin:0}form.checkout_coupon p:first-child{flex-basis:100%;color:var(--fd-text-muted);font-size:var(--fs-sm)}form.checkout_coupon .form-row-first{flex:1;min-width:180px}form.checkout_coupon .clear{display:none}
