/* Shared control finish for commerce; product and catalogue layout stays native. */
:is(main.tj-shop-main,section.tj-shop-home,.tjws-filter-dialog,.woocommerce-cart,.woocommerce-checkout){
  --tj-control-paper:#fff;--tj-control-soft:#f6f3ed;--tj-control-ink:#17243a;
  --tj-control-muted:#626570;--tj-control-line:#8a94a5;--tj-control-primary:#17273f;
  --tj-control-primary-hover:#29415f;--tj-control-primary-line:#17273f;--tj-control-focus:#294b96
}
html[data-tj-theme="dark"] :is(main.tj-shop-main,section.tj-shop-home,.tjws-filter-dialog,.woocommerce-cart,.woocommerce-checkout){
  --tj-control-paper:#191e29;--tj-control-soft:#232d3d;--tj-control-ink:#eff1f5;
  --tj-control-muted:#bdc4d2;--tj-control-line:#8291aa;--tj-control-primary:#294b96;
  --tj-control-primary-hover:#345cae;--tj-control-primary-line:#7192dc;--tj-control-focus:#aec5ff;
  --wc-red:#ffbab4;--wc-green:#9dcdb0
}
/* Clear is a secondary action with the same hit area in the sidebar and dialog. */
:is(.tjws-shop-sidebar,.tjws-filter-dialog) .tjws-filter-actions a.tjws-clear-filters,
main.tj-shop-main.tj-shop-single div.product a.reset_variations,
.woocommerce-cart .woocommerce a.shipping-calculator-button,
.woocommerce-checkout .woocommerce :is(a.showcoupon,a.showlogin){
  display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
  min-height:44px;max-width:100%;margin:0;padding:10px 14px;
  border:1px solid var(--tj-control-line,#8a94a5);border-radius:4px;
  background:var(--tj-control-paper,#fff);color:var(--tj-control-ink,#17243a);
  font:500 13px/1.4 Arial,Helvetica,sans-serif;letter-spacing:0;
  text-align:center;text-decoration:none;text-transform:none;white-space:normal;
  overflow-wrap:anywhere;box-shadow:none;cursor:pointer
}
:is(.tjws-shop-sidebar,.tjws-filter-dialog) .tjws-filter-actions a.tjws-clear-filters{width:100%;align-self:stretch}
main.tj-shop-main.tj-shop-single div.product a.reset_variations{margin:9px 0 0}
:is(.tjws-shop-sidebar,.tjws-filter-dialog) .tjws-filter-actions a.tjws-clear-filters:is(:hover,:focus-visible,:active),
main.tj-shop-main.tj-shop-single div.product a.reset_variations:is(:hover,:focus-visible,:active),
.woocommerce-cart .woocommerce a.shipping-calculator-button:is(:hover,:focus-visible,:active),
.woocommerce-checkout .woocommerce :is(a.showcoupon,a.showlogin):is(:hover,:focus-visible,:active){
  background:var(--tj-control-soft,#f6f3ed);border-color:var(--tj-control-focus,#294b96);
  color:var(--tj-control-ink,#17243a);text-decoration:none
}
:is(.tjws-shop-sidebar,.tjws-filter-dialog) .tjws-filter-actions{gap:10px;align-items:stretch}
:is(.tjws-shop-sidebar,.tjws-filter-dialog) .tjws-filter-actions a.tjws-clear-filters:focus-visible,
main.tj-shop-main.tj-shop-single div.product a.reset_variations:focus-visible,
.woocommerce-cart .woocommerce a.shipping-calculator-button:focus-visible,
.woocommerce-checkout .woocommerce :is(a.showcoupon,a.showlogin):focus-visible{
  outline:2px solid var(--tj-control-focus,#294b96);outline-offset:3px
}
/* Removable filters remain compact but have a full touch target. */
main.tj-shop-main.tj-shop-archive .tjws-active-filters>a.tjws-filter-chip{
  min-height:44px;padding:9px 12px;gap:9px;border-radius:4px;
  border-color:var(--tj-control-line);background:var(--tj-control-soft);color:var(--tj-control-ink);
  font:400 12px/1.5 Arial,Helvetica,sans-serif;text-decoration:none
}
main.tj-shop-main.tj-shop-archive .tjws-active-filters>a.tjws-filter-chip:is(:hover,:focus-visible,:active){
  border-color:var(--tj-control-focus);background:var(--tj-control-paper);color:var(--tj-control-ink)
}
main.tj-shop-main.tj-shop-archive .tjws-active-filters>a.tjws-filter-chip>span[aria-hidden]{font-size:17px;line-height:1}
/* Explicit colors prevent inherited dark link rules from whitening selected buttons. */
main.tj-shop-main .tjws-shop-results .woocommerce-pagination ul.page-numbers li>a.page-numbers{
  min-height:46px;border-radius:4px;border-color:var(--tj-control-line);
  background:var(--tj-control-paper);color:var(--tj-control-ink)
}
main.tj-shop-main .tjws-shop-results .woocommerce-pagination ul.page-numbers li>a.page-numbers:is(:hover,:focus-visible,:active){
  background:var(--tj-control-soft);border-color:var(--tj-control-focus);color:var(--tj-control-ink)
}
main.tj-shop-main .tjws-shop-results .woocommerce-pagination ul.page-numbers li>span.current{
  min-height:46px;border-radius:4px;background:var(--tj-control-primary);
  border-color:var(--tj-control-primary-line);color:#fff
}
/* Each minus/plus control can be tapped without hitting the adjacent number. */
main.tj-shop-main.tj-shop-single .summary .quantity [data-tj-quantity]{
  flex:0 0 44px;width:44px;min-width:44px;min-height:48px;
  background:var(--tj-control-paper);color:var(--tj-control-ink)
}
main.tj-shop-main.tj-shop-single .summary .quantity.tj-quantity input.qty{width:44px;min-width:44px;min-height:48px;height:48px}
main.tj-shop-main.tj-shop-single .summary .quantity [data-tj-quantity]:not(:disabled):is(:hover,:focus-visible,:active){
  background:var(--tj-control-soft);color:var(--tj-control-ink)
}
main.tj-shop-main.tj-shop-single .summary .quantity [data-tj-quantity]:focus-visible{outline-offset:-3px}
/* Native empty-cart and checkout controls retain WooCommerce behavior. */
.woocommerce-cart .woocommerce .tj-cart-layout .quantity input.qty{min-height:48px;height:48px}
.woocommerce-cart .woocommerce .tj-cart-layout .tj-cart-card a.tj-cart-remove{
  min-height:44px;min-width:44px;padding:9px 7px;justify-content:center
}
/* Cart thumbnails communicate the kit visually; six-pixel captions only obscure its parts. */
.woocommerce-cart .woocommerce .tj-cart-art .tjws-starter-part__label,
.woocommerce-cart .woocommerce .tj-cart-art .tjws-product-art>figcaption{display:none}
.woocommerce-cart .woocommerce .tj-cart-art .tjws-starter-part{grid-template-rows:minmax(0,1fr)}
.woocommerce-cart .woocommerce .return-to-shop a.button,
.woocommerce-checkout .woocommerce :is(button.button,input.button,a.button){
  display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
  min-height:48px;max-width:100%;padding:12px 18px;
  border:1px solid var(--tj-control-primary-line);border-radius:4px;
  background:var(--tj-control-primary);color:#fff;
  font:500 14px/1.5 Arial,Helvetica,sans-serif;text-align:center;text-decoration:none;
  white-space:normal;overflow-wrap:anywhere;box-shadow:none
}
.woocommerce-cart .woocommerce .return-to-shop a.button:is(:hover,:focus-visible,:active),
.woocommerce-checkout .woocommerce :is(button.button,input.button,a.button):is(:hover,:focus-visible,:active){
  background:var(--tj-control-primary-hover);border-color:var(--tj-control-focus);color:#fff
}
.woocommerce-checkout .woocommerce form.checkout .form-row :is(input.input-text,select){
  box-sizing:border-box;width:100%;min-width:0;min-height:48px;padding:11px 12px;
  border:1px solid var(--tj-control-line);border-radius:4px;background:var(--tj-control-paper);
  color:var(--tj-control-ink);font:400 16px/1.5 Arial,Helvetica,sans-serif;box-shadow:none
}
.woocommerce-checkout .woocommerce form.checkout .form-row textarea{
  box-sizing:border-box;min-height:110px;max-width:100%;padding:11px 12px;
  border:1px solid var(--tj-control-line);border-radius:4px;background:var(--tj-control-paper);
  color:var(--tj-control-ink);font:400 16px/1.5 Arial,Helvetica,sans-serif;box-shadow:none
}
.woocommerce-checkout .woocommerce form.checkout .form-row.woocommerce-invalid :is(input.input-text,select,.select2-selection--single){border-color:var(--wc-red,#a00)}
.woocommerce-checkout .woocommerce form.checkout .form-row.woocommerce-validated :is(input.input-text,select,.select2-selection--single){border-color:var(--wc-green,#007518)}
.woocommerce-checkout .woocommerce .password-input{position:relative}
.woocommerce-checkout .woocommerce .password-input input.input-text{padding-right:54px}
.woocommerce-checkout .woocommerce .password-input .show-password-input{
  display:flex;align-items:center;justify-content:center;position:absolute;right:2px;top:2px;
  width:44px;min-width:44px;height:44px;min-height:44px;margin:0;padding:0;
  color:var(--tj-control-ink,#17243a);background:transparent;font-size:16px;line-height:1;cursor:pointer;transform:none
}
.woocommerce-checkout .woocommerce .password-input .show-password-input::after{margin-left:0;color:currentColor}
.woocommerce-checkout .woocommerce .password-input .show-password-input:focus-visible{outline:2px solid var(--tj-control-focus);outline-offset:-3px}
.woocommerce-checkout .woocommerce :is(.woocommerce-form__label-for-checkbox,#ship-to-different-address label){
  display:inline-flex;align-items:center;gap:8px;min-height:44px;max-width:100%
}
.woocommerce-checkout .woocommerce :is(.woocommerce-form__label-for-checkbox,#ship-to-different-address label) input[type=checkbox]{flex:none;margin:0}
.woocommerce-checkout .woocommerce .select2-container .select2-selection--single{height:48px;border-radius:4px}
.woocommerce-checkout .woocommerce .select2-container .select2-selection--single .select2-selection__rendered{line-height:46px;padding-left:12px}
.woocommerce-checkout .woocommerce .select2-container .select2-selection--single .select2-selection__arrow{height:46px}
.woocommerce-checkout .woocommerce form.checkout .form-row select.select2-hidden-accessible,
.woocommerce-cart .woocommerce .shipping-calculator-form select.select2-hidden-accessible{min-width:1px;min-height:1px;padding:0;border:0}
.woocommerce-checkout .woocommerce form.checkout :is(input,select,textarea,button,a.button):focus-visible,
.woocommerce-cart .woocommerce .return-to-shop a.button:focus-visible{outline:2px solid var(--tj-control-focus);outline-offset:3px}
html[data-tj-theme="dark"] .woocommerce-checkout .woocommerce form.checkout :is(input,select,textarea){color-scheme:dark}
html[data-tj-theme="dark"] .woocommerce-checkout .woocommerce .show-password-input::before{filter:brightness(0) invert(1)}
html[data-tj-theme="dark"] :is(.woocommerce-cart,.woocommerce-checkout) .woocommerce :is(.woocommerce-info,.woocommerce-message)::before{color:#aec5ff}
@media(max-width:900px){
  main.tj-shop-main.tj-shop-archive a.tj-mobile-category{min-height:44px}
}
@media(max-width:600px){
  .woocommerce-cart .woocommerce .return-to-shop a.button{width:100%}
  .woocommerce-checkout .woocommerce :is(.form-row-first,.form-row-last){float:none;width:100%}
  /* A larger order total must never compete with the quantity in the same row. */
  .woocommerce-cart .woocommerce .tj-cart-layout .tj-cart-prices{padding-right:0;min-height:0}
  .woocommerce-cart .woocommerce .tj-cart-layout .tj-cart-quantity{grid-column:1;grid-row:3;justify-self:start;align-self:center;margin:0}
  .woocommerce-cart .woocommerce .tj-cart-layout .tj-cart-card a.tj-cart-remove{grid-column:2;grid-row:3;align-self:center}
}
@media(prefers-reduced-motion:reduce){
  :is(.tjws-shop-sidebar,.tjws-filter-dialog) .tjws-filter-actions a.tjws-clear-filters,
  main.tj-shop-main .tjws-active-filters>a.tjws-filter-chip{transition:none}
}
