/* Astra's existing WooCommerce templates, query, gallery and forms remain native. */
.woocommerce .ast-onsale-card,.woocommerce span.onsale{background:var(--oci-forest);color:white;border-radius:2px;box-shadow:none;padding:7px 11px;font:600 12px/1.4 var(--oci-sans)}
.woocommerce .site-content { background:var(--oci-cream); }
.woocommerce #primary { margin:0; padding:0; width:100%; }
.single-product.woocommerce #main { padding:0; }
.woocommerce .site-content > .ast-container { padding-left:32px; padding-right:32px; padding-top:28px; padding-bottom:48px; max-width:1264px; }
.woocommerce .woocommerce-breadcrumb { margin-bottom:24px; color:var(--oci-muted); }
.woocommerce .woocommerce-products-header__title { font-size:46px; margin-bottom:12px; }
.woocommerce .oci-shop-intro { font-size:15px; color:var(--oci-muted); max-width:540px; margin-bottom:24px; }
.woocommerce .oci-shop-categories { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 32px; }
.woocommerce .oci-shop-categories a { display:inline-flex; align-items:center; min-height:42px; padding:9px 16px; border:1px solid var(--oci-line); font-size:12px; text-decoration:none; background:white; border-radius:2px; }
.woocommerce .oci-shop-categories a:hover, .woocommerce .oci-shop-categories a[aria-current] { background:var(--oci-forest); color:white; border-color:var(--oci-forest); }
.woocommerce .woocommerce-ordering select { background:white; border:1px solid var(--oci-line); min-height:42px; padding:8px 12px; }
.woocommerce ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px 24px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product { display:flex; flex-direction:column; float:none; width:auto; min-width:0; margin:0; padding:0; box-shadow:none; }
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap { margin:0 0 14px; }
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap img { aspect-ratio:1; width:100%; height:auto; object-fit:contain; margin:0; }
.woocommerce ul.products li.product .astra-shop-summary-wrap { display:flex; flex-direction:column; flex:1; min-width:0; }
.woocommerce ul.products li.product .ast-woo-product-category { font-size:11px; margin-bottom:7px; color:var(--oci-muted); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height:4.35em; margin:0 0 10px; color:var(--oci-ink); }
.woocommerce ul.products li.product .price { margin:auto 0 0; font-size:15px; }
.woocommerce ul.products li.product .button { display:flex; align-items:center; justify-content:center; width:100%; min-height:44px; margin-top:14px; padding:10px 12px; text-align:center; }
.woocommerce ul.products li.product .button:hover { background:var(--oci-forest); color:white; border-color:var(--oci-forest); }
.woocommerce .woocommerce-pagination { margin-top:32px; }
.woocommerce div.product div.images { width:49%; }
.woocommerce div.product div.summary { width:45%; }
.woocommerce div.product .woocommerce-product-gallery__image { background:#fff; }
.woocommerce div.product .woocommerce-product-gallery__image img { width:100%; object-fit:contain; }
.woocommerce div.product div.images .flex-control-thumbs { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin-top:14px; }
.woocommerce div.product div.images .flex-control-thumbs li { width:100%; float:none; margin:0; }
.woocommerce div.product div.images .flex-control-thumbs img { width:100%; border:1px solid var(--oci-line); aspect-ratio:1; object-fit:contain; }
.woocommerce div.product .product_title { font-size:38px; letter-spacing:-.03em; line-height:1.12; }
.woocommerce div.product .woocommerce-product-details__short-description { line-height:1.65; }
.woocommerce div.product form.cart .variations { margin-bottom:16px; }
.woocommerce div.product form.cart .variations label { font:600 13px/1.5 var(--oci-sans); }
.woocommerce div.product form.cart .variations select { color:var(--oci-ink); font-size:14px; width:100%; }
.woocommerce div.product form.cart .button { min-height:46px; border-radius:2px; font:600 14px/1.4 var(--oci-sans); padding:12px 28px; }
.woocommerce div.product form.cart .quantity input { min-height:46px; border-color:var(--oci-line); }
.woocommerce div.product .oci-product-help { font-size:12px; padding:16px 0; margin:0 0 16px; border-bottom:1px solid var(--oci-line); }
.woocommerce div.product .oci-product-help a { display:inline-block; margin-left:5px; }
.woocommerce div.product .woocommerce-tabs { padding-top:32px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { border-color:var(--oci-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-size:14px; font-weight:500; }
.woocommerce div.product .woocommerce-tabs .panel { font-size:15px; line-height:1.7; max-width:900px; margin-bottom:40px; }
.woocommerce div.product .woocommerce-tabs h2, .woocommerce .related > h2 { font:400 32px/1.2 var(--oci-serif); margin-bottom:20px; }
.woocommerce .woocommerce-message { border-top-color:var(--oci-forest); background:var(--oci-sage); }
@media(max-width:1100px) {
 .woocommerce ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 20px; }
 .woocommerce div.product .product_title { font-size:34px; }
}
@media(max-width:767px) {
 .woocommerce .site-content > .ast-container { padding:24px 24px 40px; }
 .woocommerce .woocommerce-products-header__title { font-size:38px; }
 .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 14px; }
 .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:13px; }
 .woocommerce ul.products li.product .price { font-size:14px; }
 .woocommerce .oci-shop-categories { gap:8px; margin-bottom:24px; }
 .woocommerce .oci-shop-categories a { min-height:42px; padding:9px 12px; font-size:11px; }
 .woocommerce .woocommerce-result-count { float:none; margin-bottom:12px; }
 .woocommerce .woocommerce-ordering { float:none; margin-bottom:24px; }
 .woocommerce .woocommerce-ordering select { width:100%; }
 .woocommerce div.product div.images, .woocommerce div.product div.summary { width:100%; float:none; }
 .woocommerce div.product div.images { margin-bottom:28px; }
 .woocommerce div.product .product_title { font-size:34px; }
 .woocommerce div.product .woocommerce-tabs ul.tabs li a { font-size:12px; }
 .woocommerce div.product .woocommerce-tabs { padding-top:16px; }
}
