/* Source Products Co. — WooCommerce surfaces. Loads after spc.css; uses its tokens. Flat colour, hairlines, 3px corners. No shadows, no gradients. */

/* ── shared: chip plate caption + bag thumbnail ─────────────────────────────── */
.plate__chip b{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;font-size:var(--t-1);letter-spacing:.02em}
.plate__chip b span{font-weight:700;min-width:0}
.plate__chip b em{font-style:normal;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.chipthumb{display:flex;flex-direction:column;width:72px;height:72px;border-radius:2px;overflow:hidden;flex:none}
.chipthumb i{flex:1;display:block}
.chipthumb i:nth-child(1){background:var(--s1)}.chipthumb i:nth-child(2){background:var(--s2)}.chipthumb i:nth-child(3){background:var(--s3)}
.chipthumb i:nth-child(4){background:var(--s4)}.chipthumb i:nth-child(5){background:var(--s5)}.chipthumb i:nth-child(6){background:var(--s6)}

/* ── shared: notices ────────────────────────────────────────────────────────── */
.woocommerce-notices-wrapper{margin:0}
.woocommerce-message,.woocommerce-info,.woocommerce-error{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:0 0 1rem;padding:.9rem 1.15rem;list-style:none;background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--r);font-size:var(--t0);line-height:1.45}
.woocommerce-message .button,.woocommerce-info .button{order:2;margin-left:auto;min-height:44px;padding:0 1.1rem;font-size:var(--t-1)}
.woocommerce-error{border-left-color:#9b2c2c;flex-direction:column;align-items:flex-start;gap:.35rem}
.woocommerce-error li{margin:0}
.woocommerce-error a,.woocommerce-info a,.woocommerce-message a:not(.button){color:var(--accent);font-weight:700}
.woocommerce-store-notice,.demo_store{display:none}

/* ── shared: forms ──────────────────────────────────────────────────────────── */
.woocommerce form .form-row{margin:0 0 1.1rem;padding:0;display:block}
.woocommerce form .form-row label,.woocommerce-form-row label,.woocommerce-checkout label{display:block;margin:0 0 .4rem;font-size:var(--t0);font-weight:700;line-height:1.3;color:var(--ink)}
.woocommerce form .form-row label .optional{font-weight:500;color:var(--muted)}
.woocommerce abbr.required{color:var(--accent);text-decoration:none;border:0}
.woocommerce input[type=text],.woocommerce input[type=email],.woocommerce input[type=tel],.woocommerce input[type=password],.woocommerce input[type=number],.woocommerce input[type=search],.woocommerce textarea,.woocommerce select{
  width:100%;min-height:48px;padding:.65rem .85rem;background:#fff;color:var(--ink);border:1.5px solid rgba(16,26,27,.48);border-radius:var(--r);font:inherit;font-size:1rem;line-height:1.35;-webkit-appearance:none;appearance:none}
.woocommerce textarea{min-height:120px;resize:vertical}
.woocommerce select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23101A1B' stroke-width='1.8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;background-size:.8rem;padding-right:2.4rem}
.woocommerce input:focus,.woocommerce textarea:focus,.woocommerce select:focus{outline:3px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.woocommerce ::placeholder{color:#6d787a;opacity:1}
.woocommerce input[type=checkbox],.woocommerce input[type=radio]{width:1.15rem;height:1.15rem;min-height:0;accent-color:var(--accent);margin:0 .5rem 0 0;vertical-align:-.15em}
.woocommerce .woocommerce-form__label-for-checkbox,.woocommerce label.checkbox{display:flex;align-items:center;font-weight:600}
.woocommerce .woocommerce-invalid input.input-text,.woocommerce .woocommerce-invalid select{border-color:#9b2c2c}
.woocommerce .woocommerce-validated input.input-text{border-color:rgba(16,26,27,.48)}
/* select2 (country / state pickers) */
.select2-container--default .select2-selection--single{height:48px;border:1.5px solid rgba(16,26,27,.48);border-radius:var(--r);background:#fff}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:45px;padding:0 2.4rem 0 .85rem;color:var(--ink);font-size:1rem}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:46px;right:.4rem;width:1.6rem}
.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:var(--ink) transparent transparent;border-width:6px 5px 0}
.select2-container--default.select2-container--focus .select2-selection--single,.select2-container--default.select2-container--open .select2-selection--single{border-color:var(--accent);outline:3px solid var(--accent);outline-offset:1px}
.select2-dropdown{border:1.5px solid var(--ink);border-radius:0 0 var(--r) var(--r);background:#fff;z-index:60}
.select2-search--dropdown{padding:.5rem}
.select2-container--default .select2-search--dropdown .select2-search__field{min-height:44px;border:1.5px solid rgba(16,26,27,.48);border-radius:var(--r);padding:0 .75rem}
.select2-results__option{padding:.6rem .85rem;font-size:var(--t0)}
.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{background:var(--accent);color:var(--paper)}

/* ── shared: tables ─────────────────────────────────────────────────────────── */
.woocommerce table.shop_table{width:100%;border-collapse:collapse;border:0;margin:0}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:.9rem .75rem;text-align:left;vertical-align:middle;border:0;border-bottom:1px solid var(--line);font-size:var(--t0)}
.woocommerce table.shop_table thead th{font-size:var(--t-1);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border-bottom:2px solid var(--ink);padding-top:.5rem}
.woocommerce table.shop_table .amount,.woocommerce-Price-amount{font-variant-numeric:tabular-nums}
.woocommerce-Price-currencySymbol{margin-right:.02em}

/* ── shared: quantity + buttons ─────────────────────────────────────────────── */
.quantity{display:inline-flex}
.quantity input.qty{width:5.25rem;text-align:center;padding-inline:.4rem;font-variant-numeric:tabular-nums}
.quantity .screen-reader-text,.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.button.alt,button.alt,a.button.alt,.wc-proceed-to-checkout .button{background:var(--accent);color:var(--paper)}
.button.alt:hover,.wc-proceed-to-checkout .button:hover{background:var(--ink)}
.button.disabled,.button:disabled,.button[disabled]{opacity:.45;cursor:not-allowed}
.button.loading{position:relative;color:transparent!important;pointer-events:none}
.button.loading::after{content:"";position:absolute;left:50%;top:50%;width:1.1rem;height:1.1rem;margin:-.55rem 0 0 -.55rem;border:2px solid var(--paper);border-right-color:transparent;border-radius:50%;animation:spcspin .7s linear infinite}
@keyframes spcspin{to{transform:rotate(360deg)}}
a.added_to_cart{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:var(--accent)}

/* ── cart / checkout / account shell ────────────────────────────────────────── */
.wcp__head{padding:clamp(2rem,4.5vw,4rem) 0 clamp(1.25rem,2.5vw,2.25rem);border-bottom:1px solid var(--line)}
.wcp__headIn{display:flex;justify-content:space-between;align-items:end;gap:1.5rem 2rem;flex-wrap:wrap}
.wcp__head h1{font-size:var(--t7);letter-spacing:-.04em;line-height:.95}
.wcp__body{padding:clamp(1.5rem,3vw,2.5rem) 0 var(--sec)}
.ruler{list-style:none;display:flex;gap:.5rem;margin:0;padding:0;min-width:min(100%,360px)}
.ruler li{flex:1;min-width:0}
.ruler i{display:block;height:8px;background:var(--line);margin-bottom:.5rem}
.ruler li.is-done i{background:var(--accent)}
.ruler li.is-current i{background:var(--ink)}
.ruler span{display:block;font-size:var(--t-1);font-weight:600;color:var(--muted);letter-spacing:.02em}
.ruler li.is-current span,.ruler li.is-done span{color:var(--ink)}
.ruler b{font-variant-numeric:tabular-nums;letter-spacing:.06em;margin-right:.25rem}

/* ── shop / department / search archives ────────────────────────────────────── */
.shophead{padding:clamp(2rem,4.5vw,4rem) 0 clamp(1.25rem,2.4vw,2rem)}
.shophead__in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem 3rem;align-items:end}
.shophead h1{font-size:var(--t7);letter-spacing:-.04em;line-height:.95}
.shophead .lede{margin:1rem 0 0}
.shophead__ladder{display:flex;width:clamp(150px,20vw,300px);height:clamp(64px,7vw,96px)}
.shophead__ladder i{flex:1}
.shophead__ladder i:nth-child(1){background:var(--s1)}.shophead__ladder i:nth-child(2){background:var(--s2)}.shophead__ladder i:nth-child(3){background:var(--s3)}
.shophead__ladder i:nth-child(4){background:var(--s4)}.shophead__ladder i:nth-child(5){background:var(--s5)}.shophead__ladder i:nth-child(6){background:var(--s6)}
@media(max-width:700px){.shophead__in{grid-template-columns:1fr}.shophead__ladder{width:100%;height:36px}}
.shop{padding:0 0 var(--sec)}
.deptbar{margin:0 0 1.25rem;border-top:2px solid var(--ink);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:thin}
.deptbar ul{list-style:none;display:flex;gap:0;margin:0;padding:0;width:max-content;min-width:100%}
.deptbar__a{display:flex;align-items:center;gap:.6rem;min-height:56px;padding:0 1.1rem 0 0;margin-right:1.1rem;text-decoration:none;font-size:var(--t0);font-weight:600;white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-1px}
.deptbar__a:hover{color:var(--accent)}
.deptbar__a.is-current{border-bottom-color:var(--ink);font-weight:800}
.deptbar__a i{display:flex;flex-direction:column;width:14px;height:26px;overflow:hidden;border-radius:1px}
.deptbar__a i b{flex:1;display:block}
.deptbar__a i b:nth-child(1){background:var(--s1)}.deptbar__a i b:nth-child(2){background:var(--s2)}.deptbar__a i b:nth-child(3){background:var(--s3)}
.deptbar__a i b:nth-child(4){background:var(--s4)}.deptbar__a i b:nth-child(5){background:var(--s5)}.deptbar__a i b:nth-child(6){background:var(--s6)}
.deptbar__a em{font-style:normal;font-weight:500;font-size:var(--t-1);color:var(--muted);font-variant-numeric:tabular-nums}
.shopbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;margin:0 0 2rem;padding:.25rem 0 1rem}
.woocommerce-result-count{margin:0;font-size:var(--t0);color:var(--muted);font-variant-numeric:tabular-nums}
.priceband{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.priceband__l{font-size:var(--t-1);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-right:.35rem}
.priceband__a{display:inline-flex;align-items:center;min-height:44px;padding:0 .9rem;border:1.5px solid var(--line);border-radius:var(--r);font-size:var(--t0);font-weight:600;text-decoration:none;background:transparent}
.priceband__a:hover{border-color:var(--ink)}
.priceband__a.is-current{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.woocommerce-ordering{margin:0}
.woocommerce-ordering select{width:auto;min-width:12.5rem}
@media(max-width:700px){.shopbar{align-items:stretch;flex-direction:column;flex-wrap:nowrap}.priceband,.woocommerce-ordering{min-width:0}.priceband{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.25rem}.priceband__a{white-space:nowrap}.woocommerce-ordering select{width:100%}}
.woocommerce-pagination{margin:3rem 0 0}
.woocommerce-pagination ul.page-numbers{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0}
.woocommerce-pagination .page-numbers li{margin:0}
.woocommerce-pagination a.page-numbers,.woocommerce-pagination span.page-numbers{display:inline-grid;place-items:center;min-width:44px;min-height:44px;padding:0 .8rem;border:1.5px solid var(--line);border-radius:var(--r);font-weight:700;text-decoration:none;font-variant-numeric:tabular-nums}
.woocommerce-pagination a.page-numbers:hover{border-color:var(--ink)}
.woocommerce-pagination span.current{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.empty{padding:clamp(2rem,6vw,5rem) 0;max-width:44rem}
.empty h2{font-size:var(--t6);letter-spacing:-.035em;line-height:1}
.empty .lede{margin:1rem 0 0}
.empty__depts{list-style:none;margin:2.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.25rem 1.5rem;border-top:1px solid var(--line)}
.empty__depts a{display:flex;align-items:center;gap:.8rem;min-height:56px;text-decoration:none;font-weight:600;border-bottom:1px solid var(--line)}
.empty__depts a:hover{color:var(--accent)}
.empty__depts .chipthumb{width:20px;height:32px}

/* ── single product ─────────────────────────────────────────────────────────── */
.pdp{padding:clamp(1rem,2vw,1.75rem) 0 clamp(3rem,6vw,5rem)}
.crumbs{display:flex;flex-wrap:wrap;gap:0 .6rem;align-items:center;margin:0 0 .75rem;font-size:var(--t-1);color:var(--muted)}
.crumbs a{color:var(--muted);text-decoration:none;min-height:44px;min-width:44px;padding:0 .2rem;display:inline-flex;align-items:center}
.crumbs span[aria-current]{min-height:44px;display:inline-flex;align-items:center}
.crumbs a:hover{color:var(--accent);text-decoration:underline}
.crumbs span[aria-current]{color:var(--ink);font-weight:600}
.pdp__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,5.5rem);align-items:start}
.pdp__media{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.pdp__fig{margin:0;grid-column:1/-1;background:var(--kraft);border-radius:var(--r);overflow:hidden}
.pdp__media.n-3 .pdp__fig:nth-child(n+2){grid-column:auto}
.pdp__img{width:100%;height:auto;display:block}
.pdp__fig--chip{aspect-ratio:5/4;background:none;border-radius:2px}
.pdp__fig--chip .plate__chip{height:100%}
.pdp__fig--chip .plate__chip b{padding:1rem 1.2rem;font-size:var(--t0)}
.pdp__buy{position:sticky;top:6rem}
.pdp__kicker{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.1rem;margin:0 0 1rem;font-size:var(--t-1);letter-spacing:.06em;text-transform:uppercase;font-variant-numeric:tabular-nums}
.pdp__sku{color:var(--muted);font-weight:600}
.pdp__dept{display:inline-flex;align-items:center;gap:.5rem;min-height:32px;text-decoration:none;font-weight:800;color:var(--ink)}
.pdp__dept:hover{color:var(--accent)}
.pdp__dept i{width:14px;height:14px;background:var(--c);border-radius:1px}
.pdp__title{font-size:var(--t6);letter-spacing:-.04em;line-height:.98;margin:0 0 1rem}
.pdp__price{margin:0;font-size:var(--t5);font-weight:800;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.pdp__price del{font-size:var(--t3);font-weight:500;color:var(--muted)}.pdp__price ins{text-decoration:none}
.pdp__pig{margin:.6rem 0 0;font-size:var(--t-1);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}
.pdp__short{margin:1.5rem 0 0;font-family:var(--f-serif);font-size:var(--t2);line-height:1.5;max-width:30em}
.pdp__short p{margin:0}
.pdp form.cart{display:flex;gap:.75rem;align-items:stretch;margin:1.75rem 0 0}
.pdp form.cart .quantity input.qty{height:56px}
.pdp form.cart .single_add_to_cart_button{flex:1;min-height:56px;font-size:var(--t1)}
.pdp .stock{margin:1.5rem 0 0;font-weight:700}
.pdp .stock.out-of-stock{color:#9b2c2c}
.pdp__assure{margin:2rem 0 0;border-top:2px solid var(--ink)}
.pdp__assure div{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line);align-items:baseline}
.pdp__assure dt{font-size:var(--t-1);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.pdp__assure dd{margin:0;font-weight:700}
.pdp__assure small{display:block;font-weight:500;color:var(--muted);font-size:var(--t0)}
.pdp__links{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;margin:1rem 0 0;font-size:var(--t0)}
.pdp__links a{color:var(--accent);font-weight:700;min-height:44px;display:inline-flex;align-items:center}
.pdp__detail{padding:var(--sec) 0}
.pdp__detailgrid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,5vw,5.5rem);align-items:start}
.pdp__detail h2{font-size:var(--t5);letter-spacing:-.035em;line-height:1;margin:0 0 1.25rem}
.pdp__detail .prose{max-width:none}
.pdp__detail .prose p{margin:0 0 1.1em}
.pdp__spec dl{margin:0;border-top:2px solid var(--ink)}
.pdp__spec dl div{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line);align-items:baseline}
.pdp__spec dt{font-size:var(--t-1);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.pdp__spec dd{margin:0;font-weight:600;line-height:1.45}
.pdp__more{padding:var(--sec) 0}
.pdp__moreHead{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}
.pdp__moreHead h2{font-size:var(--t6);letter-spacing:-.035em;line-height:1}
.pdp__bar{display:none}
@media(max-width:1000px){
  .pdp__grid,.pdp__detailgrid{grid-template-columns:1fr}
  .pdp__buy{position:static}
  .pdp__fig--chip{aspect-ratio:4/3}
}
@media(max-width:700px){
  .pdp{padding-bottom:6rem}
  .pdp__assure div{grid-template-columns:7rem minmax(0,1fr)}
  .pdp__spec dl div{grid-template-columns:6rem minmax(0,1fr)}
  .pdp__bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;gap:1rem;align-items:center;justify-content:space-between;padding:.6rem var(--gut);background:var(--paper);border-top:2px solid var(--ink)}
  .pdp__barPrice{font-size:var(--t3);font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
  .pdp__bar .button{flex:1;max-width:14rem;min-height:48px}
  body:has(#ck:not([hidden])) .pdp__bar{bottom:76px}
}

/* ── bag (cart) ─────────────────────────────────────────────────────────────── */
.woocommerce-cart .woocommerce{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:0 clamp(2rem,5vw,5rem);align-items:start}
.woocommerce-cart .woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}
.woocommerce-cart .woocommerce-cart-form{grid-column:1}
.woocommerce-cart .cart-collaterals{grid-column:2;position:sticky;top:6rem}
.woocommerce-cart table.cart{table-layout:auto}
.woocommerce-cart td.product-remove{width:3rem;padding-left:0}
a.remove{display:inline-grid;place-items:center;width:44px;height:44px;margin-left:-.6rem;font-size:1.75rem;font-weight:400;line-height:1;color:var(--muted);text-decoration:none;border-radius:var(--r)}
a.remove:hover{background:var(--ink);color:var(--paper)}
.woocommerce-cart td.product-thumbnail{width:96px}
.woocommerce-cart td.product-thumbnail img{width:72px;height:72px;object-fit:cover;border-radius:2px}
.woocommerce-cart td.product-name a{font-weight:700;text-decoration:none;font-size:var(--t1)}
.woocommerce-cart td.product-name a:hover{color:var(--accent);text-decoration:underline}
.woocommerce-cart td.product-price,.woocommerce-cart td.product-subtotal{font-weight:700;white-space:nowrap}
.woocommerce-cart td.actions{padding:1.25rem 0 0;border-bottom:0}
.woocommerce-cart td.actions .coupon{display:flex;gap:.6rem;flex-wrap:wrap;align-items:stretch;float:left;max-width:100%}
.woocommerce-cart td.actions .coupon label{display:none}
.woocommerce-cart td.actions .coupon input{width:13rem;max-width:100%}
.woocommerce-cart td.actions>.button{float:right;background:transparent;color:var(--ink);border-color:var(--ink)}
.woocommerce-cart td.actions>.button:hover{background:var(--ink);color:var(--paper)}
.cart_totals{background:var(--plaster);border-top:2px solid var(--ink);padding:1.5rem 1.5rem 1.75rem}
.cart_totals h2{font-size:var(--t3);letter-spacing:-.02em;margin:0 0 1rem}
.cart_totals table.shop_table th{font-size:var(--t-1);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);width:40%;font-weight:700}
.cart_totals table.shop_table td{text-align:right;font-weight:700}
.cart_totals table.shop_table tr.order-total th{color:var(--ink)}
.cart_totals table.shop_table tr.order-total td{font-size:var(--t3);letter-spacing:-.02em}
.wc-proceed-to-checkout{padding:1.25rem 0 0}
.wc-proceed-to-checkout .button{display:flex;width:100%;min-height:56px;font-size:var(--t1)}
.ship-policy{margin:1rem 0 0;font-size:var(--t-1);color:var(--muted);line-height:1.5}.ship-policy a{color:var(--accent);font-weight:700}
@media(max-width:900px){
  .woocommerce-cart .woocommerce{grid-template-columns:1fr}
  .woocommerce-cart .cart-collaterals{grid-column:1;position:static;margin-top:2rem}
  .woocommerce-cart table.cart thead{display:none}
  .woocommerce-cart table.cart,.woocommerce-cart table.cart tbody{display:block}
  .woocommerce-cart table.cart tr.cart_item{display:grid;grid-template-columns:72px minmax(0,1fr) auto;grid-template-areas:"thumb name remove" "thumb price price" "thumb qty sub";gap:.25rem 1rem;padding:1rem 0;border-bottom:1px solid var(--line);align-items:center}
  .woocommerce-cart table.cart tr.cart_item td{display:block;padding:0;border:0}
  .woocommerce-cart td.product-thumbnail{grid-area:thumb;width:auto;align-self:start}
  .woocommerce-cart td.product-name{grid-area:name}
  .woocommerce-cart td.product-remove{grid-area:remove;width:auto;justify-self:end}
  .woocommerce-cart td.product-price{grid-area:price;color:var(--muted);font-weight:500}
  .woocommerce-cart td.product-quantity{grid-area:qty}
  .woocommerce-cart td.product-subtotal{grid-area:sub;text-align:right;font-size:var(--t2)}
  .woocommerce-cart table.cart tr:not(.cart_item) td{display:block;width:100%}
  .woocommerce-cart td.actions .coupon{float:none;width:100%}
  .woocommerce-cart td.actions .coupon input{flex:1;width:auto}
  .woocommerce-cart td.actions>.button{float:none;width:100%;margin-top:.75rem}
}

/* ── checkout (incl. the masked /secure-checkout/) ──────────────────────────── */
.woocommerce-checkout .woocommerce-form-coupon-toggle{margin:0 0 1.5rem}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{margin:0}
.woocommerce form.checkout_coupon{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-start;margin:0 0 1.5rem;padding:1rem 1.15rem;border:1px solid var(--line);background:#fff;border-radius:var(--r)}
.woocommerce form.checkout_coupon p{margin:0}
.woocommerce form.checkout_coupon .form-row-first{flex:1 1 14rem}
.woocommerce form.checkout_coupon .form-row-last{flex:none}
form.woocommerce-checkout{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-areas:"details heading" "details review";grid-template-rows:auto 1fr;column-gap:clamp(2rem,5vw,5rem);align-items:start}
form.woocommerce-checkout #customer_details{grid-area:details}
form.woocommerce-checkout #order_review_heading{grid-area:heading;margin:0;padding:1.25rem 1.5rem 1rem;background:var(--plaster)}
form.woocommerce-checkout #order_review{grid-area:review;align-self:start;padding:1rem 1.5rem 1.5rem;background:var(--plaster);border-top:2px solid var(--ink);position:sticky;top:5.5rem}
form.woocommerce-checkout #order_review_heading,.woocommerce-billing-fields>h3,.woocommerce-shipping-fields>h3,.woocommerce-additional-fields>h3{font-size:var(--t3);letter-spacing:-.02em;line-height:1.1}
.woocommerce-billing-fields>h3,.woocommerce-shipping-fields>h3,.woocommerce-additional-fields>h3{margin:0 0 1.1rem;padding-top:.85rem;border-top:2px solid var(--ink)}
.woocommerce-shipping-fields,.woocommerce-additional-fields{margin-top:2rem}
#customer_details .col-1,#customer_details .col-2{float:none;width:100%}
.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-additional-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.woocommerce-billing-fields__field-wrapper .form-row,.woocommerce-shipping-fields__field-wrapper .form-row,.woocommerce-additional-fields__field-wrapper .form-row{grid-column:1/-1}
.woocommerce-billing-fields__field-wrapper .form-row-first,.woocommerce-billing-fields__field-wrapper .form-row-last,.woocommerce-shipping-fields__field-wrapper .form-row-first,.woocommerce-shipping-fields__field-wrapper .form-row-last{grid-column:auto}
#ship-to-different-address{margin:0 0 1rem;font-size:var(--t0)}
#ship-to-different-address label{margin:0;font-weight:600}
.woocommerce-checkout-review-order-table{margin:0 0 1rem}
.woocommerce-checkout-review-order-table thead th{padding-left:0}
.woocommerce-checkout-review-order-table td,.woocommerce-checkout-review-order-table th{padding-left:0;padding-right:0}
.woocommerce-checkout-review-order-table td.product-name{font-weight:600}
.woocommerce-checkout-review-order-table .product-quantity{font-weight:700;color:var(--muted)}
.woocommerce-checkout-review-order-table td:last-child,.woocommerce-checkout-review-order-table th:last-child{text-align:right}
.woocommerce-checkout-review-order-table tfoot th{font-size:var(--t-1);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.woocommerce-checkout-review-order-table tfoot td{font-weight:700}
.woocommerce-checkout-review-order-table tr.order-total th{color:var(--ink)}
.woocommerce-checkout-review-order-table tr.order-total td{font-size:var(--t3);letter-spacing:-.02em}
#payment{margin-top:1.5rem;padding-top:1.1rem;border-top:2px solid var(--ink)}
#payment::before{content:"Secure payment";display:block;margin:0 0 .85rem;font-size:var(--t3);font-weight:800;letter-spacing:-.02em;line-height:1.1}
#payment ul.payment_methods{list-style:none;margin:0 0 1rem;padding:0}
#payment ul.payment_methods li{margin:0 0 .5rem;padding:0}
#payment ul.payment_methods li>label{display:inline-flex;align-items:center;margin:0 0 .5rem;font-weight:700}
#payment div.payment_box{padding:1rem;background:#fff;border:1px solid var(--line);border-radius:var(--r);font-size:var(--t0)}
#payment div.payment_box iframe{max-width:100%;border:0}
#payment ul.payment_methods li.woocommerce-notice,#payment ul.payment_methods li.woocommerce-info{list-style:none;padding:.9rem 1rem;background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--r);font-size:var(--t0)}
.woocommerce-terms-and-conditions-wrapper{margin:0 0 1rem;font-size:var(--t0)}
.woocommerce-privacy-policy-text p{font-size:var(--t-1);color:var(--muted);line-height:1.5}
.woocommerce-privacy-policy-text a,.woocommerce-terms-and-conditions-wrapper a{color:var(--accent);font-weight:700}
#payment .place-order{margin:0;padding:.25rem 0 0}
#place_order{display:flex;width:100%;min-height:58px;font-size:var(--t1)}
.secure-note{display:flex;gap:.6rem;align-items:flex-start;margin:.85rem 0 0;font-size:var(--t-1);line-height:1.45;color:var(--muted)}
.secure-note>svg{flex:none;width:1.05rem;height:1.05rem;margin-top:.1rem;color:var(--accent)}
.secure-note__t{min-width:0}
.secure-note strong{color:var(--ink)}
@media(max-width:900px){
  form.woocommerce-checkout{grid-template-columns:1fr;grid-template-areas:"details" "heading" "review"}
  form.woocommerce-checkout #order_review{position:static}
  .woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper,.woocommerce-additional-fields__field-wrapper{grid-template-columns:1fr}
  .woocommerce-billing-fields__field-wrapper .form-row-first,.woocommerce-billing-fields__field-wrapper .form-row-last{grid-column:1/-1}
  #customer_details{margin-bottom:2rem}
}

/* order received */
.woocommerce-order{max-width:52rem}
.woocommerce-thankyou-order-received{font-family:var(--f-serif);font-size:var(--t2);margin:0 0 1.5rem}
ul.woocommerce-order-overview{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:0;margin:0 0 2rem;padding:0;border-top:2px solid var(--ink)}
ul.woocommerce-order-overview li{padding:1rem 1rem 1rem 0;border-bottom:1px solid var(--line);font-size:var(--t-1);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
ul.woocommerce-order-overview li strong{display:block;margin-top:.25rem;font-size:var(--t1);letter-spacing:0;text-transform:none;color:var(--ink)}
.woocommerce-order-details h2,.woocommerce-customer-details h2{font-size:var(--t3);margin:2rem 0 .75rem}
.woocommerce-customer-details address{font-style:normal;line-height:1.6}

/* ── my account ─────────────────────────────────────────────────────────────── */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:220px minmax(0,1fr);gap:0 clamp(2rem,5vw,5rem);align-items:start}
.woocommerce-account .woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.woocommerce-MyAccount-navigation li a{display:flex;align-items:center;min-height:48px;padding:0 .25rem;border-bottom:1px solid var(--line);font-weight:600;text-decoration:none}
.woocommerce-MyAccount-navigation li a:hover{color:var(--accent)}
.woocommerce-MyAccount-navigation li.is-active a{font-weight:800;border-left:3px solid var(--accent);padding-left:.85rem}
.woocommerce-MyAccount-content{font-size:var(--t1);line-height:1.6}
.woocommerce-MyAccount-content h2,.woocommerce-MyAccount-content h3{font-size:var(--t3);letter-spacing:-.02em;margin:0 0 .75rem}
.woocommerce-MyAccount-content a{color:var(--accent);font-weight:600}
.woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.woocommerce-Address{padding:1.25rem;border:1px solid var(--line);background:#fff;border-radius:var(--r)}
.woocommerce-Address address{font-style:normal}
.woocommerce-account:not(.logged-in) .woocommerce{display:block}
.u-columns#customer_login{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,4rem);align-items:start}
.u-columns#customer_login .u-column1,.u-columns#customer_login .u-column2{float:none;width:auto;padding:1.5rem;border-top:2px solid var(--ink);background:var(--plaster)}
.u-columns#customer_login h2{font-size:var(--t4);letter-spacing:-.03em;margin:0 0 1.25rem}
.woocommerce-form-login .button,.woocommerce-form-register .button{min-height:52px;width:100%}
.woocommerce-form-login__rememberme{margin:.25rem 0 1rem!important}
.woocommerce-LostPassword{margin:1rem 0 0}
.woocommerce-LostPassword a{color:var(--accent);font-weight:700}
@media(max-width:860px){
  .woocommerce-account .woocommerce{grid-template-columns:1fr}
  .woocommerce-MyAccount-navigation{margin-bottom:2rem}
  .u-columns#customer_login,.woocommerce-Addresses{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.button.loading::after{animation:none}}

/* shipping rows in totals: no list bullets, tidy meta */
ul#shipping_method,.woocommerce-shipping-methods{list-style:none;margin:0;padding:0}
ul#shipping_method li{margin:0}
.woocommerce-shipping-destination{margin:.25rem 0 0;font-size:var(--t-1);font-weight:500;color:var(--muted)}
a.shipping-calculator-button{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:var(--accent)}
tr.shipping td,tr.woocommerce-shipping-totals td{line-height:1.4}

/* mobile pay bar: live total + a jump to the payment section (the button itself stays in normal flow) */
.paybar{display:none}
@media(max-width:900px){
  .woocommerce-checkout:not(.woocommerce-order-received) .paybar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;gap:1rem;align-items:center;justify-content:space-between;padding:.6rem var(--gut);background:var(--paper);border-top:2px solid var(--ink)}
  .paybar__l{display:block;font-size:var(--t-1);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);line-height:1.1}
  .paybar__t{display:block;font-size:var(--t3);font-weight:800;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}
  .paybar__go{flex:1;max-width:15rem;min-height:48px}
  .wcp--checkout .wcp__body{padding-bottom:5.5rem}
  body:has(#ck:not([hidden])) .paybar{bottom:76px}
}

/* cards: the SKU already prints in the meta line, so the plate caption carries only the pigment */
.card .plate__chip b em{display:none}
.card .plate__chip b{padding:.55rem .7rem;font-size:.75rem;line-height:1.25}
/* Woo focuses its alert with script; it is not interactive, so no ring */
.woocommerce-message:focus,.woocommerce-error:focus,.woocommerce-info:focus{outline:0}

/* account: login as a measured column beside a plain note, show-password as a text button */
.acct-login{display:grid;grid-template-columns:minmax(0,30rem) minmax(0,1fr);gap:2rem clamp(2rem,6vw,6rem);align-items:start}
.acct-login__form{padding:1.5rem 1.5rem 1.75rem;background:var(--plaster);border-top:2px solid var(--ink)}
.acct-login__form h2{font-size:var(--t4);letter-spacing:-.03em;margin:0 0 1.25rem}
.acct-login__note{padding-top:1.5rem;border-top:2px solid var(--ink);max-width:30rem}
.acct-login__note h2{font-size:var(--t3);letter-spacing:-.02em;margin:0 0 .6rem}
.acct-login__note p{font-family:var(--f-serif);font-size:var(--t2);line-height:1.5;margin:0 0 1em}
.acct-login__note a{color:var(--accent);font-weight:700}
.password-input{position:relative;display:block}
.password-input input{padding-right:5rem}
.show-password-input{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);min-width:44px;min-height:44px;padding:0 .6rem;border:0;background:transparent;color:var(--accent);font:inherit;font-size:var(--t-1);font-weight:700;cursor:pointer;font-size:0}
.show-password-input::after{content:"Show";font-size:var(--t-1)}
.show-password-input.display-password::after{content:"Hide"}
@media(max-width:860px){.acct-login{grid-template-columns:1fr}}

/* mobile: bring the products up — the controls above the grid are compact, and the result count is dropped (the pills and sort already say what is shown) */
@media(max-width:700px){
  .shophead{padding:1.1rem 0 .9rem}
  .shophead .eyebrow{margin-bottom:.5rem}
  .shophead .lede{display:none}
  .shophead__ladder{height:22px}
  .deptbar{margin-bottom:.75rem}
  .deptbar__a{min-height:48px}
  .shopbar{gap:.5rem;margin-bottom:1.25rem;padding-bottom:.6rem}
  .shopbar .woocommerce-result-count{display:none}
}
/* bag: persistent checkout action on phones */
.cartbar{display:none}
@media(max-width:900px){
  .woocommerce-cart .cartbar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:.6rem var(--gut);background:var(--paper);border-top:2px solid var(--ink)}
  .cartbar .button{display:flex;width:100%;min-height:52px;font-size:var(--t1)}
  .woocommerce-cart .wcp__body{padding-bottom:5.5rem}
  body:has(#ck:not([hidden])) .cartbar{bottom:76px}
}

/* tap targets >= 44px for every inline link we own */
.woocommerce-LostPassword a{display:inline-flex;align-items:center;min-height:44px}
.acct-login__note .acct-links{display:flex;flex-wrap:wrap;gap:0 1.25rem;margin:0}
.acct-login__note .acct-links a{display:inline-flex;align-items:center;min-height:44px}

/* bag + checkout inline links */
.woocommerce-cart td.product-name a,a.showcoupon{display:inline-flex;align-items:center;min-height:44px}

/* inline coupon errors (cart) */
.coupon-error-notice{flex:1 0 100%;margin:.15rem 0 0;padding:.6rem .85rem;background:#fff;border:1px solid var(--line);border-left:4px solid #9b2c2c;border-radius:var(--r);font-size:var(--t0);line-height:1.4;color:var(--ink)}
.coupon-invalid input#coupon_code,.woocommerce-cart td.actions .coupon input.has-error{border-color:#9b2c2c}
/* keep the quantity box compact on the bag rows */
.woocommerce-cart .quantity input.qty{width:5rem}

/* policies + contact under cart/checkout — an <aside>, because the MAEF core hides every header/footer element on the masked checkout */
.wcp__policies{padding:1.75rem 0 2.5rem;border-top:1px solid var(--line);margin-top:.5rem;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:1rem 3rem;align-items:start}
.wcp__polH{grid-column:1/-1;margin:0;font-size:var(--t-1);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.wcp__policies ul{list-style:none;display:flex;flex-wrap:wrap;gap:0 1.5rem;margin:0;padding:0}
.wcp__policies li a{display:inline-flex;align-items:center;min-height:44px;font-weight:600;font-size:var(--t0)}
.wcp__policies address{font-style:normal;display:grid;gap:.15rem;font-size:var(--t-1);color:var(--muted)}
.wcp__policies address a{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);font-weight:600}
@media(max-width:800px){.wcp__policies{grid-template-columns:1fr}}
