/* Schicht & Schnitt – WooCommerce (classic cart & checkout) in the theme look. */
.ss-wc{--wc-pad:22px}
.ss-wc .woocommerce{font-size:15.5px}
.ss-wc a{color:var(--ink)}
/* notices */
.ss-wc .woocommerce-notices-wrapper:empty{display:none}
.ss-wc .woocommerce-message,.ss-wc .woocommerce-info,.ss-wc .woocommerce-error,.ss-wc .wc-block-components-notice-banner{background:var(--surface);color:var(--ink);border:1.5px solid var(--ink);border-radius:var(--r);padding:14px 18px 14px 46px;margin:0 0 18px;list-style:none;box-shadow:3px 3px 0 var(--ink);position:relative;font-size:15px}
.ss-wc .woocommerce-message::before,.ss-wc .woocommerce-info::before,.ss-wc .woocommerce-error::before{position:absolute;left:16px;top:14px;color:var(--ink)}
.ss-wc .woocommerce-message{border-top:1.5px solid var(--ink)}
.ss-wc .woocommerce-error{background:#FFE1DC;color:#7A1407;border-color:#9E1D0C;box-shadow:3px 3px 0 #9E1D0C}
.ss-wc .woocommerce-error::before{color:#9E1D0C}
.ss-wc .woocommerce-message .button,.ss-wc .woocommerce-info .button{float:right;margin:-4px 0 0 12px}
/* buttons */
.ss-wc .button,.ss-wc button.button,.ss-wc a.button,.ss-wc input.button,.ss-wc #place_order,.ss-wc .checkout-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:700 15px/1 var(--f-body)!important;padding:14px 20px!important;border-radius:12px!important;border:2px solid var(--ink)!important;background:var(--surface)!important;color:var(--ink)!important;text-decoration:none;cursor:pointer;transition:transform .12s,box-shadow .12s;white-space:nowrap}
.ss-wc .button:hover{transform:translate(-2px,-2px);box-shadow:3px 3px 0 var(--ink)}
.ss-wc .button.alt,.ss-wc .checkout-button,.ss-wc #place_order{background:var(--yellow)!important;color:var(--on-yellow)!important}
.ss-wc .button:disabled,.ss-wc .button.disabled,.ss-wc .button:disabled[disabled]{opacity:.45;padding:14px 20px!important}
.ss-wc #place_order{width:100%;font-size:16.5px!important;padding:18px!important;margin-top:12px}
/* inputs */
.ss-wc input.input-text,.ss-wc textarea,.ss-wc select,.ss-wc .select2-container .select2-selection--single{font:400 16px/1.4 var(--f-body);padding:12px 14px;border:1.5px solid var(--line-2);border-radius:10px;background:var(--surface);color:var(--ink);width:100%;box-shadow:none;min-height:48px}
.ss-wc .select2-container .select2-selection--single{display:flex;align-items:center;padding:0 10px}
.ss-wc .select2-container--default .select2-selection--single .select2-selection__arrow{top:10px}
.ss-wc .select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--ink);line-height:1.4}
.ss-wc input.input-text:focus,.ss-wc textarea:focus,.ss-wc select:focus{outline:none;border-color:var(--ink);box-shadow:3px 3px 0 var(--yellow)}
.ss-wc .form-row{margin:0 0 14px;padding:0}
.ss-wc .form-row label{font-weight:700;font-size:14px;margin-bottom:6px;display:block;line-height:1.3}
.ss-wc .form-row .required{color:var(--laser);text-decoration:none}
.ss-wc .form-row.woocommerce-invalid input.input-text{border-color:#B42318}
.ss-wc .woocommerce-checkout .form-row-first,.ss-wc .woocommerce-checkout .form-row-last{width:calc(50% - 6px)}
@media (max-width:560px){.ss-wc .woocommerce-checkout .form-row-first,.ss-wc .woocommerce-checkout .form-row-last{width:100%;float:none}}
/* cart table */
.ss-wc table.shop_table{border:1.5px solid var(--ink)!important;border-radius:var(--r-lg)!important;background:var(--surface);border-collapse:separate!important;border-spacing:0;overflow:hidden;box-shadow:5px 5px 0 var(--ink);margin:0 0 24px}
.ss-wc table.shop_table th{font:600 12.5px/1.2 var(--f-mono)!important;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);padding:14px 16px!important;border:0!important;border-bottom:1px solid var(--line)!important}
.ss-wc table.shop_table td{padding:16px!important;border:0!important;border-top:1px solid var(--line)!important;vertical-align:middle}
.ss-wc table.shop_table tr:first-child td{border-top:0!important}
.ss-wc table.cart td.product-name>a,.ss-wc table.cart td.product-name{font-weight:700;font-size:16px}
.ss-wc table.cart dl.variation{margin:6px 0 0;font:500 12.5px/1.45 var(--f-mono);color:var(--muted);font-weight:500}
.ss-wc table.cart dl.variation dt{float:left;clear:left;margin-right:6px;font-weight:600}
.ss-wc table.cart dl.variation dd{margin:0}
.ss-wc table.cart dl.variation p{margin:0}
.ss-wc table.cart td.product-thumbnail img,.ss-wc .ss-wc-thumb{width:84px!important;height:84px;border-radius:12px;border:1.5px solid var(--line-2);background:var(--surface-2);object-fit:cover;display:grid;place-items:center;font:700 13px/1 var(--f-mono);color:var(--muted)}
.ss-wc table.cart td.product-price,.ss-wc table.cart td.product-subtotal{font-family:var(--f-mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.ss-wc table.cart td.product-subtotal{font-weight:700;font-size:16.5px}
.ss-wc table.cart td.product-remove a.remove{color:var(--muted)!important;border:1.5px solid var(--line-2);border-radius:9px;width:30px;height:30px;line-height:26px;font-size:20px;font-weight:400}
.ss-wc table.cart td.product-remove a.remove:hover{background:#FFE1DC!important;color:#9E1D0C!important;border-color:#9E1D0C}
.ss-wc .quantity .qty{width:72px;font:700 16px/1 var(--f-mono);text-align:center;padding:10px 6px;border:1.5px solid var(--ink);border-radius:10px;background:var(--surface);color:var(--ink)}
.ss-wc table.cart td.actions{background:var(--surface-2)}
.ss-wc table.cart td.actions .coupon{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ss-wc table.cart td.actions .coupon .input-text{width:200px!important;min-height:46px}
/* totals */
.ss-wc .cart-collaterals .cart_totals{width:100%;max-width:520px;float:right}
.ss-wc .cart_totals h2,.ss-wc #order_review_heading,.ss-wc .woocommerce-billing-fields h3,.ss-wc .woocommerce-shipping-fields h3,.ss-wc .woocommerce-additional-fields h3,.ss-wc .woocommerce-order-details__title,.ss-wc .woocommerce-column__title{font:850 24px/1.1 var(--f-display);font-stretch:115%;margin:0 0 14px}
.ss-wc .cart_totals table.shop_table th{width:44%;text-transform:none;letter-spacing:0;font:500 14.5px/1.3 var(--f-body)!important;color:var(--ink-2);background:transparent;border-bottom:0!important;border-top:1px dashed var(--line)!important}
.ss-wc .cart_totals table.shop_table td,.ss-wc .woocommerce-checkout-review-order-table td{font-family:var(--f-mono);font-variant-numeric:tabular-nums;border-top:1px dashed var(--line)!important}
.ss-wc .cart_totals tr:first-child th,.ss-wc .cart_totals tr:first-child td{border-top:0!important}
.ss-wc .order-total th,.ss-wc .order-total td{background:var(--surface-2)!important;border-top:1.5px solid var(--ink)!important}
.ss-wc .order-total .amount{font:900 30px/1 var(--f-display);font-stretch:115%}
.ss-wc .order-total .includes_tax{display:block;font:400 13px/1.4 var(--f-body);color:var(--muted);margin-top:6px}
.ss-wc .wc-proceed-to-checkout{padding:0}
.ss-wc .wc-proceed-to-checkout .checkout-button{width:100%;font-size:17px!important;padding:18px!important}
.ss-wc ul#shipping_method{margin:0;padding:0;list-style:none;font-family:var(--f-body)}
.ss-wc ul#shipping_method li{margin:0 0 6px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ss-wc .woocommerce-shipping-destination,.ss-wc .shipping-calculator-button{font:400 13px/1.4 var(--f-body);color:var(--muted)}
/* checkout layout */
.ss-wc form.checkout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:28px;align-items:start}
.ss-wc form.checkout>.woocommerce-NoticeGroup,.ss-wc form.checkout>.wc_coupon_message_wrap{grid-column:1/-1}
.ss-wc form.checkout #customer_details{grid-column:1;background:var(--surface);border:1.5px solid var(--ink);border-radius:var(--r-lg);padding:26px;box-shadow:5px 5px 0 var(--ink)}
.ss-wc form.checkout #customer_details .col-1,.ss-wc form.checkout #customer_details .col-2{width:100%;float:none;max-width:none}
.ss-wc form.checkout #customer_details .col-2{margin-top:10px}
.ss-wc form.checkout #order_review_heading{grid-column:2;grid-row:1;margin:0;align-self:end}
.ss-wc form.checkout #order_review{grid-column:2;position:sticky;top:96px}
.ss-wc form.checkout:has(.woocommerce-NoticeGroup) #order_review_heading{grid-row:2}
.ss-wc .woocommerce-checkout-review-order-table{margin-bottom:16px!important}
.ss-wc .woocommerce-checkout-review-order-table td.product-name{font-weight:700;font-family:var(--f-body)}
.ss-wc .woocommerce-checkout-review-order-table .product-quantity{font-family:var(--f-mono);font-weight:500}
.ss-wc .woocommerce-checkout-review-order-table dl.variation{font:500 12px/1.45 var(--f-mono);color:var(--muted);margin:4px 0 0;font-weight:500}
.ss-wc .woocommerce-checkout-review-order-table dl.variation dt{float:left;clear:left;margin-right:5px}
.ss-wc .woocommerce-checkout-review-order-table dl.variation dd,.ss-wc .woocommerce-checkout-review-order-table dl.variation p{margin:0}
.ss-wc #payment{background:var(--surface)!important;border:1.5px solid var(--ink);border-radius:var(--r-lg)!important;box-shadow:5px 5px 0 var(--ink)}
.ss-wc #payment ul.payment_methods{border-bottom:1px solid var(--line)!important;padding:18px 20px!important}
.ss-wc #payment ul.payment_methods li{font-weight:700;line-height:1.5}
.ss-wc #payment div.payment_box{background:var(--surface-2)!important;color:var(--ink-2)!important;border-radius:10px;font-weight:400;font-size:14px}
.ss-wc #payment div.payment_box::before{border-bottom-color:var(--surface-2)!important}
.ss-wc #payment div.form-row{padding:18px 20px!important}
.ss-wc .woocommerce-terms-and-conditions-wrapper{font-size:14px;color:var(--ink-2)}
.ss-wc .woocommerce-privacy-policy-text p{font-size:13px;color:var(--muted);margin:0 0 10px}
.ss-wc .woocommerce-form__label-for-checkbox{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important}
.ss-wc .woocommerce-form__label-for-checkbox input{margin-top:3px;width:18px;height:18px;accent-color:var(--ink)}
@media (max-width:980px){
  .ss-wc form.checkout{grid-template-columns:minmax(0,1fr)}
  .ss-wc form.checkout #order_review_heading,.ss-wc form.checkout #order_review{grid-column:1;grid-row:auto;position:static}
  .ss-wc .cart-collaterals .cart_totals{float:none;max-width:none}
}
/* mobile cart (WooCommerce turns the table into cards) */
@media (max-width:768px){
  .ss-wc table.shop_table_responsive tr{display:block;border-top:1px solid var(--line)}
  .ss-wc table.shop_table_responsive tr:first-child{border-top:0}
  .ss-wc table.shop_table_responsive tr td{border-top:0!important;padding:8px 16px!important}
  .ss-wc table.cart td.product-thumbnail{display:block!important;padding-top:16px!important}
  .ss-wc table.cart td.product-remove{padding-top:14px!important}
  .ss-wc table.cart td.actions .coupon .input-text{width:100%!important}
  .ss-wc table.cart td.actions .button{width:100%}
}
/* order received / account */
.ss-wc .woocommerce-order-overview{display:flex;flex-wrap:wrap;gap:0;padding:0;margin:0 0 26px;border:1.5px solid var(--ink);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}
.ss-wc .woocommerce-order-overview li{flex:1 1 180px;list-style:none;margin:0!important;padding:16px 18px!important;border-right:1px solid var(--line)!important;font:600 12px/1.3 var(--f-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.ss-wc .woocommerce-order-overview li strong{display:block;margin-top:6px;font:700 16px/1.3 var(--f-body);text-transform:none;letter-spacing:0;color:var(--ink)}
.ss-wc .woocommerce-thankyou-order-received{font:800 22px/1.25 var(--f-display);font-stretch:110%;margin:0 0 18px}
.ss-wc .woocommerce-customer-details address{border:1.5px solid var(--line-2)!important;border-radius:var(--r);padding:18px!important;background:var(--surface);font-style:normal}
.ss-wc .wc-bacs-bank-details-heading{font:850 22px/1.1 var(--f-display);margin:24px 0 10px}
.ss-wc .wc-bacs-bank-details{padding:0;list-style:none}
.ss-wc .cart-empty.woocommerce-info{font:800 20px/1.3 var(--f-display);padding-left:46px}
.ss-wc .return-to-shop .button{background:var(--yellow)!important}
.ss-wc .blockUI.blockOverlay{background:color-mix(in srgb,var(--bg) 70%,transparent)!important}
:root[data-theme="dark"] .ss-wc .woocommerce-error{background:#3A1712;color:#FFD4CC}
/* refinements */
.ss-wc .order-total .includes_tax .amount,.ss-wc .order-total small .amount{font:inherit;font-weight:600}
.ss-wc form.checkout #customer_details{grid-row:1 / span 2}
.ss-wc form.checkout #order_review_heading{align-self:start;margin:6px 0 0}
.ss-wc form.checkout #order_review{grid-row:2;align-self:start}
.ss-wc form.checkout:has(.woocommerce-NoticeGroup) #customer_details{grid-row:2 / span 2}
.ss-wc form.checkout:has(.woocommerce-NoticeGroup) #order_review{grid-row:3}
.ss-wc .woocommerce-checkout-review-order-table tfoot th{text-transform:none!important;letter-spacing:0!important;font:500 14px/1.3 var(--f-body)!important;color:var(--ink-2);background:transparent!important;border-top:1px dashed var(--line)!important;border-bottom:0!important}
.ss-wc .woocommerce-checkout-review-order-table tfoot td{font-family:var(--f-mono)}
.ss-wc .woocommerce-checkout-review-order-table .order-total .amount{font-size:26px}
.ss-wc #ship-to-different-address{font:700 15.5px/1.3 var(--f-body);margin:10px 0 14px}
.ss-wc #ship-to-different-address label{display:flex;gap:10px;align-items:center;font-weight:700}
.ss-wc .woocommerce-shipping-totals td{font-family:var(--f-body)!important}
.ss-wc .ss-wc-thumb{display:grid}
@media (max-width:980px){
  .ss-wc form.checkout #customer_details,.ss-wc form.checkout:has(.woocommerce-NoticeGroup) #customer_details{grid-row:auto}
  .ss-wc form.checkout #order_review,.ss-wc form.checkout:has(.woocommerce-NoticeGroup) #order_review{grid-row:auto}
}
.ss-wc .order-total .includes_tax .amount,.ss-wc .woocommerce-checkout-review-order-table .order-total .includes_tax .amount{font:600 13px/1.4 var(--f-body)!important}
@media (max-width:768px){
  .ss-wc table.cart td.product-thumbnail::before,.ss-wc table.cart td.product-remove::before{display:none!important}
  .ss-wc table.shop_table_responsive tr td::before{font:600 12px/1.3 var(--f-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
  .ss-wc table.cart td.product-name{text-align:left!important}
  .ss-wc table.cart td.product-name::before{display:none!important}
}
