/* WooCommerce owns its templates, block layouts, validation and payment elements. */
.soit-commerce{padding-block:65px 85px}
.soit-commerce-page .entry-content{max-width:none}
.soit-commerce-page>h1,.woocommerce-products-header__title{font-size:clamp(35px,4.5vw,54px);line-height:1.12;letter-spacing:-.05em;margin-bottom:34px}
.woocommerce .woocommerce-breadcrumb{font-size:13px;color:var(--muted);margin-bottom:28px}
.woocommerce .woocommerce-breadcrumb a{color:var(--muted)}
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{font-size:14px;color:var(--muted);margin-bottom:27px}
.woocommerce .woocommerce-ordering select{min-height:42px;padding:8px 12px;border:1px solid var(--line);border-radius:5px;background:var(--white);color:var(--ink);max-width:100%}
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin:0 0 45px;padding:0}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{float:none;width:auto;margin:0;padding:20px;background:var(--white);border:1px solid var(--line);border-radius:9px;display:flex;flex-direction:column;align-items:flex-start}
.woocommerce ul.products li.product a img{aspect-ratio:1;object-fit:contain;margin-bottom:20px;border-radius:4px}
.woocommerce ul.products li.product .woocommerce-loop-product__title,.woocommerce ul.products li.product .woocommerce-loop-category__title{font-size:22px;letter-spacing:-.035em;line-height:1.22;padding:0;margin-bottom:14px;color:var(--ink)}
.woocommerce ul.products li.product .price{font-size:20px;font-weight:600;color:var(--ink);margin-bottom:12px}
.woocommerce ul.products li.product .button{margin-top:auto}
.woocommerce span.onsale{background:var(--teal);color:var(--navy);font-size:12px;font-weight:650}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{background:var(--blue);color:#fff;border:1px solid var(--blue);border-radius:5px;box-shadow:none;font-size:15px;font-weight:600;line-height:1.4;padding:12px 20px;text-decoration:none}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt{background:var(--blue);border-color:var(--blue);color:#fff}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled]{opacity:.55;color:#fff}
.woocommerce div.product .product_title{font-size:clamp(31px,3.8vw,46px);line-height:1.13;letter-spacing:-.045em;margin-bottom:25px}
.woocommerce div.product p.price,.woocommerce div.product span.price{font-size:26px;font-weight:600;color:var(--ink)}
.woocommerce div.product .woocommerce-tabs h2,.woocommerce .related>h2,.woocommerce .upsells>h2{font-size:clamp(27px,3vw,36px);letter-spacing:-.04em}
.woocommerce .quantity .qty{min-height:47px;width:75px;border:1px solid var(--line);border-radius:5px;background:var(--white);color:var(--ink)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{border:1px solid var(--line);border-radius:5px;padding:11px 13px;background:var(--white);color:var(--ink)}
.woocommerce table.shop_table{background:var(--white);border-color:var(--line);border-radius:8px}
.woocommerce table.shop_table td,.woocommerce table.shop_table th{padding:13px 15px}
.woocommerce .woocommerce-info,.woocommerce .woocommerce-message{border-top-color:var(--blue);background:#eaf4f8;color:var(--ink)}
.woocommerce .woocommerce-info::before,.woocommerce .woocommerce-message::before{color:var(--blue)}
.woocommerce nav.woocommerce-pagination ul,.woocommerce nav.woocommerce-pagination ul li{border-color:var(--line)}
.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{min-width:40px;min-height:40px;padding:12px;color:var(--ink)}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--navy);color:#fff}
/* Documented public block button component. Native responsive container layout stays intact. */
.wc-block-components-button:not(.is-link){background:var(--blue);color:#fff;border:1px solid var(--blue);border-radius:5px;font-weight:600;box-shadow:none}
.wc-block-components-button:not(.is-link):hover{background:var(--navy);border-color:var(--navy);color:#fff}
.wc-block-components-button:not(.is-link):disabled{opacity:.55}
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{max-width:none;margin-top:0}
.soit-store-toolbar{padding:22px;margin:0 0 34px;background:var(--white);border:1px solid var(--line);border-radius:9px}
.soit-store-utilities{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px 22px;font-size:14px;margin-bottom:17px}
.soit-store-utilities a{color:var(--blue);font-weight:600}
.soit-store-controls{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;align-items:end}.soit-product-search-form,.soit-category-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin:0}
.soit-store-field{min-width:0}.soit-store-field label{display:block;font-size:13px;line-height:1.4;font-weight:600;color:var(--ink);margin-bottom:7px}
.soit-store-field input,.soit-store-field select{width:100%;min-width:0;min-height:46px;padding:10px 12px;background:var(--white);color:var(--ink);border:1px solid #adbac5;border-radius:5px;font:inherit;font-size:15px}
.soit-store-search-button{min-height:46px;padding:10px 22px;border:1px solid var(--blue);border-radius:5px;background:var(--blue);color:#fff;font-size:15px;font-weight:600;cursor:pointer}
.soit-store-search-button:hover{background:var(--navy);border-color:var(--navy)}
.soit-store-field input:focus-visible,.soit-store-field select:focus-visible{outline:3px solid #368bff;outline-offset:3px}
.soit-supplier-stock{padding:16px 0;margin:15px 0 23px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.soit-supplier-stock .soit-supplier-stock-value{margin:0 0 7px;font-size:16px;color:var(--ink)}.soit-supplier-stock-value span{display:inline-block;padding:2px 10px;margin-left:5px;border-radius:4px;background:var(--mint);font-weight:650}.soit-supplier-stock.is-unavailable .soit-supplier-stock-value span{background:#e9edef;color:var(--muted)}
.soit-supplier-stock .soit-supplier-stock-note{margin:0;font-size:13px;line-height:1.5;color:var(--muted)}
@media(max-width:900px){.soit-store-controls{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.soit-store-toolbar{padding:18px}.soit-product-search-form,.soit-category-form{grid-template-columns:minmax(0,1fr)}.soit-store-search-button{width:100%}.soit-store-utilities{justify-content:flex-start}}
@media(max-width:900px){.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:600px){.soit-commerce{padding-block:40px 55px}.soit-commerce-page{padding-block:45px}.woocommerce ul.products{grid-template-columns:minmax(0,1fr);gap:22px}.woocommerce ul.products li.product{padding:20px}.woocommerce .woocommerce-ordering{float:none;clear:both}.woocommerce .woocommerce-result-count{float:none;margin-bottom:12px}.woocommerce div.product .woocommerce-tabs ul.tabs{padding-left:0}.woocommerce ul.products li.product a img{max-height:290px}.soit-commerce-page>h1{font-size:36px}}
