/* One shared photo treatment for catalogue cards, product details and cart. */
[hidden]{display:none!important}
.announcement a,.contact-links a{text-decoration:underline;text-underline-offset:3px}
.contact .contact-links{font-size:14px;display:grid;gap:5px;color:var(--green)}
.delivery-list{padding-left:18px;font-size:12px;line-height:1.8;color:#57624f;margin:18px 0}
.delivery-list li+li{margin-top:10px}
.product-sources{margin-top:20px;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.product-sources summary{cursor:pointer;color:var(--green);font-weight:600}
.product-sources p{margin-top:12px}.product-sources ul{padding-left:18px}.product-sources a{text-decoration:underline}
.price small{display:block;margin:4px 0}.price>span{line-height:1.5}
#cart-dialog{width:min(700px,calc(100% - 24px))}
#cart-checkout{border-top:1px solid var(--line);margin-top:24px;padding-top:14px}
.text-button{background:none;border:0;padding:10px 0;color:var(--green);text-decoration:underline;font-size:12px}
#delivery-form h3,#inquiry-result h3{margin:15px 0}
#delivery-form label,#inquiry-result label{display:grid;gap:7px;font-size:12px;margin-top:15px}
#delivery-form input,#delivery-form select,#delivery-form textarea,#inquiry-text{width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:4px;background:white;color:var(--ink);font:inherit;font-size:14px}
#delivery-form input:focus,#delivery-form select:focus,#delivery-form textarea:focus,#inquiry-text:focus{outline:2px solid var(--green);outline-offset:2px}
#delivery-form textarea,#inquiry-text{resize:vertical}
#delivery-help,#inquiry-result p{font-size:12px;line-height:1.8;color:#626c5d;margin-top:12px}
.checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.checkout-grid .wide{grid-column:1/-1}
#delivery-address{border:1px solid var(--line);border-radius:5px;margin:20px 0 0;padding:5px 14px 16px;min-width:0}
#delivery-address legend{font-size:12px;padding:0 6px}
#inquiry-result{margin:24px 0;padding:18px;background:var(--lime);border-radius:5px}
#inquiry-result:empty{display:none}
.inquiry-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.inquiry-actions .button{border:1px solid var(--green)}
#continue-shopping{margin-top:20px}.summary-row b{text-align:right}.cart-product-name{min-width:0}.cart-product-name small{line-height:1.5}
@media(max-width:480px){.checkout-grid{grid-template-columns:1fr}.summary-row.total{font-size:16px}.quantity{gap:6px}.cart-row{gap:8px}.cart-product-name strong{overflow-wrap:anywhere}.price{font-size:21px!important}.price small{display:block!important;margin-left:0!important}}
.product{display:flex;flex-direction:column;background:#fff}
.product-image{height:auto;aspect-ratio:1/1;background:#fff;padding:19px;border-bottom:1px solid #eeeee7}
.product-packshot{display:block;object-fit:contain;width:100%;height:100%;max-width:100%;mix-blend-mode:multiply;transition:transform .25s}
.product-image:hover .product-packshot{transform:scale(1.035)}
.product-flags{position:absolute;z-index:1;top:14px;left:14px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.product-bestseller{background:#253f30;color:#fff;font-size:8px;font-weight:700;letter-spacing:.7px;padding:7px 9px;border-radius:3px}.product-flags .product-badge{position:static;background:#f1f3ec;color:#58674a;font-size:8px}
.product-content{display:flex;flex:1;flex-direction:column;padding:23px}
.product-category{text-transform:uppercase;min-height:11px}
.product-content h3{font-size:18px;line-height:1.4}
.product-content>p{line-height:1.75;min-height:39px}
.specs{justify-content:space-between;gap:10px;margin-top:17px;margin-bottom:18px;font-size:10px;flex-wrap:wrap}
.product-bottom{margin-top:auto;min-height:42px;gap:12px}
.price-pending{font-size:13px;font-weight:600;color:var(--green);line-height:1.5}
.price-pending small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:5px}
.product-more{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--green);color:white;padding:12px;border:0;border-radius:4px;font-size:10px;white-space:nowrap}
.product-more:hover{background:#3c5c45}.product-more span{font-size:16px;line-height:1}
.catalog-search-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:23px}
.product-search-label{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px}
#product-search{width:270px;max-width:100%;font:inherit;font-size:12px;border:1px solid var(--line);border-radius:4px;background:#fff;padding:12px 14px;color:var(--ink)}
#product-search:focus{outline:2px solid var(--green);outline-offset:2px}
#product-results{font-size:11px;color:var(--muted)}
.empty-products{grid-column:1/-1;text-align:center;border:1px dashed var(--line);border-radius:6px;padding:45px 20px}
.empty-products p{font-size:13px;color:var(--muted);margin:12px 0 25px}
#product-dialog{width:min(930px,calc(100% - 36px));padding:28px;background:var(--paper)}
#product-dialog>.dialog-top{padding-bottom:18px;border-bottom:1px solid var(--line)}
#product-dialog>.dialog-top h2{font-size:15px;font-weight:500;letter-spacing:0;color:var(--muted)}
.product-detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
.product-main-photo{aspect-ratio:1;background:#fff;border:1px solid var(--line);border-radius:5px;padding:15px}
.product-gallery-caption{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-top:13px;font-size:10px;color:var(--muted)}
.product-gallery-caption a{color:var(--green);text-decoration:underline;text-underline-offset:3px}
.product-detail-info{padding-top:15px}.product-detail-info h3{font-size:28px;line-height:1.3;letter-spacing:-1px;margin:12px 0}
.product-detail-bestseller{font-size:11px!important;line-height:1.6!important;color:var(--green)!important;margin:0 0 18px!important}
.product-detail-info>p{font-size:12px;line-height:1.8;color:var(--muted)}
.product-detail-info dl{font-size:12px;grid-template-columns:1fr 1fr;gap:0;margin:24px 0}
.product-detail-info dt,.product-detail-info dd{padding:13px 0;border-bottom:1px solid var(--line);line-height:1.6}
.product-detail-info dd{padding-left:12px}
.product-order-panel{background:#eef1e7;padding:18px;border-radius:5px}
.product-order-panel p{font-size:11px;color:var(--muted);margin-top:10px;line-height:1.8}
.product-order-panel .button{margin-top:16px}
.ton-picker .product-stock{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0;padding:7px 10px;margin:0 0 1px;border:1px solid #d6e1cb;border-radius:4px;background:#eef4e9;color:#596752;font-size:10px;line-height:1.3}
.ton-picker .product-stock strong{font-size:12px;color:var(--green);white-space:nowrap}
.ton-picker .product-stock-empty{display:block;border-color:#e2b8ae;background:#fff1ee;color:#963d2e;font-weight:600}
.product-detail-info .product-photo-note{font-size:10px;line-height:1.8;margin-top:18px}
.cart-product-image{width:51px;height:60px;object-fit:contain;flex-shrink:0;background:white;border-radius:3px}
.cart-product-name{flex:1}
@media(max-width:1100px) and (min-width:761px){.product-content{padding:17px}.product-bottom{align-items:start;flex-direction:column}.product-more{width:100%}.products{gap:16px}}
@media(max-width:760px){.catalog-controls{align-items:start}.catalog-search-row{align-items:start;flex-direction:column;gap:12px}.product-search-label{width:100%}.product-search-label>span{white-space:nowrap}#product-search{flex:1;width:auto;min-width:0}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.product-image{padding:10px}.product-content{padding:15px}.product-content h3{font-size:15px}.product-content>p{font-size:10px;min-height:53px}.specs{font-size:9px;margin-block:14px;padding-bottom:14px;min-height:45px;align-content:start}.product-bottom{align-items:stretch;flex-direction:column;gap:12px}.price-pending{font-size:11px}.price-pending small{font-size:9px}.product-more{width:100%;min-height:40px}.product-flags{top:8px;left:8px;gap:4px}.product-bestseller,.product-flags .product-badge{font-size:7px;padding:5px 6px}.image-detail{font-size:17px;bottom:8px;right:9px}.product-detail-layout{grid-template-columns:1fr;gap:20px}#product-dialog{padding:20px}.product-main-photo{max-height:330px;aspect-ratio:auto;height:330px}.product-detail-info{padding-top:0}.product-detail-info h3{font-size:26px}.product-gallery-caption{font-size:9px}.cart-product-image{width:38px;height:48px}}
@media(max-width:370px){.products{grid-template-columns:1fr}.product-image{aspect-ratio:1.15}.product-content>p{min-height:0}.specs{min-height:0}.product-bottom{flex-direction:row;align-items:center}.product-more{width:auto}}
