/* Kit bag (theme 1.0.55): add to kit bag states, the kit bag page and the checkout. Square, flat, ruled; lime only for the main action and live values. */

/* ---------- Add to kit bag buttons on listings ---------- */
.woocommerce ul.products li.product .button{position:relative;gap:10px;transition:background .25s,color .25s,box-shadow .25s}
.woocommerce ul.products li.product .button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:square}
.woocommerce ul.products li.product .button.added::after,.woocommerce a.button.added::after{display:none!important}
.woocommerce ul.products li.product a.added_to_cart{display:none!important}
.woocommerce ul.products li.product .button.pc-kb-busy{color:transparent!important;pointer-events:none}
.woocommerce ul.products li.product .button.pc-kb-busy::before{content:'';position:absolute;inset:50% auto auto 50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid #101c2b;border-right-color:transparent;border-radius:50%;animation:pc-kb-spin .7s linear infinite}
.woocommerce ul.products li.product .button.pc-kb-added{background:#101c2b!important;color:#d7f53b!important;animation:pc-kb-pop .45s cubic-bezier(.16,1,.3,1)}
.woocommerce ul.products li.product .button.pc-kb-inbag{background:#fff!important;color:#101c2b!important;box-shadow:inset 0 0 0 1px #101c2b}
.woocommerce ul.products li.product .button.pc-kb-inbag:hover{background:#101c2b!important;color:#fff!important}
.woocommerce ul.products li.product .button.pc-kb-inbag svg{transition:transform .2s}
.woocommerce ul.products li.product .button.pc-kb-inbag:hover svg{transform:translateX(3px)}
@keyframes pc-kb-spin{to{transform:rotate(360deg)}}
@keyframes pc-kb-pop{0%{transform:scale(.96)}60%{transform:scale(1.03)}100%{transform:none}}

/* ---------- Kit bag page ---------- */
.woocommerce-cart .page-main h1{margin-bottom:28px}
.woocommerce-cart .page-content>.woocommerce{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,400px);gap:24px 56px;align-items:start}
.woocommerce-cart .page-content>.woocommerce>.woocommerce-notices-wrapper,.woocommerce-cart .page-content>.woocommerce>.woocommerce-message,.woocommerce-cart .page-content>.woocommerce>.woocommerce-info,.woocommerce-cart .page-content>.woocommerce>.woocommerce-error,.woocommerce-cart .page-content>.woocommerce>.cart-empty,.woocommerce-cart .page-content>.woocommerce>.return-to-shop,.woocommerce-cart .page-content>.woocommerce>.wc-empty-cart-message{grid-column:1/-1}
.woocommerce-cart .woocommerce-cart-form{grid-column:1;min-width:0;margin:0}
.woocommerce-cart .cart-collaterals{grid-column:2;grid-row:span 3;width:auto!important;position:sticky;top:110px}
.woocommerce-cart .cart-collaterals .cross-sells{display:none}
.woocommerce-cart table.shop_table.cart{display:block;border:0;margin:0;border-top:2px solid #101c2b;background:transparent}
.woocommerce-cart table.shop_table.cart thead{display:none}
.woocommerce-cart table.shop_table.cart tbody{display:block}
.woocommerce-cart table.shop_table.cart tr.cart_item{display:grid;grid-template-columns:112px minmax(0,1fr) auto 112px 40px;grid-template-areas:"img name qty sub rm" "img price qty sub rm";column-gap:22px;align-items:center;padding:20px 0;border-bottom:1px solid #d9dcd8}
.woocommerce-cart table.shop_table.cart td{display:block;border:0!important;padding:0!important;background:none!important;text-align:left!important}
.woocommerce-cart table.shop_table.cart td::before{display:none!important}
.woocommerce-cart table.shop_table.cart td.product-thumbnail{grid-area:img}
.woocommerce-cart table.shop_table.cart td.product-thumbnail a,.woocommerce-cart table.shop_table.cart td.product-thumbnail>img{display:block}
.woocommerce-cart table.shop_table.cart td.product-thumbnail img{width:112px!important;max-width:none;height:112px;object-fit:contain;padding:8px;background:#edf1e9}
.woocommerce-cart table.shop_table.cart td.product-name{grid-area:name;align-self:end;font:700 italic 22px/1.12 'Barlow Court',sans-serif;letter-spacing:-.01em}
.woocommerce-cart table.shop_table.cart td.product-name a{color:#101c2b;text-decoration:none}
.woocommerce-cart table.shop_table.cart td.product-name a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.woocommerce-cart table.shop_table.cart td.product-name dl.variation,.woocommerce-cart table.shop_table.cart td.product-name .backorder_notification{font:400 13px/1.5 Manrope,sans-serif;color:#586372;margin:6px 0 0}
.woocommerce-cart table.shop_table.cart td.product-price{grid-area:price;align-self:start;margin-top:6px!important;font-size:13px;color:#586372}
.woocommerce-cart table.shop_table.cart td.product-price::after{content:' each'}
.woocommerce-cart table.shop_table.cart td.product-quantity{grid-area:qty}
.woocommerce-cart table.shop_table.cart td.product-subtotal{grid-area:sub;text-align:right!important;font:700 italic 24px/1 'Barlow Court',sans-serif;font-variant-numeric:tabular-nums}
.woocommerce-cart table.shop_table.cart td.product-remove{grid-area:rm;justify-self:end}
.woocommerce-cart table.shop_table.cart a.remove{position:relative;display:block;width:36px;height:36px;border-radius:0;font-size:0!important;color:transparent!important;background:transparent;border:1px solid #d9dcd8;transition:border-color .18s,background .18s}
.woocommerce-cart table.shop_table.cart a.remove::before,.woocommerce-cart table.shop_table.cart a.remove::after{content:'';position:absolute;left:50%;top:50%;width:14px;height:2px;background:#101c2b;transform:translate(-50%,-50%) rotate(45deg)}
.woocommerce-cart table.shop_table.cart a.remove::after{transform:translate(-50%,-50%) rotate(-45deg)}
.woocommerce-cart table.shop_table.cart a.remove:hover{background:#101c2b;border-color:#101c2b}
.woocommerce-cart table.shop_table.cart a.remove:hover::before,.woocommerce-cart table.shop_table.cart a.remove:hover::after{background:#fff}
.woocommerce-cart table.shop_table.cart a.remove:focus-visible{outline:3px solid #537bdb;outline-offset:2px}
/* Quantity stepper */
.woocommerce-cart .quantity{display:inline-flex;align-items:stretch;border:1px solid #91a0ac;background:#fff;height:46px}
.woocommerce-cart .quantity input.qty{width:46px!important;height:100%;min-height:0!important;border:0!important;padding:0!important;text-align:center;font:700 italic 20px/1 'Barlow Court',sans-serif;font-variant-numeric:tabular-nums;color:#101c2b;background:#fff;-moz-appearance:textfield}
.woocommerce-cart .quantity input.qty::-webkit-inner-spin-button,.woocommerce-cart .quantity input.qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.pc-kb-minus,.pc-kb-plus{position:relative;width:40px;border:0;background:#fff;cursor:pointer;transition:background .18s}
.pc-kb-minus:hover,.pc-kb-plus:hover{background:#ecefe4}
.pc-kb-minus::before,.pc-kb-plus::before,.pc-kb-plus::after{content:'';position:absolute;left:50%;top:50%;width:12px;height:2px;background:#101c2b;transform:translate(-50%,-50%)}
.pc-kb-plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.pc-kb-minus:focus-visible,.pc-kb-plus:focus-visible{outline:3px solid #537bdb;outline-offset:-3px}
.woocommerce-cart-form.pc-kb-updating{opacity:.55;pointer-events:none;transition:opacity .2s}
/* Coupon row: the update button is not needed once quantities update themselves */
.woocommerce-cart table.shop_table.cart tbody>tr:not(.cart_item){display:block}
.woocommerce-cart table.shop_table.cart td.actions{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:22px 0 0!important}
.woocommerce-cart table.shop_table.cart td.actions .coupon{display:flex;gap:8px;flex:1 1 320px;max-width:440px}
.woocommerce-cart table.shop_table.cart td.actions .coupon .input-text{flex:1;width:auto!important;min-height:48px;padding:12px 14px!important;border:1px solid #91a0ac!important;font-size:14px;margin:0!important}
.woocommerce-cart table.shop_table.cart td.actions .coupon .button{min-height:48px;padding:12px 18px;background:transparent!important;color:#101c2b!important;box-shadow:inset 0 0 0 1px #101c2b;margin:0!important}
.woocommerce-cart table.shop_table.cart td.actions .coupon .button:hover{background:#101c2b!important;color:#fff!important}
.woocommerce-cart table.shop_table.cart td.actions>.button[name=update_cart]{min-height:48px;padding:12px 18px;background:#101c2b!important;color:#fff!important;opacity:1}
.woocommerce-cart table.shop_table.cart td.actions>.button[name=update_cart]:disabled{background:#e4e6e3!important;color:#586372!important}
.pc-kb-auto td.actions{position:relative}.pc-kb-auto td.actions>.button[name=update_cart]{position:absolute!important;left:0;top:0;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);padding:0!important;min-height:0!important}
/* Totals panel */
.woocommerce-cart .cart_totals{width:auto!important;float:none!important;background:#fff;border-top:2px solid #101c2b;padding:22px 24px 24px}
.woocommerce-cart .cart_totals h2{font:700 italic 30px/1 'Barlow Court',sans-serif;margin:0 0 16px}
.woocommerce-cart .cart_totals table.shop_table{border:0;margin:0 0 18px;border-collapse:collapse}
.woocommerce-cart .cart_totals table.shop_table th,.woocommerce-cart .cart_totals table.shop_table td{border:0;border-top:1px solid #d9dcd8;padding:12px 0!important;background:none!important;font-size:14px;vertical-align:top}
.woocommerce-cart .cart_totals table.shop_table th{font-weight:750;width:38%;color:#586372}
.woocommerce-cart .cart_totals table.shop_table td{text-align:right}
.woocommerce-cart .cart_totals table.shop_table td::before{display:none}
.woocommerce-cart .cart_totals .woocommerce-shipping-destination,.woocommerce-cart .cart_totals .shipping-calculator-button{font-size:12px;color:#586372}
.woocommerce-cart .cart_totals .shipping-calculator-button::after{display:none}
.woocommerce-cart .cart_totals .woocommerce-shipping-destination,.woocommerce-cart .cart_totals .woocommerce-shipping-calculator{display:none!important}
.woocommerce-cart .cart_totals ul#shipping_method{margin:0;padding:0;list-style:none}
.woocommerce-cart .cart_totals ul#shipping_method li{margin:0;font-weight:650}
.woocommerce-cart .cart_totals .order-total td{font:700 italic 30px/1 'Barlow Court',sans-serif;font-variant-numeric:tabular-nums;color:#101c2b}
.woocommerce-cart .cart_totals .order-total th{padding-top:16px!important;color:#101c2b!important}
.woocommerce-cart .wc-proceed-to-checkout{padding:0!important}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{display:flex!important;align-items:center;justify-content:center;gap:14px;min-height:58px;margin:0!important;background:#d7f53b!important;color:#101c2b!important;font:800 15px Manrope,sans-serif!important;border-radius:0!important;transition:background .18s}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{background:#e5f77e!important}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus-visible{outline:3px solid #537bdb;outline-offset:3px}
/* Free delivery progress */
.pc-kb-free{margin:0 0 16px;padding:0 0 16px;border-bottom:1px solid #d9dcd8}
.pc-kb-free p{margin:0 0 9px!important;font-size:13px;font-weight:700;color:#101c2b}
.pc-kb-bar{display:block;height:6px;background:#e4e6e3;overflow:hidden}
.pc-kb-bar span{display:block;height:100%;background:#101c2b;transition:width .6s cubic-bezier(.16,1,.3,1)}
.pc-kb-free.is-done .pc-kb-bar span{background:#d7f53b}
/* Empty kit bag */
.woocommerce-cart .cart-empty.woocommerce-info{background:#fff;border-top:2px solid #101c2b;padding:24px 26px;font:700 italic 26px/1.1 'Barlow Court',sans-serif}
.woocommerce-cart .cart-empty.woocommerce-info::before{display:none}
.woocommerce-cart .return-to-shop .button{min-height:52px;padding:15px 23px;background:#d7f53b!important;color:#101c2b!important}

/* ---------- Checkout ---------- */
.woocommerce-checkout .page-main h1{margin-bottom:26px}
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{background:transparent;border:0;border-top:1px solid #d9dcd8;padding:12px 0!important;margin:0!important;font:600 13px/1.5 Manrope,sans-serif;color:#586372}
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before,.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before{display:none}
.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info a,.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a{color:#101c2b;font-weight:750;text-decoration:underline;text-underline-offset:3px}
.woocommerce-checkout .woocommerce-form-coupon-toggle{margin-bottom:22px}
.woocommerce-checkout form.checkout_coupon,.woocommerce-checkout form.woocommerce-form-login{border:0!important;border-top:2px solid #101c2b!important;border-radius:0!important;background:#fff;padding:20px 22px!important;margin:0 0 22px!important}
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,430px);gap:0 56px;align-items:start}
.woocommerce-checkout form.checkout>*{grid-column:1}
.woocommerce-checkout form.checkout>#order_review_heading{display:none}
.woocommerce-checkout form.checkout>#order_review{grid-column:2;grid-row:1 / span 8;background:#fff;border-top:2px solid #101c2b;padding:22px 24px 24px;position:sticky;top:110px}
.woocommerce-checkout form.checkout>#order_review::before{content:"Your order";display:block;margin:0 0 12px;font:700 italic 28px/1 'Barlow Court',sans-serif;letter-spacing:-.01em;color:#101c2b}
.woocommerce-checkout #customer_details{display:grid;grid-template-columns:1fr;gap:26px}
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{width:auto!important;float:none!important;max-width:none}
.woocommerce-checkout #customer_details h3,.woocommerce-checkout #order_review_heading{font:700 italic 28px/1 'Barlow Court',sans-serif;letter-spacing:-.01em;margin:0 0 16px;color:#101c2b}
.woocommerce-checkout .woocommerce-billing-fields,.woocommerce-checkout .woocommerce-shipping-fields,.woocommerce-checkout .woocommerce-additional-fields{background:#fff;border-top:2px solid #101c2b;padding:22px 24px 10px}
.woocommerce-checkout #ship-to-different-address{font-size:20px!important}
.woocommerce-checkout #ship-to-different-address label{display:flex;align-items:center;gap:10px;cursor:pointer}
.woocommerce-checkout #ship-to-different-address input{width:18px;height:18px;accent-color:#101c2b;margin:0}
.woocommerce-checkout .form-row label{font-size:12px!important;font-weight:750;color:#101c2b;margin-bottom:6px}
.woocommerce-checkout .form-row .required{color:#586372;text-decoration:none}
.woocommerce-checkout .form-row input.input-text,.woocommerce-checkout .form-row textarea,.woocommerce-checkout .form-row select,.woocommerce-checkout .select2-container .select2-selection--single{min-height:48px;border:1px solid #91a0ac!important;border-radius:0!important;background:#fff;padding:12px 14px!important;font-size:15px;color:#101c2b;transition:border-color .18s,box-shadow .18s}
.woocommerce-checkout .form-row input.input-text:focus,.woocommerce-checkout .form-row textarea:focus{outline:0;border-color:#101c2b!important;box-shadow:inset 0 -4px 0 #d7f53b}
.woocommerce-checkout .form-row.woocommerce-invalid input.input-text{border-color:#b3261e!important}
.woocommerce-checkout .form-row textarea{min-height:96px}
/* Order summary */
.woocommerce-checkout table.woocommerce-checkout-review-order-table{border:0;margin:0 0 20px;border-collapse:collapse}
.woocommerce-checkout table.woocommerce-checkout-review-order-table thead{display:none}
.woocommerce-checkout table.woocommerce-checkout-review-order-table th,.woocommerce-checkout table.woocommerce-checkout-review-order-table td{border:0;border-top:1px solid #d9dcd8;padding:12px 0!important;background:none!important;font-size:14px;vertical-align:middle}
.woocommerce-checkout table.woocommerce-checkout-review-order-table td:last-child,.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot td{text-align:right}
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.pc-kb-free-row td{border-top:0;padding:10px 0 0!important}
.woocommerce-checkout table.woocommerce-checkout-review-order-table .pc-kb-free{margin:0;padding:0 0 12px;border:0}
.pc-kb-line{display:flex;align-items:center;gap:12px}
.pc-kb-line img.pc-kb-thumb{width:56px!important;height:56px;object-fit:contain;padding:4px;background:#edf1e9;flex-shrink:0;margin:0!important}
.woocommerce-checkout td.product-name{font-weight:650}
.woocommerce-checkout td.product-name .product-quantity{font-weight:800;color:#586372;margin-left:4px}
.woocommerce-checkout td.product-total{font:700 italic 20px/1 'Barlow Court',sans-serif;font-variant-numeric:tabular-nums}
.woocommerce-checkout tfoot th{font-weight:750;color:#586372;text-align:left}
.woocommerce-checkout tfoot .order-total td,.woocommerce-checkout tfoot .order-total th{color:#101c2b;padding-top:16px!important}
.woocommerce-checkout tfoot .order-total td{font:700 italic 32px/1 'Barlow Court',sans-serif!important;font-variant-numeric:tabular-nums}
.woocommerce-checkout ul#shipping_method{margin:0;padding:0;list-style:none}
/* Payment */
.woocommerce-checkout #payment{background:transparent!important;border-radius:0!important}
.woocommerce-checkout #payment ul.payment_methods{padding:0 0 14px!important;border:0!important}
.woocommerce-checkout #payment ul.payment_methods li{list-style:none}
.woocommerce-checkout #payment ul.payment_methods li>label{font-weight:750;font-size:14px}
.woocommerce-checkout #payment div.payment_box{background:#f5f3ed!important;border-radius:0!important;padding:16px!important;margin:10px 0 0!important;color:#101c2b}
.woocommerce-checkout #payment div.payment_box::before{display:none!important}
.woocommerce-checkout #payment ul.payment_methods li,.woocommerce-checkout #payment div.payment_box,.woocommerce-checkout #payment div.payment_box fieldset,.woocommerce-checkout #payment .wc-upe-form,.woocommerce-checkout #payment .wc-stripe-upe-element{display:block;width:100%;max-width:none;box-sizing:border-box}
.woocommerce-checkout #payment div.form-row.place-order{padding:0!important;margin:0}
.woocommerce-checkout .woocommerce-privacy-policy-text p,.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{font-size:12px;line-height:1.55;color:#586372}
.woocommerce-checkout .woocommerce-privacy-policy-text a{color:#101c2b;text-decoration:underline}
.woocommerce-checkout #place_order{float:none!important;width:100%;min-height:58px;margin-top:14px;background:#d7f53b!important;color:#101c2b!important;font:800 16px Manrope,sans-serif!important;border-radius:0!important;transition:background .18s}
.woocommerce-checkout #place_order:hover{background:#e5f77e!important}
.woocommerce-checkout #place_order:focus-visible{outline:3px solid #537bdb;outline-offset:3px}

/* ---------- Phones and tablets ---------- */
@media (max-width:980px){
  .woocommerce-cart .page-content>.woocommerce{grid-template-columns:1fr}
  .woocommerce-cart .cart-collaterals{grid-column:1;grid-row:auto;position:static}
  .woocommerce-checkout form.checkout{grid-template-columns:1fr}
  .woocommerce-checkout form.checkout>#order_review{grid-column:1;grid-row:auto;position:static;margin-top:26px}
}
@media (max-width:620px){
  .woocommerce-cart table.shop_table.cart tr.cart_item{grid-template-columns:84px minmax(0,1fr) auto;grid-template-areas:"img name rm" "img price price" "qty qty sub";column-gap:14px;row-gap:10px;padding:16px 0}
  .woocommerce-cart table.shop_table.cart td.product-thumbnail img{width:84px!important;height:84px;padding:6px}
  .woocommerce-cart table.shop_table.cart td.product-name{font-size:19px;align-self:start}
  .woocommerce-cart table.shop_table.cart td.product-subtotal{align-self:center;font-size:22px}
  .woocommerce-cart table.shop_table.cart td.actions .coupon{max-width:none}
  .woocommerce-cart .cart_totals{padding:20px 18px 20px}
  .woocommerce-cart .cart_totals table.shop_table tr{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #d9dcd8}
  .woocommerce-cart .cart_totals table.shop_table th{display:none}
  .woocommerce-cart .cart_totals table.shop_table td{display:block;border:0;flex:1}
  .woocommerce-cart .cart_totals table.shop_table td::before{display:block!important;content:attr(data-title);float:left;font-weight:750;color:#586372;margin-right:12px}
  .woocommerce-cart .cart_totals .order-total td::before{color:#101c2b;font:750 14px Manrope,sans-serif;margin-top:8px}
  .woocommerce-checkout #customer_details .form-row-first,.woocommerce-checkout #customer_details .form-row-last{width:100%!important;float:none!important}
  .woocommerce-checkout .woocommerce-billing-fields,.woocommerce-checkout .woocommerce-shipping-fields,.woocommerce-checkout .woocommerce-additional-fields,.woocommerce-checkout form.checkout>#order_review_heading,.woocommerce-checkout form.checkout>#order_review{padding-left:18px;padding-right:18px}
}
@media (prefers-reduced-motion:reduce){.woocommerce ul.products li.product .button.pc-kb-added{animation:none}.pc-kb-bar span{transition:none}}
.woocommerce-checkout td.product-name{display:flex;align-items:center;gap:6px}.woocommerce-checkout td.product-name .pc-kb-line{flex:0 1 auto;min-width:0}.woocommerce-checkout td.product-name .product-quantity{white-space:nowrap}
