/* WooCommerce pieces in Theme D. Tokens come from site.css (:root). */
.kent-wc{padding:6px 0 30px;font-size:15px}
.kent-wc a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}

/* notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,p.no-comments{
  background:#fff!important;border:1px solid var(--line)!important;border-left:4px solid var(--ink)!important;
  border-radius:var(--r);color:var(--ink)!important;padding:15px 18px 15px 48px!important;margin:14px 0!important;font-size:14.5px;list-style:none}
.woocommerce-message{border-left-color:var(--wa)!important}
.woocommerce-error{border-left-color:var(--red)!important}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{color:inherit!important;top:15px!important;left:18px!important}
.woocommerce-message .button,.woocommerce-info .button{float:right;margin-left:12px}

/* buttons */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,
.woocommerce-page .kent-wc .button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--ink)!important;color:#fff!important;border:1.5px solid var(--ink)!important;
  border-radius:99px!important;font:600 15px/1.2 'IBM Plex Sans',system-ui,sans-serif!important;
  padding:14px 24px!important;min-height:50px;text-decoration:none!important;transition:.18s;box-shadow:none!important}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:#332E28!important}
.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled]{opacity:.45!important;padding:14px 24px!important}
.woocommerce #place_order,.woocommerce a.checkout-button{width:100%;font-size:16px!important;min-height:56px}
.woocommerce button[name=update_cart],.woocommerce button[name=apply_coupon]{background:#fff!important;color:var(--ink)!important;border-color:#D6CFC5!important}

/* tables */
.woocommerce table.shop_table{border:1px solid var(--line)!important;border-radius:var(--r)!important;border-collapse:separate!important;background:#fff;margin:0 0 24px!important}
.woocommerce table.shop_table th{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mid);font-weight:500;padding:14px 16px!important}
.woocommerce table.shop_table td{border-top:1px solid var(--line)!important;padding:16px!important;vertical-align:middle}
.woocommerce table.shop_table .product-thumbnail img{width:84px!important;height:84px;object-fit:cover;border-radius:10px;background:var(--soft)}
.woocommerce table.shop_table .product-name a{font-family:Archivo,sans-serif;font-weight:600;text-decoration:none!important}
.woocommerce table.shop_table .amount{font-weight:600}
.woocommerce a.remove{color:var(--mid)!important;font-weight:400}
.woocommerce a.remove:hover{background:var(--red)!important;color:#fff!important}
.woocommerce .quantity .qty{width:70px;min-height:44px;border:1.5px solid var(--line);border-radius:10px;font:inherit;font-size:16px;text-align:center}
.woocommerce .coupon .input-text{min-height:50px;border:1.5px solid var(--line)!important;border-radius:99px!important;padding:0 18px!important;width:180px!important}

/* cart totals */
.woocommerce .cart-collaterals .cart_totals,.woocommerce-page .cart-collaterals .cart_totals{
  background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;float:right;width:100%;max-width:440px}
.woocommerce .cart_totals h2{font-size:19px;margin:0 0 12px}
.woocommerce .cart_totals table.shop_table{border:0!important;margin:0!important}
.woocommerce .cart_totals table.shop_table th,.woocommerce .cart_totals table.shop_table td{padding:10px 0!important;background:none!important}
.woocommerce .cart_totals .order-total .amount{font-size:19px}
.kent-note{font-size:13px;color:var(--mid);line-height:1.6;margin:12px 0 0}

/* forms */
.woocommerce form .form-row{padding:0!important;margin:0 0 14px!important}
.woocommerce form .form-row label{display:block;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mid);margin-bottom:6px;line-height:1.5}
.woocommerce form .form-row .required{color:var(--red);text-decoration:none}
.woocommerce form .form-row .input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.woocommerce form .form-row .select2-selection{
  width:100%;font:inherit;font-size:16px!important;padding:13px 14px!important;border:1.5px solid var(--line)!important;
  border-radius:10px!important;background:#fff;color:var(--ink);box-shadow:none;min-height:50px;line-height:1.4}
.woocommerce form .form-row textarea{min-height:96px}
.woocommerce form .form-row .input-text:focus,.woocommerce form .form-row textarea:focus{outline:none;border-color:var(--ink)!important}
.woocommerce form .form-row.woocommerce-invalid .input-text{border-color:var(--red)!important}
.woocommerce form .form-row .woocommerce-input-wrapper strong{font-weight:600;font-size:16px}
.woocommerce-checkout h3,#order_review_heading{font-family:Archivo,sans-serif;font-size:22px;letter-spacing:-.02em;margin:0 0 14px}

/* checkout layout: details left, order right */
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{float:none!important;width:100%!important}
@media (min-width:900px){
  form.woocommerce-checkout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:0 40px;align-items:start}
  form.woocommerce-checkout>*{grid-column:1/-1}
  form.woocommerce-checkout #customer_details{grid-column:1;grid-row:2/span 2}
  form.woocommerce-checkout #order_review_heading{grid-column:2;grid-row:2}
  form.woocommerce-checkout #order_review{grid-column:2;grid-row:3;position:sticky;top:110px}
}
#order_review{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px}
#order_review table.shop_table{border:0!important;margin:0 0 10px!important}
#order_review table.shop_table th,#order_review table.shop_table td{padding:10px 0!important}

/* payment methods */
.woocommerce-checkout #payment{background:none!important;border-radius:0}
.woocommerce-checkout #payment ul.payment_methods{border:0!important;padding:0!important;margin:0 0 6px!important}
.woocommerce-checkout #payment ul.payment_methods li{border:1.5px solid var(--line);border-radius:10px;padding:14px!important;margin:0 0 10px!important;list-style:none;background:#fff}
.woocommerce-checkout #payment ul.payment_methods li label{font-weight:600;font-size:15px;cursor:pointer}
.woocommerce-checkout #payment ul.payment_methods li input{margin-right:8px;accent-color:var(--ink)}
.woocommerce-checkout #payment div.payment_box{background:var(--soft)!important;color:#453E38!important;border-radius:10px!important;font-size:13.5px;margin:10px 0 0!important;padding:12px 14px!important}
.woocommerce-checkout #payment div.payment_box::before{display:none!important}
.woocommerce-checkout #payment div.form-row{padding:6px 0 0!important}
.woocommerce-terms-and-conditions-wrapper{font-size:13.5px;color:var(--mid)}

/* thank-you page */
.kent-wa-box{background:#fff;border:1.5px solid var(--wa);border-radius:var(--r);padding:24px;margin:0 0 26px}
.kent-wa-box h2{font-size:24px;margin:10px 0 8px}
.kent-wa-box p{color:#453E38;margin:0 0 16px;font-size:15.5px;line-height:1.6}
.kent-wa-box .btn{width:100%;max-width:420px}
.woocommerce ul.order_details{display:flex;flex-wrap:wrap;gap:0;padding:0;margin:0 0 24px;border:1px solid var(--line);border-radius:var(--r);background:#fff;overflow:hidden}
.woocommerce ul.order_details li{flex:1 1 160px;border:0!important;border-right:1px solid var(--line)!important;padding:14px 16px!important;margin:0!important;font-family:'IBM Plex Mono',monospace;font-size:10px!important;letter-spacing:.1em;text-transform:uppercase;color:var(--mid)}
.woocommerce ul.order_details li strong{display:block;font-family:'IBM Plex Sans',sans-serif;font-size:15px;letter-spacing:0;text-transform:none;color:var(--ink);margin-top:6px}
.woocommerce-order h2,.woocommerce-order-details__title,.woocommerce-column__title{font-size:20px;margin:26px 0 12px}
.woocommerce-bacs-bank-details{background:var(--soft);border-radius:var(--r);padding:18px;margin:0 0 20px}
.woocommerce-bacs-bank-details ul{list-style:none;padding:0}
.woocommerce-customer-details address{border:1px solid var(--line)!important;border-radius:var(--r);padding:16px!important;font-style:normal}

/* empty cart */
.cart-empty.woocommerce-info{text-align:center;padding:30px 18px!important;border-left-width:1px!important}
.cart-empty.woocommerce-info::before{display:none}
.return-to-shop{text-align:center;margin-top:16px}

/* small screens */
@media (max-width:768px){
  .woocommerce table.shop_table_responsive tr td::before{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mid);font-weight:500}
  .woocommerce .coupon .input-text{width:100%!important;margin-bottom:10px}
  .woocommerce .cart-collaterals .cart_totals{max-width:none;float:none}
}

.woocommerce form .form-row.kent-hide{display:none!important}
.kent-wc a.btn,.kent-wc a.button{text-decoration:none!important}
.woocommerce-checkout h3#order_review_heading{margin-top:8px}
