/* Shared catalogue cards. Loaded after shop, Studio and native WooCommerce styles. */
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product{
  --tj-card-inset:18px;
  --tj-card-excerpt-height:40.3px;
  display:flex;flex-direction:column;min-width:0;max-width:100%;
  padding:0 0 18px;border:1px solid var(--shop-line,#dedfdc);border-radius:4px;
  background:var(--shop-paper,#fff);color:var(--shop-ink,#17243a);
  overflow:hidden;box-shadow:none;text-align:left;
}
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link){
  display:flex;flex:1 1 auto;flex-direction:column;gap:0;min-width:0;max-width:100%;
  padding:0;color:inherit;text-decoration:none;
}
/* Every media variant gets the same canvas. Product images are never cropped. */
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > :is(.tjws-product-art,.tjws-card-media,img){
  display:grid;place-items:center;flex:0 0 auto;box-sizing:border-box;
  width:100%;height:auto;min-width:0;min-height:0;max-width:100%;
  aspect-ratio:4/3;margin:0 0 17px;padding:0;border:0;border-radius:0;
  background:transparent;box-shadow:none;overflow:hidden;object-fit:contain;object-position:center;
}
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > img{padding:10%}
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > .tjws-card-media > :is(img,picture){
  display:block;width:76%;height:76%;max-width:76%;max-height:76%;
  margin:0;padding:0;border:0;border-radius:0;background:transparent;object-fit:contain;object-position:center;aspect-ratio:auto;
}
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > .tjws-card-media > picture > img{
  display:block;width:100%;height:100%;max-width:100%;max-height:100%;margin:0;padding:0;
  border:0;border-radius:0;background:transparent;object-fit:contain;object-position:center;aspect-ratio:auto;
}
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > .tjws-product-art .tjws-product-art__scene{width:60%;max-width:220px}
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > .tjws-product-art--set .tjws-product-art__scene{width:83%;max-width:340px}
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > .tjws-product-art--relay .tjws-product-art__scene{width:57%;max-width:220px}
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > .tjws-product-art--starter .tjws-product-art__scene{width:68%;max-width:330px}
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > .tjws-starter--wired4 .tjws-product-art__scene{width:68%}
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > .tjws-product-art figcaption{font-size:10px;line-height:1.4;bottom:12px;inset-inline:12px;letter-spacing:0}
/* Shared text inset and fixed preview rhythm keep prices and actions aligned. */
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > h2.woocommerce-loop-product__title{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;
  height:4.05em;min-height:4.05em;max-height:4.05em;
  margin:0 var(--tj-card-inset) 10px;padding:0;
  font:600 18px/1.35 Arial,Helvetica,sans-serif;letter-spacing:-.015em;
  color:var(--shop-ink,#17243a);text-align:left;text-wrap:pretty;
  overflow:hidden;overflow-wrap:break-word;word-break:normal;text-overflow:ellipsis;
}
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > p.tjws-card-excerpt{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  height:var(--tj-card-excerpt-height);min-height:var(--tj-card-excerpt-height);max-height:var(--tj-card-excerpt-height);
  margin:0 var(--tj-card-inset) 12px;padding:0;max-width:none;width:auto;
  font:400 13px/1.55 Arial,Helvetica,sans-serif;letter-spacing:0;
  color:var(--shop-muted,#626570);text-align:left;text-align-last:auto;
  overflow:hidden;overflow-wrap:break-word;word-break:normal;text-overflow:ellipsis;
}
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link):not(:has(>p.tjws-card-excerpt)) > h2.woocommerce-loop-product__title{margin-bottom:calc(10px + var(--tj-card-excerpt-height) + 12px)}
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > .tjws-product-brands--loop{
  flex:0 0 auto;height:32px;min-height:32px;margin:0 var(--tj-card-inset) 12px;padding:0;
  width:auto;max-width:calc(100% - 2 * var(--tj-card-inset));gap:5px 8px;align-items:center;flex-wrap:nowrap;
}
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > .tjws-product-brands--loop .tjws-brand-logo--vimar{flex-basis:60px;width:60px;min-width:60px;max-width:60px;height:22px}
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > .tjws-product-brands--loop .tjws-brand-logo--bluetooth{flex-basis:60px;width:60px;min-width:60px;max-width:60px;height:24px}
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > .tjws-product-brands--loop .tjws-brand-logo--enocean{flex-basis:34px;width:34px;min-width:34px;max-width:34px;height:22px}
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > .price{
  display:block;width:auto;min-height:2.9em;max-width:calc(100% - 2 * var(--tj-card-inset));
  margin:auto var(--tj-card-inset) 8px;padding:0;
  font:600 18px/1.45 Arial,Helvetica,sans-serif;letter-spacing:-.01em;
  color:var(--shop-ink,#17243a);text-align:left;overflow-wrap:break-word;
}
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > .price .tjws-from{font-size:11px;font-weight:400;letter-spacing:0}
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > .tj-product-card-availability{
  margin:0 var(--tj-card-inset) 14px;padding:0;min-width:0;min-height:55px;max-width:calc(100% - 2 * var(--tj-card-inset));
  color:var(--shop-muted,#626570);font:400 11px/1.5 Arial,Helvetica,sans-serif;text-align:left;
}
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > .tj-product-card-availability > p{margin:0 0 5px;padding:0;font:inherit;line-height:1.5;max-width:100%;text-align:left}
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > .tj-product-card-availability > .tjws-lead-time{display:flex;align-items:flex-start;gap:5px;margin-bottom:0;opacity:1;color:var(--shop-muted,#626570)}
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > .tj-product-card-availability .tjws-delivery-copy{min-width:0;overflow-wrap:break-word}
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > .button{
  display:flex;align-items:center;justify-content:center;align-self:stretch;
  flex:0 0 auto;float:none;min-width:0;max-width:calc(100% - 2 * var(--tj-card-inset));
  min-height:44px;height:auto;margin:0 var(--tj-card-inset);padding:10px 9px;
  border-radius:3px;font:500 11px/1.45 Arial,Helvetica,sans-serif;letter-spacing:.025em;
  text-align:center;white-space:normal;overflow-wrap:break-word;
}
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > .added_to_cart{margin:10px var(--tj-card-inset) 0;font-size:12px;line-height:1.5}
/* Prose remains readable rather than spanning an entire desktop viewport. */
main.tj-shop-main.tj-shop-archive > .woocommerce-products-header{max-width:72ch}
main.tj-shop-main.tj-shop-archive > .woocommerce-products-header p{width:auto;max-width:65ch;text-align:left;text-align-last:auto}
main.tj-shop-main.tj-shop-single > div.product > .summary .woocommerce-product-details__short-description{width:auto;max-width:55ch}
main.tj-shop-main.tj-shop-single > div.product > .summary .woocommerce-product-details__short-description p{max-width:55ch;text-align:left;text-align-last:auto;hyphens:manual;-webkit-hyphens:manual}
main.tj-shop-main.tj-shop-single > div.product > .woocommerce-tabs > .woocommerce-Tabs-panel :is(.tjws-copy--detail,.tjws-documents){width:auto;max-width:72ch}
main.tj-shop-main.tj-shop-single > div.product > .woocommerce-tabs > .woocommerce-Tabs-panel p{width:auto;max-width:68ch;text-align:left;text-align-last:auto;hyphens:manual;-webkit-hyphens:manual}
@media(max-width:760px){
  :is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product{--tj-card-inset:13px;--tj-card-excerpt-height:37.2px;padding-bottom:14px}
  :is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > :is(.tjws-product-art,.tjws-card-media,img){aspect-ratio:1;margin-bottom:13px}
  :is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > h2.woocommerce-loop-product__title{font-size:16px;margin-bottom:8px}
  :is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > p.tjws-card-excerpt{font-size:12px;line-height:1.55;margin-bottom:10px}
  :is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > .price{font-size:17px}
  :is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > .tjws-product-brands--loop{height:56px;min-height:56px;flex-wrap:wrap}
}
@media(max-width:480px){
  main.tj-shop-main ul.products:not(.tj-shop-rail){grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Every loop uses a photograph preview. Detail captions belong to the product page. */
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > .tjws-product-art :is(figcaption,.tjws-starter-part__label){display:none}
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > .tjws-product-art .tjws-starter-part{grid-template-rows:minmax(0,1fr);gap:0;min-height:0}
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > .tjws-product-art .tjws-starter-part__photo{height:100%;min-height:0;max-height:100%;overflow:hidden}
/* WooCommerce's single-product stock rule must not leak into cards nested below it. */
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > .tj-product-card-availability > .stock.in-stock{color:var(--shop-success,#3c634c)}
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > .tj-product-card-availability > :is(.stock.available-on-backorder,.stock.out-of-stock){color:var(--shop-wait,#805b2c)}
/* A range may wrap between amounts, never in the middle of one monetary value. */
:is(main.tj-shop-main,section.tj-shop-home,:where(.woocommerce) .cross-sells) ul.products > li.product > a:is(.woocommerce-LoopProduct-link,.woocommerce-loop-product__link) > .price .woocommerce-Price-amount{display:inline-block;white-space:nowrap}
