/* TrikeDirect shared chrome: utility bar, header and footer on every page.
   The front page loads this first, then home.css on top of it. */

:root{
  --paper:#F2F1EC;
  --surface:#FBFAF7;
  --ink:#14181A;
  --muted:#59615E;
  --line:#D8D5CB;
  --accent:#CF4718;
  --accent-ink:#FFF7F1;
  --steel:#17252C;
  --steel-ink:#EAEDE8;
  --steel-muted:#9FB0B4;
  --f-display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --f-body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Consolas,monospace;
}

.wrap{
  max-width:1240px;
  margin-inline:auto;
  padding-left:max(20px,env(safe-area-inset-left,0px));
  padding-right:max(20px,env(safe-area-inset-right,0px));
}

/* The theme's own header and footer are replaced by the ones below. */
#masthead,#colophon{display:none!important}

/* ---------- utility bar ---------- */
.utility{background:var(--steel);color:var(--steel-ink)}
.utility .wrap{
  display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;
  padding-block:8px;font:500 11px/1.4 var(--f-mono);
  letter-spacing:.1em;text-transform:uppercase;
}
.utility .u-right{color:var(--steel-muted)}
.utility .u-right b{color:var(--steel-ink);font-weight:500}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:env(safe-area-inset-top,0px);z-index:20;
  background:var(--paper);border-bottom:1px solid var(--line);
}
.site-header .wrap{display:flex;align-items:center;gap:28px;padding-block:14px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.brand-mark{
  width:26px;height:26px;background:var(--accent);flex:none;
  clip-path:polygon(0 0,100% 0,100% 62%,50% 100%,0 62%);
}
.brand-name{
  font:700 24px/1 var(--f-display);text-transform:uppercase;letter-spacing:.06em;
}
.nav{display:flex;align-items:center;gap:26px;margin-left:8px;flex-wrap:wrap}
.nav a{
  text-decoration:none;font:500 12.5px/1 var(--f-body);
  text-transform:uppercase;letter-spacing:.09em;padding-block:6px;
  border-bottom:1px solid transparent;
}
.nav a:hover{border-bottom-color:var(--accent)}
.header-tools{margin-left:auto;display:flex;align-items:center;gap:18px;flex:none}
.menu-toggle{
  display:none;align-items:center;justify-content:center;
  width:38px;height:38px;padding:0;cursor:pointer;
  border:1px solid var(--line);background:var(--surface);color:var(--ink);
  font:400 15px/1 var(--f-mono);
}
.qty-badge{
  border:1px solid var(--line);background:var(--surface);
  padding:8px 12px;font:500 12px/1 var(--f-mono);
  display:inline-flex;gap:8px;align-items:center;text-decoration:none;
}
.qty-badge .n{color:var(--accent);font-weight:500}

/* ---------- archive headings + intro copy ---------- */
.woocommerce-products-header__title.page-title{
  font:700 clamp(27px,3.2vw,40px)/1.05 var(--f-display);
  text-transform:uppercase;letter-spacing:.015em;color:var(--ink);margin:0 0 20px;
}
.td-cat-intro{max-width:820px;margin:0 0 32px;color:var(--muted)}
.td-cat-intro h2{
  font:600 14px/1.4 var(--f-body);
  text-transform:uppercase;letter-spacing:.09em;color:var(--ink);margin:0 0 12px;
}
.td-cat-intro p{font-size:15px;line-height:1.7;margin:0 0 12px}
.td-cat-intro p:last-child{margin-bottom:0}

/* ---------- content pages ---------- */
.td-page{max-width:820px;font-size:15px;line-height:1.65;color:var(--ink)}
.td-page h2{
  font:600 clamp(24px,2.6vw,32px)/1.05 var(--f-display);
  text-transform:uppercase;letter-spacing:.015em;margin:44px 0 12px;color:var(--ink);
  padding-bottom:10px;border-bottom:1px solid var(--line);
}
.td-page h2:first-child{margin-top:0}
.td-page h3{font:600 14px/1.3 var(--f-body);margin:26px 0 8px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink)}
.td-page p,.td-page li{font-size:15px;line-height:1.7;color:var(--muted)}
.td-page strong{color:var(--ink);font-weight:600}
.td-page ul,.td-page ol{padding-left:20px;margin:0 0 16px}
.td-page li{padding-block:4px}
.td-page .td-lede{font-size:16px;color:var(--ink);margin:0 0 8px}
.td-page details{border-top:1px solid var(--line);margin:0}
.td-page details:last-of-type{border-bottom:1px solid var(--line)}
.td-page summary{
  cursor:pointer;list-style:none;padding:18px 34px 18px 0;position:relative;
  font:600 15.5px/1.4 var(--f-body);color:var(--ink);
}
.td-page summary::-webkit-details-marker{display:none}
.td-page summary::after{
  content:"+";position:absolute;right:4px;top:16px;font:400 20px/1 var(--f-mono);color:var(--accent);
}
.td-page details[open] summary::after{content:"–"}
.td-page details p{margin:0;padding:0 34px 20px 0}

/* ---------- add-to-cart popup (mini cart) ---------- */
body.td-modal-open{overflow:hidden}
.td-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px}
.td-modal[hidden]{display:none}
.td-modal__backdrop{position:absolute;inset:0;background:rgba(20,24,26,.62)}
.td-modal__panel{
  position:relative;width:100%;max-width:780px;background:var(--surface);
  border:1px solid var(--line);box-shadow:0 30px 80px rgba(0,0,0,.4);
  display:grid;grid-template-columns:minmax(0,1fr) 268px;grid-template-rows:auto 1fr auto auto;
}
.td-modal--in .td-modal__panel{animation:td-modal-in .22s ease-out}
.td-modal--in .td-modal__backdrop{animation:td-backdrop-in .18s ease-out}
@keyframes td-modal-in{
  from{opacity:0;transform:translateY(12px) scale(.985)}
  to{opacity:1;transform:none}
}
@keyframes td-backdrop-in{
  from{opacity:0}
  to{opacity:1}
}
@media (prefers-reduced-motion:reduce){
  .td-modal--in .td-modal__panel,
  .td-modal--in .td-modal__backdrop{animation:none}
}

/* header — reads as a cart, not a notification */
.td-modal__head{
  grid-column:1/-1;grid-row:1;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  background:var(--steel);color:var(--steel-ink);padding:14px 18px;
}
.td-modal__kicker{
  display:inline-flex;align-items:center;gap:10px;
  font:500 11px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;
}
.td-modal__kicker svg{width:17px;height:17px;flex:none;color:var(--accent)}
.td-modal .td-modal__close{
  background:transparent!important;border:0!important;box-shadow:none!important;
  color:var(--steel-ink)!important;cursor:pointer;
  font:400 22px/1 var(--f-mono);padding:2px 6px;opacity:.7;
}
.td-modal .td-modal__close:hover{opacity:1;color:var(--accent)!important}

/* line item — left half of the rectangle */
.td-modal__item{
  grid-column:1;grid-row:2;
  display:flex;gap:20px;align-items:center;
  padding:24px 22px;border-right:1px solid var(--line);
}
.td-modal__img{
  width:108px;height:108px;flex:none;padding:6px;object-fit:contain;
  background:#fff;border:1px solid var(--line);
}
.td-modal__img[hidden]{display:none}
.td-modal__info{min-width:0;flex:1}
.td-modal__name{
  font:600 15.5px/1.4 var(--f-body);margin:0 0 10px;color:var(--ink);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.td-modal__price{
  font:600 24px/1 var(--f-display);letter-spacing:.02em;margin:0;color:var(--ink);
  font-variant-numeric:tabular-nums;
}
.td-modal__price[hidden]{display:none}

/* totals — right half of the rectangle */
.td-modal__summary{
  grid-column:2;grid-row:2;
  display:flex;flex-direction:column;justify-content:center;
  padding:24px 22px;background:var(--paper);
}
.td-modal__count{
  font:500 10px/1.4 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);margin:0 0 14px;
}
.td-modal__count:empty{display:none}
.td-modal__total{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.td-modal__total span{font:500 11px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.td-modal__total strong{font:600 30px/1 var(--f-display);letter-spacing:.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.td-modal__ship{
  margin:14px 0 0;font:500 9.5px/1.4 var(--f-mono);letter-spacing:.1em;
  text-transform:uppercase;color:var(--accent);
}

/* actions, side by side across the bottom */
.td-modal__actions{
  grid-column:1/-1;grid-row:3;
  display:flex;flex-direction:row;gap:10px;
  padding:16px 22px 14px;border-top:1px solid var(--line);
}
.td-modal__btn{
  flex:1;display:block;text-align:center;text-decoration:none;padding:14px 16px;
  font:600 12px/1 var(--f-body);text-transform:uppercase;letter-spacing:.08em;
  border:1px solid transparent;transition:background .15s ease,color .15s ease;
}
.td-modal__btn--primary{background:var(--accent);color:var(--accent-ink)}
.td-modal__btn--primary:hover{background:var(--ink);color:var(--paper)}
.td-modal__btn--ghost{background:#1E7B4F;border-color:#1E7B4F;color:#fff}
.td-modal__btn--ghost:hover{background:#17643F;border-color:#17643F;color:#fff}
.td-modal__continue{
  grid-column:1/-1;grid-row:4;
  display:block;width:auto;padding:0 22px 16px;
  background:none;border:0;cursor:pointer;text-align:center;
  font:500 10.5px/1 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);
}
.td-modal__continue:hover{color:var(--ink)}

/* phone: fold back into a single column */
@media (max-width:700px){
  .td-modal__panel{grid-template-columns:1fr;max-width:430px;grid-template-rows:auto auto auto auto auto}
  .td-modal__item{grid-column:1;grid-row:2;padding:18px 16px;gap:14px;border-right:0;border-bottom:1px solid var(--line)}
  .td-modal__img{width:78px;height:78px}
  .td-modal__summary{grid-column:1;grid-row:3;padding:16px;border-bottom:1px solid var(--line)}
  .td-modal__actions{grid-row:4;flex-direction:column;gap:8px;padding:14px 16px}
  .td-modal__continue{grid-row:5;padding:0 16px 14px}
  .td-modal__total strong{font-size:26px}
}
@media (max-width:480px){
  .td-modal{padding:12px}
  .td-modal__img{width:68px;height:68px}
  .td-modal__btn{padding:13px 12px;font-size:11px}
}

/* ---------- footer ---------- */
.site-footer{background:var(--steel);color:var(--steel-ink);padding-block:48px 28px;margin-top:0}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.foot-brand .brand-name{color:var(--steel-ink)}
.foot-brand p{color:var(--steel-muted);font-size:13.5px;line-height:1.6;margin:14px 0 0;max-width:32ch}
.foot-col h4{font:500 10px/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--steel-muted);margin:0 0 14px}
.foot-col a{display:block;text-decoration:none;font-size:13.5px;color:var(--steel-ink);padding-block:5px;opacity:.85}
.foot-col a:hover{opacity:1;color:var(--accent)}
.pay{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.pay span{
  border:1px solid color-mix(in srgb,var(--steel-ink) 26%,transparent);
  padding:7px 10px;font:500 10px/1 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;
}
.foot-bottom{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;
  margin-top:38px;padding-top:18px;
  border-top:1px solid color-mix(in srgb,var(--steel-ink) 20%,transparent);
  font:400 11.5px/1.5 var(--f-mono);color:var(--steel-muted);
}

@media (max-width:1000px){
  .foot-grid{grid-template-columns:1fr 1fr;gap:28px}
}
@media (max-width:640px){
  .site-header .wrap{
    display:grid;grid-template-columns:1fr auto auto;align-items:center;
    gap:10px;padding-block:12px;
  }
  .brand{grid-row:1;grid-column:1}
  .brand-name{font-size:20px}
  .header-tools{grid-row:1;grid-column:2;justify-self:end;margin-left:0;gap:10px}
  .menu-toggle{display:inline-flex;grid-row:1;grid-column:3}
  .qty-badge{padding:7px 10px;font-size:11px}
  .nav{
    display:none;grid-row:2;grid-column:1/-1;flex-direction:column;align-items:stretch;
    gap:0;margin:6px 0 0;border-top:1px solid var(--line);
  }
  .nav.is-open{display:flex}
  .nav a{padding-block:11px;border-bottom:1px solid var(--line);font-size:12.5px}
  .nav a:last-child{border-bottom:0}
  .foot-grid{grid-template-columns:1fr}
}

.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:46px}}

/* ---------- cart icon on cart buttons (2026-10-23) ---------- */
.woocommerce a.button.add_to_cart_button:not(.ast-on-card-button)::before,
.woocommerce button.button.single_add_to_cart_button::before,
.woocommerce a.added_to_cart::before,
.qty-badge::before{
  content:"";
  display:inline-block;
  flex:none;
  width:15px;height:15px;
  margin-right:8px;
  vertical-align:-2px;
  background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") center / contain no-repeat;
          mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.qty-badge::before{width:14px;height:14px;margin-right:0}

/* ---------- cart modal: icon on "View cart" (2026-10-23) ---------- */
.td-modal__btn{display:flex;align-items:center;justify-content:center;gap:8px}
.td-modal__btn--ghost::before{
  content:"";
  flex:none;width:15px;height:15px;
  background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") center / contain no-repeat;
          mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- cart page: side borders + empty-cart icon (2026-10-23) ---------- */
.woocommerce-cart .site-content .ast-container{
  border-left:1px solid var(--line);
  border-right:1px solid var(--line);
  padding-left:30px;
  padding-right:30px;
}
@media (max-width:544px){
  .woocommerce-cart .site-content .ast-container{padding-left:16px;padding-right:16px}
}
/* WooCommerce 的空购物车图标在本站渲染成实心方块（mask 没生效），换成站点同款线框购物车 */
.wc-block-cart__empty-cart__title.with-empty-cart-icon:before{
  background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") center / contain no-repeat;
          mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") center / contain no-repeat;
  width:4em;height:4em;margin:0 auto 1.4em;
}

/* 区块版商品卡（购物车页 New in store、首页区块）的 Add to cart 也带图标 */
.wp-block-button__link.add_to_cart_button::before{
  content:"";
  display:inline-block;flex:none;
  width:15px;height:15px;margin-right:8px;vertical-align:-2px;
  background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") center / contain no-repeat;
          mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- cart page design (2026-10-23) ---------- */

/* page head */
.woocommerce-cart .site-content .ast-container{padding-top:44px!important;padding-bottom:64px!important}
.woocommerce-cart .entry-header{padding-bottom:16px;margin-bottom:34px;border-bottom:1px solid var(--line)}
.woocommerce-cart .entry-title{
  margin:0;font:600 42px/1 var(--f-display);letter-spacing:.03em;text-transform:uppercase;color:var(--ink);
}

/* two-column frame */
.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart.is-large{
  display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:46px;align-items:start;
}
.woocommerce-cart .wc-block-components-main{padding:0}

/* line items table */
.woocommerce-cart .wc-block-cart-items{width:100%;border-collapse:collapse}
.woocommerce-cart .wc-block-cart-items__header th{
  padding:0 0 12px;border-bottom:1px solid var(--ink);text-align:left;
  font:500 10px/1 var(--f-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);
}
.woocommerce-cart .wc-block-cart-items__header th.wc-block-cart-items__header-total{text-align:right}
.woocommerce-cart .wc-block-cart-items__row td{
  border-bottom:1px solid var(--line);border-top:0;padding:22px 0;vertical-align:middle;background:transparent;
}
.woocommerce-cart .wc-block-cart-items__row:last-child td{border-bottom:1px solid var(--line)}

/* thumbnail */
.woocommerce-cart .wc-block-cart-items__header-image{width:118px}
.woocommerce-cart .wc-block-cart-items__row td.wc-block-cart-item__image{width:118px;padding:22px 20px 22px 0}
.woocommerce-cart .wc-block-cart-item__image a{display:block;width:96px}
.woocommerce-cart .wc-block-cart-item__image img{
  display:block;width:96px;height:96px;object-fit:contain;
  background:#fff;border:1px solid var(--line);padding:6px;
}

/* product cell */
.woocommerce-cart .wc-block-cart-items__row td.wc-block-cart-item__product{padding-right:26px}
.woocommerce-cart .wc-block-cart-item__wrap{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.woocommerce-cart .wc-block-cart-item__wrap .wc-block-components-product-name{
  display:block;max-width:54ch;color:var(--ink);text-decoration:none;
  font:600 16.5px/1.45 var(--f-body);
}
.woocommerce-cart .wc-block-cart-item__wrap .wc-block-components-product-name:hover{color:var(--accent)}
.woocommerce-cart .wc-block-cart-item__prices{margin:0}
.woocommerce-cart .wc-block-cart-item__prices .wc-block-components-product-price{
  font:600 15px/1 var(--f-display);letter-spacing:.04em;color:var(--ink);font-variant-numeric:tabular-nums;
}
.woocommerce-cart .wc-block-components-product-metadata__description p{
  margin:0;max-width:62ch;font:400 13px/1.55 var(--f-body);color:var(--muted);
}

/* quantity + remove */
.woocommerce-cart .wc-block-cart-item__quantity{display:flex;align-items:center;gap:18px;margin-top:4px}
.woocommerce-cart .wc-block-components-quantity-selector{
  display:inline-flex!important;flex-direction:row!important;align-items:stretch!important;
  width:auto!important;max-width:none;border:1px solid var(--line)!important;border-radius:0!important;
  background:#fff!important;overflow:hidden;box-shadow:none!important;
}
.woocommerce-cart .wc-block-components-quantity-selector__button{
  width:34px!important;min-width:34px!important;height:34px!important;padding:0!important;margin:0!important;
  display:grid!important;place-items:center;
  background:transparent!important;border:0!important;box-shadow:none!important;
  color:var(--ink)!important;font:400 17px/1 var(--f-mono)!important;cursor:pointer;opacity:1!important;
}
.woocommerce-cart .wc-block-components-quantity-selector__button:hover{background:var(--paper)!important;color:var(--accent)!important}
.woocommerce-cart .wc-block-components-quantity-selector__button:disabled{color:var(--line)!important;cursor:not-allowed}
.woocommerce-cart .wc-block-components-quantity-selector__input{
  width:44px!important;min-width:44px!important;height:34px!important;margin:0!important;padding:0!important;
  border:0!important;border-left:1px solid var(--line)!important;border-right:1px solid var(--line)!important;
  border-radius:0!important;background:#fff!important;box-shadow:none!important;
  color:var(--ink)!important;text-align:center;font:500 13px/34px var(--f-mono)!important;
}
.woocommerce-cart .wc-block-cart-item__remove-link{
  display:inline-flex!important;align-items:center;gap:7px;margin:0!important;padding:0!important;
  background:none!important;border:0!important;box-shadow:none!important;
  color:var(--muted)!important;opacity:1!important;cursor:pointer;
}
.woocommerce-cart .wc-block-cart-item__remove-link svg{width:17px;height:17px;fill:currentColor;display:block}
.woocommerce-cart .wc-block-cart-item__remove-link::after{
  content:"Remove";font:500 10px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;
}
.woocommerce-cart .wc-block-cart-item__remove-link:hover{color:var(--accent)!important}

/* total column */
.woocommerce-cart .wc-block-cart-items__header th.wc-block-cart-items__header-total,
.woocommerce-cart .wc-block-cart-items__row td.wc-block-cart-item__total{width:132px;text-align:right}
.woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper{justify-content:flex-end}
.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price{
  font:600 21px/1 var(--f-display);letter-spacing:.03em;color:var(--ink);font-variant-numeric:tabular-nums;
}

/* order summary card */
.woocommerce-cart .wc-block-cart__sidebar{
  position:sticky;top:92px;
  display:flex;flex-direction:column;gap:16px;
  padding:24px 22px 22px;
  background:var(--surface);border:1px solid var(--line);
}
.woocommerce-cart .wc-block-cart__totals-title{
  margin:0;padding:0 0 16px;border-bottom:1px solid var(--line);
  font:600 17px/1.1 var(--f-display);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);
}
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper{border-bottom:0!important;border-top:0!important}
.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button{
  display:flex;align-items:center;gap:8px;padding:15px 0 0;margin:0;
  font:500 10.5px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
  cursor:pointer;background:none;border:0;
}
.woocommerce-cart .wc-block-components-panel__button-icon{width:16px;height:16px;fill:currentColor;flex:none}
.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button:hover{color:var(--accent)}
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:18px 0 0;
}
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-item__label{
  font:500 10.5px/1.4 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);
}
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  font:600 28px/1 var(--f-display);letter-spacing:.02em;color:var(--ink);font-variant-numeric:tabular-nums;
}

/* checkout button */
.woocommerce-cart .wc-block-cart__submit-container{padding:0}
.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-cart .wc-block-components-button.wc-block-cart__submit-button.contained{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:52px;padding:0 18px;border:0!important;border-radius:0!important;
  background:var(--accent)!important;color:#fff!important;box-shadow:none!important;
  font:500 12px/1 var(--f-mono)!important;letter-spacing:.16em;text-transform:uppercase;
  transition:background-color .18s ease;
}
.woocommerce-cart .wc-block-cart__submit-button:hover{background:#B23B12!important;color:#fff!important}
.woocommerce-cart .wc-block-cart__submit-button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.woocommerce-cart .wc-block-cart__submit::after{
  content:"Secure checkout / USD / USDC accepted";
  display:block;margin-top:12px;text-align:center;
  font:500 9.5px/1.5 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
}

/* empty cart */
.woocommerce-cart .wp-block-woocommerce-empty-cart-block,
.woocommerce-cart .wc-block-cart__empty-cart{
  padding:56px 24px;background:var(--surface);border:1px solid var(--line);text-align:center;
}
.woocommerce-cart .wc-block-cart__empty-cart__title{
  margin:0 0 18px;font:600 26px/1.2 var(--f-display);letter-spacing:.03em;color:var(--ink);
}

/* responsive */
@media (max-width:921px){
  .woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart.is-large{grid-template-columns:1fr;gap:30px}
  .woocommerce-cart .wc-block-cart__sidebar{position:static}
}
@media (max-width:600px){
  .woocommerce-cart .site-content .ast-container{padding-top:28px!important;padding-bottom:44px!important}
  .woocommerce-cart .entry-title{font-size:32px}
  .woocommerce-cart .entry-header{margin-bottom:24px}
  .woocommerce-cart .wc-block-cart-items__header th{display:none}
  .woocommerce-cart .wc-block-cart-items__header-image{display:none}
  .woocommerce-cart .wc-block-cart-items__row td.wc-block-cart-item__image{width:82px;padding:18px 14px 18px 0}
  .woocommerce-cart .wc-block-cart-item__image a,
  .woocommerce-cart .wc-block-cart-item__image img{width:68px;height:68px}
  .woocommerce-cart .wc-block-cart-items__row td{padding-block:18px}
  .woocommerce-cart .wc-block-cart-items__row td.wc-block-cart-item__product{padding-right:10px}
  .woocommerce-cart .wc-block-cart-item__wrap .wc-block-components-product-name{font-size:15px}
  .woocommerce-cart .wc-block-cart-item__total{width:78px}
  .woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price{font-size:17px}
  .woocommerce-cart .wc-block-cart-item__remove-link::after{display:none}
  .woocommerce-cart .wc-block-cart-item__quantity{gap:12px}
}
/* grid children widths: WC sets 65%/35% on flex layout, ours is grid */
.woocommerce-cart .wc-block-cart .wc-block-components-main{width:100%!important;padding-right:0}
.woocommerce-cart .wc-block-cart .wc-block-components-sidebar{width:100%!important}
.woocommerce-cart .wc-block-cart-items{width:100%!important}/* geometry fixes: total cell must stay a table-cell, tighten summary */
.woocommerce-cart .site-content{padding-top:0!important}
.woocommerce-cart td.wc-block-cart-item__total{display:table-cell!important;vertical-align:middle}
.woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper{display:flex;justify-content:flex-end}
.woocommerce-cart .wp-block-woocommerce-cart-order-summary-totals-block{padding-bottom:0!important}
.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block{margin-bottom:0!important}
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-footer-item{
  border-top:1px solid var(--line);padding-top:18px;margin-top:6px;
}
/* modal header: light blue instead of dark steel (2026-10-23) */
.td-modal .td-modal__head{background:#CFE3F1;color:var(--steel);border-bottom:1px solid rgba(23,37,44,.14)}
.td-modal .td-modal__head .td-modal__kicker{color:var(--steel)}
.td-modal .td-modal__head .td-modal__kicker svg{color:var(--accent)}
.td-modal .td-modal__head .td-modal__close{color:var(--steel)!important}
.td-modal .td-modal__head .td-modal__close:hover{color:var(--accent)!important}

/* mobile alignment */
@media (max-width:600px){
  .woocommerce-cart .wp-block-woocommerce-cart.alignwide{
    width:auto!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;
  }
  .woocommerce-cart .entry-content{padding-left:0!important;padding-right:0!important}
  .woocommerce-cart .wc-block-components-product-metadata__description{display:none}
  .woocommerce-cart .wc-block-cart__sidebar{padding:20px 16px}
}/* mobile: lock columns so the table cannot overflow */
@media (max-width:600px){
  .woocommerce-cart .wc-block-cart-items{table-layout:fixed!important;width:100%!important}
  .woocommerce-cart .wc-block-cart-items__row td.wc-block-cart-item__image{width:82px!important;padding:18px 14px 18px 0}
  .woocommerce-cart .wc-block-cart-items__row td.wc-block-cart-item__total{width:84px!important}
  .woocommerce-cart .wc-block-cart-item__wrap .wc-block-components-product-name{max-width:100%}
}/* empty cart: no outer card, tidy divider */
.woocommerce-cart .wp-block-woocommerce-empty-cart-block{padding:0;background:none;border:0}
.woocommerce-cart .wc-block-cart__empty-cart__title{padding:44px 0 6px;margin:0 0 4px}
.woocommerce-cart .wp-block-separator.is-style-dots{border:0;background:none;margin:18px auto 26px;opacity:1}
.woocommerce-cart .wp-block-separator.is-style-dots::before{
  content:"\00b7\00b7\00b7";color:var(--line);font-size:34px;letter-spacing:.42em;line-height:.6;text-indent:.42em;
}.woocommerce-cart .wp-block-separator.is-style-dots{display:none}
.woocommerce-cart .wp-block-woocommerce-empty-cart-block h2.wp-block-heading:not(.wc-block-cart__empty-cart__title){margin-top:8px}.woocommerce-cart .wp-block-woocommerce-empty-cart-block h2.wp-block-heading:not(.wc-block-cart__empty-cart__title){margin-top:30px}/* remove control: bordered ghost button with visible trash icon */
.woocommerce-cart .wc-block-cart-item__remove-link{
  display:inline-flex!important;align-items:center;justify-content:center;gap:7px;
  height:34px;padding:0 12px!important;margin:0!important;
  background:#fff!important;border:1px solid var(--line)!important;border-radius:0!important;box-shadow:none!important;
  color:var(--muted)!important;text-decoration:none!important;opacity:1!important;cursor:pointer;
  transition:color .15s ease,border-color .15s ease;
}
.woocommerce-cart .wc-block-cart-item__remove-link svg{
  display:block!important;width:15px!important;min-width:15px!important;max-width:15px!important;
  height:15px!important;flex:0 0 15px!important;fill:currentColor!important;
}
.woocommerce-cart .wc-block-cart-item__remove-link::after{
  content:"Remove";font:500 10px/1 var(--f-mono);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;
}
.woocommerce-cart .wc-block-cart-item__remove-link:hover{
  color:var(--accent)!important;border-color:var(--accent)!important;background:#fff!important;
}/* WC gives the remove link a fixed 24px box; let it size to its content */
.woocommerce-cart .wc-block-cart-item__remove-link{
  width:auto!important;min-width:max-content!important;max-width:none!important;
  height:34px!important;flex:0 0 auto!important;
}
/* header cart badge: vivid green, bumps on change (2026-10-23) */
.qty-badge .n{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:21px;height:21px;padding:0 6px;margin-left:2px;
  background:#2EE66B;color:#0B1A10;border-radius:999px;
  font:600 11.5px/1 var(--f-mono);font-variant-numeric:tabular-nums;
  box-shadow:inset 0 0 0 1px rgba(11,26,16,.10);
  transition:transform .18s ease;
}
.qty-badge.is-bumping .n{animation:td-badge-pop .55s cubic-bezier(.2,1.4,.4,1)}
@keyframes td-badge-pop{
  0%{transform:scale(1)}
  35%{transform:scale(1.5)}
  100%{transform:scale(1)}
}
@media (prefers-reduced-motion:reduce){
  .qty-badge.is-bumping .n{animation:none}
}
/* add-to-cart button: green tick state (2026-10-23) */
.woocommerce a.button.add_to_cart_button.is-added,
.woocommerce button.button.single_add_to_cart_button.is-added,
.wp-block-button__link.add_to_cart_button.is-added{
  background:#2EE66B!important;color:#0B1A10!important;border-color:#2EE66B!important;
}
.woocommerce a.button.add_to_cart_button.is-added::before,
.woocommerce button.button.single_add_to_cart_button.is-added::before,
.wp-block-button__link.add_to_cart_button.is-added::before{
  -webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
          mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* added state: catch-all so every add-to-cart variant turns green */
a.add_to_cart_button.is-added,
button.add_to_cart_button.is-added,
.add_to_cart_button.is-added,
.single_add_to_cart_button.is-added,
a.added_to_cart.is-added{
  background:#2EE66B!important;color:#0B1A10!important;border-color:#2EE66B!important;
}
a.add_to_cart_button.is-added::before,
button.add_to_cart_button.is-added::before,
.add_to_cart_button.is-added::before,
.single_add_to_cart_button.is-added::before{
  -webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
          mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* Shop cards: the add-to-cart control is a green cart icon, no label. */
.ast-on-card-button.add_to_cart_button{
  width:38px!important;height:38px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  padding:0!important;margin:0!important;
  background:#2EE66B!important;color:#0B1A10!important;
  border-radius:0!important;
}
.ast-on-card-button.add_to_cart_button .ast-card-action-tooltip{display:none!important}
.ast-on-card-button.add_to_cart_button .ahfb-svg-iconset{display:none!important}
.ast-on-card-button.add_to_cart_button::after{
  content:"";display:block;width:20px;height:20px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.6'/%3E%3Ccircle cx='18' cy='20' r='1.6'/%3E%3Cpath d='M2 3h2.2l2.4 12.2a1.6 1.6 0 0 0 1.6 1.3h8.9a1.6 1.6 0 0 0 1.6-1.3L21 7H5.2'/%3E%3C/svg%3E") center / contain no-repeat;
  mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.6'/%3E%3Ccircle cx='18' cy='20' r='1.6'/%3E%3Cpath d='M2 3h2.2l2.4 12.2a1.6 1.6 0 0 0 1.6 1.3h8.9a1.6 1.6 0 0 0 1.6-1.3L21 7H5.2'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* after a successful add: tick + "Added", still green */
.ast-on-card-button.add_to_cart_button.is-added{
  width:auto!important;min-width:0!important;padding:0 12px!important;gap:7px!important;
}
.ast-on-card-button.add_to_cart_button.is-added::after{display:none!important}
.add_to_cart_button.is-added::before{
  content:"";display:block;width:15px;height:15px;flex:0 0 15px;background:currentColor;
}
/* Loop buttons: green cart icon, no label, until the add succeeds. */
.woocommerce a.button.add_to_cart_button:not(.ast-on-card-button),
ul.products li.product a.button.add_to_cart_button{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:40px!important;min-width:40px!important;height:40px!important;
  padding:0!important;margin:0!important;
  font-size:0!important;line-height:0!important;
  background:#2EE66B!important;color:#0B1A10!important;
  border:0!important;border-radius:0!important;
  gap:7px!important;
}
.woocommerce a.button.add_to_cart_button:not(.ast-on-card-button) > *,
ul.products li.product a.button.add_to_cart_button > *{display:none!important}
.woocommerce a.button.add_to_cart_button:not(.ast-on-card-button)::after,
ul.products li.product a.button.add_to_cart_button::after{
  content:"";display:block;width:20px;height:20px;flex:0 0 20px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.6'/%3E%3Ccircle cx='18' cy='20' r='1.6'/%3E%3Cpath d='M2 3h2.2l2.4 12.2a1.6 1.6 0 0 0 1.6 1.3h8.9a1.6 1.6 0 0 0 1.6-1.3L21 7H5.2'/%3E%3C/svg%3E") center / contain no-repeat;
  mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.6'/%3E%3Ccircle cx='18' cy='20' r='1.6'/%3E%3Cpath d='M2 3h2.2l2.4 12.2a1.6 1.6 0 0 0 1.6 1.3h8.9a1.6 1.6 0 0 0 1.6-1.3L21 7H5.2'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* once added: tick + "Added", same green, still one line */
.woocommerce a.button.add_to_cart_button:not(.ast-on-card-button).is-added,
ul.products li.product a.button.add_to_cart_button.is-added{
  width:auto!important;min-width:0!important;padding:0 12px!important;
  font-size:13px!important;line-height:1!important;
}
.woocommerce a.button.add_to_cart_button:not(.ast-on-card-button).is-added::after,
ul.products li.product a.button.add_to_cart_button.is-added::after{display:none!important}
/* keep a stray empty pseudo out of the icon-only button */
.woocommerce a.button.add_to_cart_button:not(.ast-on-card-button):not(.is-added)::before,
ul.products li.product a.button.add_to_cart_button:not(.is-added)::before{
  content:none!important;display:none!important;width:0!important;height:0!important;
}
/* Single product: same green cart icon, label appears only after adding. */
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce div.product .single_add_to_cart_button{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:48px!important;min-width:48px!important;height:48px!important;
  padding:0!important;margin:0!important;
  font-size:0!important;line-height:0!important;
  background:#2EE66B!important;color:#0B1A10!important;
  border:0!important;border-radius:0!important;gap:8px!important;
}
.woocommerce div.product .single_add_to_cart_button > *{display:none!important}
.woocommerce div.product .single_add_to_cart_button::before{
  content:"";display:block;width:22px;height:22px;flex:0 0 22px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.6'/%3E%3Ccircle cx='18' cy='20' r='1.6'/%3E%3Cpath d='M2 3h2.2l2.4 12.2a1.6 1.6 0 0 0 1.6 1.3h8.9a1.6 1.6 0 0 0 1.6-1.3L21 7H5.2'/%3E%3C/svg%3E") center / contain no-repeat;
  mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.6'/%3E%3Ccircle cx='18' cy='20' r='1.6'/%3E%3Cpath d='M2 3h2.2l2.4 12.2a1.6 1.6 0 0 0 1.6 1.3h8.9a1.6 1.6 0 0 0 1.6-1.3L21 7H5.2'/%3E%3C/svg%3E") center / contain no-repeat;
}
.woocommerce div.product .single_add_to_cart_button.is-added{
  width:auto!important;min-width:0!important;padding:0 18px!important;
  font-size:14px!important;line-height:1!important;
}
/* disabled (variations not chosen) still reads as a control, just softer */
.woocommerce div.product .single_add_to_cart_button.disabled,
.woocommerce div.product .single_add_to_cart_button[disabled]{
  opacity:.45!important;cursor:not-allowed!important;
}
/* the form.cart variant must carry the same specificity so "Added" is readable */
.woocommerce div.product form.cart .single_add_to_cart_button.is-added{
  width:auto!important;min-width:0!important;padding:0 18px!important;
  font-size:14px!important;line-height:1!important;
}
/* circular add buttons, glyph dead centre (2026-10-23) */
.woocommerce a.button.add_to_cart_button:not(.ast-on-card-button),
ul.products li.product a.button.add_to_cart_button,
.ast-on-card-button.add_to_cart_button,
.woocommerce div.product .single_add_to_cart_button{
  border-radius:50%!important;
}
.woocommerce a.button.add_to_cart_button:not(.ast-on-card-button)::after,
ul.products li.product a.button.add_to_cart_button::after,
.ast-on-card-button.add_to_cart_button::after,
.woocommerce button.button.single_add_to_cart_button::before{
  margin:0!important;vertical-align:middle!important;
}
.woocommerce a.button.add_to_cart_button:not(.ast-on-card-button).is-added::before,
ul.products li.product a.button.add_to_cart_button.is-added::before,
.ast-on-card-button.add_to_cart_button.is-added::before,
.woocommerce button.button.single_add_to_cart_button.is-added::before{
  margin:0!important;vertical-align:middle!important;
}
/* the "Added" label needs room, so that state becomes a pill */
.woocommerce a.button.add_to_cart_button:not(.ast-on-card-button).is-added,
ul.products li.product a.button.add_to_cart_button.is-added,
.ast-on-card-button.add_to_cart_button.is-added,
.woocommerce div.product .single_add_to_cart_button.is-added{
  border-radius:999px!important;
}
/* same specificity as the square base rule, so the circle actually wins */
.woocommerce div.product form.cart .single_add_to_cart_button{
  border-radius:50%!important;
}
.woocommerce div.product form.cart .single_add_to_cart_button.is-added{
  border-radius:999px!important;
}
/* tighter circles: kill the gap that the hidden label adds, so the glyph is truly centred */
.woocommerce a.button.add_to_cart_button:not(.ast-on-card-button),
ul.products li.product a.button.add_to_cart_button{
  width:36px!important;min-width:36px!important;height:36px!important;gap:0!important;
}
.ast-on-card-button.add_to_cart_button{
  width:32px!important;min-width:32px!important;height:32px!important;gap:0!important;
}
.woocommerce a.button.add_to_cart_button:not(.ast-on-card-button)::after,
ul.products li.product a.button.add_to_cart_button::after{
  width:18px!important;height:18px!important;flex:0 0 18px!important;margin:0!important;
}
.ast-on-card-button.add_to_cart_button::after{
  width:16px!important;height:16px!important;flex:0 0 16px!important;margin:0!important;
}
.woocommerce div.product form.cart .single_add_to_cart_button{
  width:40px!important;min-width:40px!important;height:40px!important;gap:0!important;
}
.woocommerce div.product form.cart .single_add_to_cart_button::before{
  width:18px!important;height:18px!important;flex:0 0 18px!important;margin:0!important;
}
/* the label state needs its spacing back */
.woocommerce a.button.add_to_cart_button:not(.ast-on-card-button).is-added,
ul.products li.product a.button.add_to_cart_button.is-added,
.ast-on-card-button.add_to_cart_button.is-added,
.woocommerce div.product form.cart .single_add_to_cart_button.is-added{
  gap:7px!important;
}
/* added state: label first, tick after it */
.woocommerce a.button.add_to_cart_button:not(.ast-on-card-button).is-added::after,
ul.products li.product a.button.add_to_cart_button.is-added::after,
.ast-on-card-button.add_to_cart_button.is-added::after,
.woocommerce div.product form.cart .single_add_to_cart_button.is-added::after{
  content:""!important;display:block!important;width:15px!important;height:15px!important;flex:0 0 15px!important;
  background:currentColor!important;margin:0!important;
  -webkit-mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat!important;
  mask:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat!important;
}
/* the cart icon in front disappears once used */
.woocommerce a.button.add_to_cart_button:not(.ast-on-card-button).is-added::before,
ul.products li.product a.button.add_to_cart_button.is-added::before,
.ast-on-card-button.add_to_cart_button.is-added::before,
.woocommerce div.product form.cart .single_add_to_cart_button.is-added::before{
  content:none!important;display:none!important;
}