/* Cart, checkout and account: native WooCommerce markup, styled to the Concrete Atelier system. Totals and order review are ink slabs. */
.page--shop{padding-bottom:clamp(56px,7vw,112px)}
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-NoticeGroup .woocommerce-error{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin:0 0 24px;padding:16px 20px;border:0;border-left:12px solid var(--cobalt);background:var(--paper);color:var(--ink);list-style:none}
.woocommerce-error{border-left-color:var(--error);display:grid}
.woocommerce-message .button{margin-left:auto;min-height:40px;padding:10px 20px}

/* cart */
.woocommerce-cart-form table.shop_table,table.shop_table{width:100%;border-collapse:collapse}
table.shop_table th{padding:12px 8px;font:600  12px/14px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--quiet);text-align:left;border-bottom:var(--rule) solid var(--ink)}
table.shop_table td{padding:20px 8px;border-bottom:var(--sep) solid var(--stone);vertical-align:middle}
.woocommerce-cart-form .product-remove a{display:grid;place-items:center;width:36px;height:36px;font-size:20px;color:var(--quiet)}
.woocommerce-cart-form .product-remove a:hover{color:var(--cobalt)}
.woocommerce-cart-form .product-thumbnail{width:96px}
.woocommerce-cart-form .product-name{width:100%}
.woocommerce-cart-form .product-remove{width:48px}
.page--shop .prose ul{list-style:none;padding-left:0}
.woocommerce-cart-form .product-thumbnail img{width:80px;aspect-ratio:3/4;object-fit:cover;background:var(--plate);mix-blend-mode:multiply}
.woocommerce-cart-form .product-name a{font:400 14px/20px var(--display)}
.woocommerce-cart-form .product-name dl.variation{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin-top:6px;font-size:12px;color:var(--quiet);text-transform:uppercase;letter-spacing:.06em}
.woocommerce-cart-form .product-name dl.variation p{margin:0}
.woocommerce-cart-form .product-price,.woocommerce-cart-form .product-subtotal{font-family:var(--mono);font-weight:500;font-size:14px;font-variant-numeric:tabular-nums}
.woocommerce-cart-form .quantity input.qty{width:72px;min-height:44px;text-align:center;border:var(--hair) solid var(--mute);padding:0;font-family:var(--mono)}
.woocommerce-cart-form .quantity input.qty:focus{border-color:var(--cobalt)}
.woocommerce-cart-form .actions{display:flex;gap:15px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:20px 0}
.woocommerce-cart-form .coupon{display:flex;gap:10px;align-items:center}
.woocommerce-cart-form .coupon input{width:200px}
.cart-collaterals{display:flex;justify-content:flex-end;margin-top:32px}
.cart_totals{width:min(460px,100%);padding:28px;background:var(--ink);color:var(--paper)}
.cart_totals h2{font:600  12px/14px var(--mono);letter-spacing:.2em;text-transform:uppercase;margin-bottom:16px;color:var(--paper)}
.cart_totals table th{color:#B8B8B8;border-bottom-color:#333333;font-weight:400;letter-spacing:0;text-transform:none;font-size:13px;font-family:var(--display)}
.cart_totals table td{border-bottom-color:#333333;color:var(--paper)}
.cart_totals .order-total td,.cart_totals .order-total th{font:500 20px/28px var(--mono);color:var(--paper);border-bottom-color:#333333}
.cart_totals .wc-proceed-to-checkout{padding-top:20px}
/* the .woocommerce a.button.alt ghost rule in theme.css outranks a plain .cart_totals selector and left this button ink on ink */
.cart_totals .checkout-button,.woocommerce .cart_totals a.button.alt.checkout-button{width:100%;background:var(--paper);border-color:var(--paper);color:var(--ink)}
.cart_totals .checkout-button:hover,.woocommerce .cart_totals a.button.alt.checkout-button:hover{background:var(--cobalt);border-color:var(--cobalt);color:var(--paper)}
.woocommerce-shipping-methods{list-style:none}
.woocommerce-shipping-methods li{display:flex;gap:10px;align-items:center}

/* checkout */
form.checkout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:0 20px;align-items:start}
form.checkout #customer_details{grid-column:1;grid-row:1/span 3}
form.checkout #order_review_heading{grid-column:2;grid-row:1;font:600  12px/14px var(--mono);letter-spacing:.2em;text-transform:uppercase;margin-bottom:16px;color:var(--ink)}
form.checkout #order_review{grid-column:2;grid-row:2;background:var(--ink);color:var(--paper);padding:28px}
form.checkout .woocommerce-NoticeGroup{grid-column:1/-1}
#customer_details .col-1,#customer_details .col-2{float:none;width:100%}
#customer_details h3{font:700 1.5rem/1.1 var(--display);font-stretch:115%;text-transform:uppercase;margin:0 0 20px}
#customer_details .col-2{margin-top:40px}
.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-additional-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}
.form-row{display:flex;flex-direction:column;gap:2px;margin:0 0 14px;float:none!important;width:auto!important}
.form-row-wide,.form-row.notes,#billing_address_1_field,#shipping_address_1_field{grid-column:1/-1}
.form-row label{font:600  12px/14px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.form-row .required{color:var(--cobalt);text-decoration:none}
.select2-container .select2-selection--single{height:44px;border:0;border-bottom:var(--hair) solid var(--mute);background:transparent}
.select2-container--default .select2-selection--single .select2-selection__rendered{padding-left:0;line-height:44px}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:44px}
.select2-dropdown{border:var(--rule) solid var(--ink);background:var(--paper)}
#order_review table.shop_table th{color:#B8B8B8;border-bottom-color:#333333}
#order_review table.shop_table td{border-bottom-color:#333333;color:var(--paper)}
#order_review .product-name{font-family:var(--display)}
#order_review .order-total .amount{font:500 20px/26px var(--mono)}
#payment{margin-top:24px}
#payment ul.payment_methods{border-bottom:1px solid #333333;padding:0 0 16px}
#payment ul.payment_methods li{padding:10px 0;display:flex;flex-wrap:wrap;gap:10px 10px;align-items:center;color:var(--paper)}
#payment .payment_box{flex-basis:100%;padding:12px;background:#1B1B1B;color:#B8B8B8;font-size:13px}
#payment .place-order{padding-top:20px}
#place_order{width:100%;min-height:54px;background:var(--paper);border-color:var(--paper);color:var(--ink)}
#place_order:hover{background:var(--cobalt);border-color:var(--cobalt);color:var(--paper)}
.woocommerce-privacy-policy-text{font-size:12px;color:#B8B8B8;margin-bottom:16px}
.woocommerce-form-coupon-toggle .woocommerce-info{margin-bottom:16px}
form.checkout_coupon{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:32px;padding:20px;border:var(--hair) solid var(--mute);background:var(--paper)}

/* account and login */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:start}
.woocommerce-MyAccount-navigation ul{border-top:var(--sep) solid var(--stone)}
.woocommerce-MyAccount-navigation a{display:block;padding:14px 0;border-bottom:var(--sep) solid var(--stone);font:500  12px/16px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.woocommerce-MyAccount-navigation a:hover{color:var(--cobalt)}
.woocommerce-MyAccount-navigation .is-active a{color:var(--ink);font-weight:700}
.woocommerce-MyAccount-content p{margin-bottom:1em}
.woocommerce-MyAccount-content a:not(.button){text-decoration:underline;text-underline-offset:3px}
.woocommerce-orders-table .button{min-height:36px;padding:8px 16px}
.u-columns.col2-set{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.u-columns .col-1,.u-columns .col-2{float:none;width:100%}
.woocommerce-form-login,.woocommerce-form-register{padding:32px;border:var(--hair) solid var(--mute);background:var(--paper)}
.woocommerce-form-login h2,.u-column2>h2,.u-column1>h2{font:700 1.6rem/1.1 var(--display);font-stretch:115%;text-transform:uppercase;margin-bottom:20px}
.woocommerce-LostPassword a{text-decoration:underline;text-underline-offset:3px;font-size:12px}
.woocommerce-order-overview{display:flex;flex-wrap:wrap;gap:20px 20px;padding:24px 0;border-block:var(--sep) solid var(--stone);list-style:none;margin:24px 0}
.woocommerce-order-overview li{font:600  12px/14px var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--quiet)}
.woocommerce-order-overview li strong{display:block;margin-top:4px;font:500 16px/1.2 var(--mono);letter-spacing:0;text-transform:none;color:var(--ink)}
.thanks{display:grid;justify-items:center;gap:10px;text-align:center;padding:40px 0}
.thanks__mark{display:grid;place-items:center;width:64px;height:64px;border:var(--hair) solid var(--mute)}
.thanks h2{font:700 2rem/1 var(--display);font-stretch:118%;text-transform:uppercase}
.thanks p{color:var(--mute)}

@media (max-width:1180px){
  form.checkout{grid-template-columns:1fr}
  form.checkout #customer_details,form.checkout #order_review_heading,form.checkout #order_review{grid-column:1;grid-row:auto}
  form.checkout #order_review_heading{margin-top:40px}
  .woocommerce-account .woocommerce{grid-template-columns:1fr}
}
@media (max-width:760px){
  .woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.u-columns.col2-set{grid-template-columns:1fr}
  table.shop_table.cart thead{display:none}
  table.shop_table.cart tr.cart_item{display:grid;grid-template-columns:96px 1fr auto;gap:4px 10px;padding:16px 0;border-bottom:var(--hair) solid var(--mute)}
  table.shop_table.cart td{border:0;padding:4px 0;display:block}
  .woocommerce-cart-form .product-thumbnail{grid-row:1/span 3}
  .cart_totals{padding:20px}
}
