/* Product photos share the quiet scale of the existing Hue catalogue. */
:is(.woocommerce,.tj-shop-home) .tjws-product-art{position:relative;display:grid;place-items:center;flex:0 0 auto;width:100%;min-width:0;min-height:0;aspect-ratio:1;margin:0;padding:0;border:0;background:transparent;box-sizing:border-box;overflow:hidden}
:is(.woocommerce,.tj-shop-home) .tjws-product-art__scene{display:flex;align-items:center;justify-content:center;gap:0;width:52%;max-width:192px;min-width:0}
:is(.woocommerce,.tj-shop-home) .tjws-product-art__part{display:block;min-width:0;width:100%;flex:1 1 0}
:is(.woocommerce,.tj-shop-home) .tjws-product-art__part>svg.tjws-native-assembly{display:block;width:100%;height:auto;aspect-ratio:1;overflow:visible;background:transparent;filter:none}
:is(.woocommerce,.tj-shop-home) .tjws-product-art__part>svg.tjws-catalog-photograph{display:block;float:none;width:100%;height:auto;max-width:100%;aspect-ratio:1;margin:0;padding:0;border:0;overflow:hidden;background:transparent;filter:none}
:is(.woocommerce,.tj-shop-home) .tjws-product-art .tjws-key-cavity{fill:#242424}
:is(.woocommerce,.tj-shop-home) .tjws-product-art img.tjws-product-art__image,:is(.woocommerce,.tj-shop-home) ul.products li.product a img.tjws-product-art__image{display:block;float:none;width:100%;height:auto;max-width:100%;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:transparent!important;box-shadow:none;object-fit:contain;clip-path:none;filter:none}
:is(.woocommerce,.tj-shop-home) .tjws-product-art--relay .tjws-product-art__scene{width:50%;max-width:220px}
:is(.woocommerce,.tj-shop-home) .tjws-product-art--set .tjws-product-art__scene{width:76%;max-width:340px;gap:4%}
:is(.woocommerce,.tj-shop-home) .tjws-product-art--set .tjws-product-art__part--relay{flex:0 1 35%}
:is(.woocommerce,.tj-shop-home) .tjws-product-art--set .tjws-product-art__part--button{flex:0 1 55%}
:is(.woocommerce,.tj-shop-home) .tjws-product-art--eltako .tjws-product-art__part--relay,:is(.woocommerce,.tj-shop-home) .tjws-product-art--eltako .tjws-product-art__part--native-kit{display:flex;align-items:center;justify-content:center;aspect-ratio:1}
:is(.woocommerce,.tj-shop-home) .tjws-product-art--eltako img.tjws-product-art__image,:is(.woocommerce,.tj-shop-home) ul.products li.product a .tjws-product-art--eltako img.tjws-product-art__image{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;aspect-ratio:auto}
:is(.woocommerce,.tj-shop-home) .tjws-product-art__placeholder{display:grid;place-content:center;justify-items:center;gap:7px;box-sizing:border-box;width:100%;aspect-ratio:1;padding:10%;border:1px dashed currentColor;text-align:center;font-family:inherit;font-size:12px;font-weight:400;line-height:1.5;overflow-wrap:anywhere;opacity:.65}
:is(.woocommerce,.tj-shop-home) .tjws-product-art__placeholder strong{font-size:.9em;font-weight:650;line-height:1.4}
:is(.woocommerce,.tj-shop-home) .tjws-product-art--native-kit .tjws-product-art__scene{width:58%;max-width:230px}
.woocommerce .tjws-product-art--single.tjws-product-art--native-kit .tjws-product-art__scene{max-width:310px}
:is(.woocommerce,.tj-shop-home) .tjws-product-art__plus{flex:0 0 5%;font:300 clamp(17px,1.8vw,25px)/1 sans-serif;text-align:center;color:inherit;opacity:.42}
:is(.woocommerce,.tj-shop-home) .tjws-product-art figcaption{position:absolute;inset:auto 8px 18px;margin:0;padding:0;text-align:center;font-family:inherit;font-size:11px;font-weight:450;line-height:1.45;letter-spacing:.025em;color:inherit;opacity:.7}
.woocommerce div.product div.images.tjws-gallery{position:relative;opacity:1;background:transparent;border:0;box-shadow:none}
.woocommerce .tjws-gallery--zoomable>.tjws-product-art{cursor:zoom-in}
.woocommerce .tjws-product-art--single .tjws-product-art__scene{max-width:240px}
.woocommerce .tjws-product-art--single.tjws-product-art--relay .tjws-product-art__scene{max-width:250px}
.woocommerce .tjws-product-art--single.tjws-product-art--set .tjws-product-art__scene{max-width:380px}
.woocommerce .tjws-product-art--single figcaption{font-size:12px;bottom:24px}


/* Native-image loupe: full photo sources remain sharp at a useful viewing size. */
.woocommerce .tjws-gallery .tjws-gallery__zoom{position:absolute;z-index:2;top:12px;right:12px;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:10px;border:1px solid #ccd0d8;border-radius:50%;background:#ffffffed;color:#222b3c;box-shadow:none;cursor:zoom-in}
.woocommerce .tjws-gallery__zoom svg{width:22px;height:22px}
.tjws-photo-open,.tjws-photo-open body{overflow:hidden!important}
.woocommerce .tjws-photo-dialog{box-sizing:border-box;width:min(940px,94vw);max-width:94vw;max-height:92dvh;padding:0;border:1px solid #d8dce4;border-radius:0;background:#f6f5f1;color:#252b35;box-shadow:0 24px 80px #0006;overflow:hidden}
.woocommerce .tjws-photo-dialog:not([open]){display:none}
.woocommerce .tjws-photo-dialog[open]{display:flex;flex-direction:column}
.woocommerce .tjws-photo-dialog::backdrop{background:#090e18bd;backdrop-filter:blur(4px)}
.woocommerce .tjws-photo-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px 12px 22px;border-bottom:1px solid #d8dce4;font-size:14px;font-weight:550;line-height:1.5}
.woocommerce .tjws-photo-dialog__header button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:0;border-radius:0;background:transparent;color:inherit;box-shadow:none;font:300 30px/1 sans-serif;cursor:pointer}
.woocommerce .tjws-photo-dialog :focus-visible,.woocommerce .tjws-gallery__zoom:focus-visible{outline:3px solid #174ce8;outline-offset:3px}
.woocommerce .tjws-photo-dialog__body{min-height:0;overflow:auto;overscroll-behavior:contain}
.woocommerce .tjws-product-art--zoom{width:100%;height:min(80dvh,840px);min-height:0;aspect-ratio:auto}
.woocommerce .tjws-product-art--zoom .tjws-product-art__scene{width:85%;max-width:min(800px,72dvh)}
.woocommerce .tjws-product-art--zoom.tjws-product-art--relay .tjws-product-art__scene{width:78%;max-width:min(760px,72dvh)}
.woocommerce .tjws-product-art--zoom.tjws-product-art--set .tjws-product-art__scene{width:88%;max-width:min(840px,115dvh)}
.woocommerce .tjws-product-art--zoom.tjws-product-art--native-kit .tjws-product-art__scene{width:85%;max-width:min(800px,72dvh)}
.woocommerce .tjws-product-art--zoom figcaption{font-size:13px;bottom:22px}
html[data-tj-theme=dark] .woocommerce .tjws-photo-dialog{background:#191f2a;color:#edf0f6;border-color:#3d4657}
html[data-tj-theme=dark] .woocommerce .tjws-photo-dialog__header{border-color:#3d4657}
html[data-tj-theme=dark] .woocommerce .tjws-gallery .tjws-gallery__zoom{background:#222a38ed;color:#edf0f6;border-color:#495367}

/* Shared card media and capped featured titles keep native product cards aligned. */
:is(.woocommerce,.tj-shop-home) ul.products li.product .tjws-card-media{position:relative;display:grid;place-items:center;flex:0 0 auto;box-sizing:border-box;width:100%;min-width:0;min-height:0;aspect-ratio:1;margin:0;padding:0;border:0;background:transparent;overflow:hidden}
:is(.woocommerce,.tj-shop-home) ul.products li.product a .tjws-card-media>img{display:block;float:none;width:76%;height:76%;max-width:76%;max-height:76%;aspect-ratio:auto;object-fit:contain;object-position:center;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;filter:none}
:is(.woocommerce,.tj-shop-home) ul.products li.product a .tjws-card-media>picture{display:block;width:76%;height:76%;max-width:76%;max-height:76%;margin:0;padding:0}
:is(.woocommerce,.tj-shop-home) ul.products li.product a .tjws-card-media>picture>img{display:block;float:none;width:100%;height:100%;max-width:100%;max-height:100%;aspect-ratio:auto;object-fit:contain;object-position:center;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;filter:none}
:is(.woocommerce,.tj-shop-home) ul.products li.product{display:flex;flex-direction:column;min-width:0}
:is(.woocommerce,.tj-shop-home) ul.products li.product>a.woocommerce-LoopProduct-link,:is(.woocommerce,.tj-shop-home) ul.products li.product>a.woocommerce-loop-product__link{display:flex;flex:1 1 auto;flex-direction:column;min-width:0}
:is(.woocommerce,.tj-shop-home) ul.products li.product .woocommerce-loop-product__title{min-height:2.6em;line-height:1.3;text-wrap:pretty;overflow-wrap:normal}
:is(.woocommerce,.tj-shop-home) ul.products li.product .price{line-height:1.5}
:is(.woocommerce,.tj-shop-home) ul.products li.product>.button,:is(.woocommerce,.tj-shop-home) ul.products li.product>.added_to_cart{margin-top:auto}
:is(.woocommerce,.tj-shop-home) ul.products li.product>a.button,:is(.woocommerce,.tj-shop-home) ul.products li.product>a.added_to_cart{margin-top:auto}
.tj-shop-home ul.products li.product a.woocommerce-LoopProduct-link .woocommerce-loop-product__title,.tj-shop-home ul.products li.product a.woocommerce-loop-product__link .woocommerce-loop-product__title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;box-sizing:border-box;min-height:calc(3.75em + 12px);max-height:calc(3.75em + 12px);line-height:1.25;overflow:hidden;text-overflow:ellipsis}
:is(.woocommerce,.tj-shop-home) ul.products li.product.tjws-alarm-product>a.woocommerce-LoopProduct-link>img,:is(.woocommerce,.tj-shop-home) ul.products li.product.tjws-alarm-product>a.woocommerce-loop-product__link>img{box-sizing:border-box;padding:15%;object-fit:contain;aspect-ratio:1;height:auto}

/* Readable, justified prose; headings and lists retain a clear left edge. */
.tj-shop-main.tj-shop-archive>.woocommerce-products-header,.tj-shop-main.tj-shop-archive>.woocommerce-products-header p{width:100%;max-width:none}
.woocommerce div.product .woocommerce-product-details__short-description{max-width:100%}
/* The theme's shop.css loads later: outrank its 78ch paragraph cap on the actual product tree. */
.tj-shop-main.tj-shop-single>div.product>.woocommerce-tabs{grid-column:1/-1;justify-self:stretch;float:none;clear:both;width:100%;min-width:0;max-width:none;box-sizing:border-box}
.tj-shop-main.tj-shop-single>div.product>.woocommerce-tabs>.woocommerce-Tabs-panel,
.tj-shop-main.tj-shop-single>div.product>.woocommerce-tabs>.woocommerce-Tabs-panel .tjws-copy--detail,
.tj-shop-main.tj-shop-single>div.product>.woocommerce-tabs>.woocommerce-Tabs-panel .tjws-documents,
.tj-shop-main.tj-shop-single>div.product>.woocommerce-tabs>.woocommerce-Tabs-panel p{width:100%;min-width:0;max-width:none;box-sizing:border-box}
.woocommerce div.product .woocommerce-product-details__short-description p,.woocommerce div.product .woocommerce-Tabs-panel--description p,.woocommerce div.product .tjws-copy p{text-align:justify;text-align-last:start;hyphens:auto;-webkit-hyphens:auto;text-wrap:pretty;line-height:1.75;margin:0 0 1.15em}
.woocommerce div.product .tjws-copy strong{font-weight:650;color:inherit}
.woocommerce div.product .tjws-copy em{font-style:italic}
.woocommerce div.product .tjws-copy--short{font-size:1rem;line-height:1.75}
.woocommerce div.product .tjws-copy--short p:last-child{margin-bottom:0}
.woocommerce div.product .tjws-copy--detail h3{margin:1.8em 0 .7em;font-size:clamp(20px,2vw,25px);line-height:1.3;text-align:left;font-weight:550;letter-spacing:-.02em}
.woocommerce div.product .tjws-copy--detail h3:first-child{margin-top:0}
.woocommerce div.product .tjws-copy--detail ul{display:grid;gap:.65em;margin:0 0 1.35em;padding-left:1.2em;text-align:left;line-height:1.7;list-style:disc}
.woocommerce div.product .tjws-copy--detail li{padding-left:.2em;text-align:left}
.woocommerce div.product .tjws-copy p.tjws-copy__note{margin:1.15em 0 1.5em;padding:.1em 0 .1em 1em;border-inline-start:2px solid currentColor;font-size:.95em;opacity:.85}
@media(max-width:700px){:is(.woocommerce,.tj-shop-home) .tjws-product-art figcaption{font-size:10px;bottom:13px}.woocommerce .tjws-product-art--single figcaption{font-size:11px;bottom:18px}.woocommerce div.product .tjws-copy--detail h3{margin-top:1.5em}.woocommerce div.product .woocommerce-product-details__short-description p,.woocommerce div.product .woocommerce-Tabs-panel--description p{line-height:1.7}}
