/* Forge 8.31.8 — shared WooCommerce storefront primitives.
 * Scoped to Forge's full-canvas root. Template CSS remains responsible for page composition.
 */
.aisg-canvas-root{
  --forge-commerce-max:1180px;
  --forge-commerce-gap:clamp(16px,2vw,28px);
  --forge-commerce-radius:16px;
  --forge-commerce-radius-sm:12px;
  --forge-commerce-border:var(--forge-template-border,rgba(127,127,127,.24));
  --forge-commerce-surface:var(--forge-template-surface,rgba(127,127,127,.08));
  --forge-commerce-text:var(--forge-template-text,inherit);
  --forge-commerce-muted:var(--forge-template-muted,#6b7280);
  --forge-commerce-accent:var(--forge-template-accent,currentColor);
}
.aisg-canvas-root :where(.woocommerce,.woocommerce-page){box-sizing:border-box;color:var(--forge-commerce-text)}
.aisg-canvas-root :where(.woocommerce *,.woocommerce-page *){box-sizing:border-box}
.aisg-canvas-root :where(.woocommerce a,.woocommerce-page a){color:inherit}

/* Notices */
.aisg-canvas-root :where(.woocommerce-message,.woocommerce-info,.woocommerce-error){position:relative;margin:0 0 24px!important;padding:16px 18px!important;border:1px solid var(--forge-commerce-border)!important;border-radius:var(--forge-commerce-radius-sm);background:var(--forge-commerce-surface);color:var(--forge-commerce-text);list-style:none}
.aisg-canvas-root :where(.woocommerce-error){border-inline-start-width:4px!important}

/* Archive controls */
.aisg-canvas-root :where(.woocommerce-result-count){margin:0;color:var(--forge-commerce-muted);line-height:48px}
.aisg-canvas-root :where(.woocommerce-ordering){margin:0}
.aisg-canvas-root :where(.woocommerce-ordering select){min-height:48px;padding:0 42px 0 14px;border:1px solid var(--forge-commerce-border);border-radius:999px;background:var(--forge-commerce-surface);color:var(--forge-commerce-text);font:inherit}

/* Native product grids/cards */
/* Native WooCommerce loop output can be injected inside Forge's legacy
 * .forge-product-grid wrapper. That wrapper is itself a 3-column grid, so the
 * native <ul class="products"> must span the complete wrapper instead of
 * becoming one narrow grid item. */
.aisg-canvas-root .forge-product-grid > :where(ul.products,.woocommerce,.woocommerce-page){grid-column:1 / -1;width:100%;min-width:0}
.aisg-canvas-root .forge-product-grid > :where(.woocommerce,.woocommerce-page) > :where(ul.products){width:100%}
.aisg-canvas-root :where(.woocommerce ul.products,.woocommerce-page ul.products){display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--forge-commerce-gap);margin:0!important;padding:0!important;list-style:none!important}
.aisg-canvas-root :where(.woocommerce ul.products::before,.woocommerce ul.products::after){display:none!important}
.aisg-canvas-root :where(.woocommerce ul.products li.product,.woocommerce-page ul.products li.product){position:relative;float:none!important;width:auto!important;margin:0!important;padding:0 0 18px!important;min-width:0;border:1px solid var(--forge-commerce-border);border-radius:var(--forge-commerce-radius);overflow:hidden;background:var(--forge-commerce-surface)}
.aisg-canvas-root :where(.woocommerce ul.products li.product a.woocommerce-LoopProduct-link){display:block;text-decoration:none}
.aisg-canvas-root :where(.woocommerce ul.products li.product img){display:block;width:100%!important;height:auto;margin:0!important;aspect-ratio:1/1;object-fit:cover;background:var(--forge-commerce-surface)}
.aisg-canvas-root :where(.woocommerce ul.products li.product .woocommerce-loop-product__title){margin:0;padding:18px 18px 8px!important;color:var(--forge-commerce-text);font-size:clamp(16px,1.5vw,20px)!important;line-height:1.2;font-weight:750}
.aisg-canvas-root :where(.woocommerce ul.products li.product .price){display:block;margin:0;padding:0 18px;color:var(--forge-commerce-text)!important;font-size:15px!important;font-weight:750}
.aisg-canvas-root :where(.woocommerce ul.products li.product .price del){margin-right:6px;color:var(--forge-commerce-muted);opacity:.7;font-weight:500}
.aisg-canvas-root :where(.woocommerce ul.products li.product .price ins){text-decoration:none;font-weight:850}
.aisg-canvas-root :where(.woocommerce ul.products li.product .onsale){position:absolute;z-index:2;top:12px!important;right:12px!important;left:auto!important;min-width:0!important;min-height:0!important;margin:0!important;padding:7px 10px!important;border:0;border-radius:999px;background:var(--forge-commerce-text,#111)!important;color:var(--forge-template-bg,#fff)!important;font-size:11px!important;line-height:1!important;font-weight:850}
.aisg-canvas-root :where(.woocommerce ul.products li.product .button){display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:16px 18px 0!important;padding:10px 16px!important;border:1px solid var(--forge-commerce-border)!important;border-radius:999px!important;background:var(--forge-commerce-text,#111)!important;color:var(--forge-template-bg,#fff)!important;text-decoration:none;font-size:13px!important;font-weight:800!important;line-height:1.2!important}
.aisg-canvas-root :where(.woocommerce ul.products li.product .added_to_cart){display:inline-block;margin:10px 18px 0;font-size:13px;font-weight:700}
.aisg-canvas-root :where(.woocommerce .star-rating){color:var(--forge-commerce-accent)}

/* Pagination */
.aisg-canvas-root :where(.woocommerce nav.woocommerce-pagination ul){display:flex!important;flex-wrap:wrap;justify-content:center;gap:8px;margin:34px 0 0!important;border:0!important}
.aisg-canvas-root :where(.woocommerce nav.woocommerce-pagination ul li){float:none!important;border:0!important}
.aisg-canvas-root :where(.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span){display:grid;place-items:center;min-width:42px;min-height:42px;padding:8px!important;border:1px solid var(--forge-commerce-border);border-radius:999px;background:var(--forge-commerce-surface);color:var(--forge-commerce-text)}
.aisg-canvas-root :where(.woocommerce nav.woocommerce-pagination ul li span.current){background:var(--forge-commerce-text,#111);color:var(--forge-template-bg,#fff)}

/* Single product native output */
.aisg-canvas-root :where(.woocommerce-product-gallery){max-width:100%}
.aisg-canvas-root :where(.woocommerce-product-gallery img){display:block;max-width:100%;height:auto;border-radius:var(--forge-commerce-radius)}
.aisg-canvas-root :where(.product_title.entry-title){margin:0;color:var(--forge-commerce-text);line-height:1.05}
.aisg-canvas-root :where(.summary .price){color:var(--forge-commerce-text)!important;font-weight:800}
.aisg-canvas-root :where(.summary .price del){color:var(--forge-commerce-muted);opacity:.7}
.aisg-canvas-root :where(.summary .price ins){text-decoration:none}
.aisg-canvas-root :where(.woocommerce-product-details__short-description){color:var(--forge-commerce-muted);line-height:1.7}
.aisg-canvas-root :where(form.cart){display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.aisg-canvas-root :where(.quantity .qty){width:84px;min-height:48px;padding:8px 10px;border:1px solid var(--forge-commerce-border);border-radius:var(--forge-commerce-radius-sm);background:var(--forge-commerce-surface);color:var(--forge-commerce-text);font:inherit}
.aisg-canvas-root :where(.single_add_to_cart_button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce #place_order){min-height:48px;padding:11px 20px!important;border:0!important;border-radius:999px!important;background:var(--forge-commerce-text,#111)!important;color:var(--forge-template-bg,#fff)!important;font-weight:800!important;box-shadow:none!important}
.aisg-canvas-root :where(table.variations){width:100%;margin:0 0 18px;border-collapse:separate;border-spacing:0 10px}
.aisg-canvas-root :where(table.variations th,table.variations td){padding:0 10px 0 0;text-align:left;vertical-align:middle}
.aisg-canvas-root :where(table.variations select){width:100%;min-height:48px;padding:10px 14px;border:1px solid var(--forge-commerce-border);border-radius:var(--forge-commerce-radius-sm);background:var(--forge-commerce-surface);color:var(--forge-commerce-text);font:inherit}
.aisg-canvas-root :where(.reset_variations){display:inline-block;margin-top:8px;color:var(--forge-commerce-muted);font-size:13px}
.aisg-canvas-root :where(.single_variation_wrap){width:100%}
.aisg-canvas-root :where(.woocommerce-variation-price){margin:0 0 12px;font-size:1.15em;font-weight:800}
.aisg-canvas-root :where(.stock){font-weight:700}
.aisg-canvas-root :where(.product_meta){color:var(--forge-commerce-muted);font-size:13px;line-height:1.8}

/* Tabs + related */
.aisg-canvas-root :where(.woocommerce-tabs ul.tabs){display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 22px!important;padding:0!important;border:0!important;list-style:none}
.aisg-canvas-root :where(.woocommerce-tabs ul.tabs::before,.woocommerce-tabs ul.tabs li::before,.woocommerce-tabs ul.tabs li::after){display:none!important}
.aisg-canvas-root :where(.woocommerce-tabs ul.tabs li){margin:0!important;padding:0!important;border:1px solid var(--forge-commerce-border)!important;border-radius:999px!important;background:var(--forge-commerce-surface)!important}
.aisg-canvas-root :where(.woocommerce-tabs ul.tabs li a){display:block;padding:10px 16px!important;text-decoration:none}
.aisg-canvas-root :where(.woocommerce-tabs .panel){line-height:1.75}
.aisg-canvas-root :where(.related.products>h2,.upsells.products>h2){margin:48px 0 22px;font-size:clamp(26px,4vw,42px)}

/* Forms */
.aisg-canvas-root :where(.woocommerce form .form-row){margin:0 0 16px;padding:0}
.aisg-canvas-root :where(.woocommerce form .form-row label){display:block;margin:0 0 7px;font-size:13px;font-weight:700}
.aisg-canvas-root :where(.woocommerce input.input-text,.woocommerce input[type=text],.woocommerce input[type=email],.woocommerce input[type=tel],.woocommerce input[type=password],.woocommerce textarea,.woocommerce select){width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--forge-commerce-border);border-radius:var(--forge-commerce-radius-sm);background:var(--forge-commerce-surface);color:var(--forge-commerce-text);font:inherit}
.aisg-canvas-root :where(.woocommerce textarea){min-height:120px;resize:vertical}
.aisg-canvas-root :where(.select2-container .select2-selection--single){height:48px;border:1px solid var(--forge-commerce-border);border-radius:var(--forge-commerce-radius-sm);background:var(--forge-commerce-surface)}
.aisg-canvas-root :where(.select2-container .select2-selection--single .select2-selection__rendered){line-height:46px;color:var(--forge-commerce-text)}

/* Tables, cart, checkout */
.aisg-canvas-root :where(.woocommerce table.shop_table){width:100%;border:1px solid var(--forge-commerce-border)!important;border-collapse:separate;border-spacing:0;border-radius:var(--forge-commerce-radius);overflow:hidden;background:var(--forge-commerce-surface)}
.aisg-canvas-root :where(.woocommerce table.shop_table th,.woocommerce table.shop_table td){padding:16px!important;border-color:var(--forge-commerce-border)!important}
.aisg-canvas-root :where(.woocommerce table.shop_table img){width:72px!important;height:72px!important;object-fit:cover;border-radius:10px}
.aisg-canvas-root :where(.cart_totals,.woocommerce-checkout-review-order,.woocommerce-checkout-payment,.woocommerce-MyAccount-navigation,.woocommerce-MyAccount-content,.woocommerce form.login,.woocommerce form.register,.woocommerce form.lost_reset_password,.woocommerce form.woocommerce-ResetPassword){padding:clamp(18px,3vw,28px);border:1px solid var(--forge-commerce-border);border-radius:var(--forge-commerce-radius);background:var(--forge-commerce-surface)}
.aisg-canvas-root :where(.woocommerce-checkout .col2-set){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--forge-commerce-gap)}
.aisg-canvas-root :where(.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2){float:none!important;width:auto!important}
.aisg-canvas-root :where(.woocommerce-MyAccount-navigation ul){margin:0;padding:0;list-style:none}
.aisg-canvas-root :where(.woocommerce-MyAccount-navigation li+li){border-top:1px solid var(--forge-commerce-border)}
.aisg-canvas-root :where(.woocommerce-MyAccount-navigation a){display:block;padding:12px 4px;text-decoration:none}
.aisg-canvas-root :where(.woocommerce-MyAccount-navigation li.is-active a){font-weight:850}
.aisg-canvas-root :where(.woocommerce-account .woocommerce){display:flow-root}
.aisg-canvas-root :where(.woocommerce-account .woocommerce-MyAccount-navigation){float:left;width:28%}
.aisg-canvas-root :where(.woocommerce-account .woocommerce-MyAccount-content){float:right;width:calc(72% - var(--forge-commerce-gap))}

@media (max-width:980px){
  .aisg-canvas-root :where(.woocommerce ul.products,.woocommerce-page ul.products){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .aisg-canvas-root :where(.woocommerce-checkout .col2-set){grid-template-columns:1fr}
  .aisg-canvas-root :where(.woocommerce-account .woocommerce-MyAccount-navigation,.woocommerce-account .woocommerce-MyAccount-content){float:none;width:100%}
  .aisg-canvas-root :where(.woocommerce-account .woocommerce-MyAccount-navigation){margin-bottom:var(--forge-commerce-gap)}
  .aisg-canvas-root :where(.woocommerce table.shop_table){display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .aisg-canvas-root :where(form.cart){align-items:stretch}
  .aisg-canvas-root :where(.single_add_to_cart_button){flex:1 1 180px}
}
@media (max-width:600px){
  .aisg-canvas-root :where(.woocommerce ul.products,.woocommerce-page ul.products){grid-template-columns:1fr}
  .aisg-canvas-root :where(.woocommerce-result-count){float:none!important;line-height:1.5;margin-bottom:12px!important}
  .aisg-canvas-root :where(.woocommerce-ordering){float:none!important;width:100%}
  .aisg-canvas-root :where(.woocommerce-ordering select){width:100%}
  .aisg-canvas-root :where(table.variations th,table.variations td){display:block;width:100%;padding:0 0 8px}
}

/* 8.31.9 — dynamic grouped Shop category sections */
.aisg-canvas-root .forge-wc-category-section{margin:0 0 clamp(42px,6vw,84px);width:100%;min-width:0}
.aisg-canvas-root .forge-wc-category-section__header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 22px;padding-bottom:14px;border-bottom:1px solid var(--forge-commerce-border)}
.aisg-canvas-root .forge-wc-category-section__title{margin:0;font-size:clamp(26px,3vw,44px);line-height:1.05;color:var(--forge-commerce-text)}
.aisg-canvas-root .forge-wc-category-section__view-all{flex:0 0 auto;color:var(--forge-commerce-text);font-size:13px;font-weight:800;text-decoration:none}
.aisg-canvas-root .forge-wc-category-section__view-all:hover{text-decoration:underline}
@media (max-width:600px){.aisg-canvas-root .forge-wc-category-section__header{align-items:flex-start;flex-direction:column;gap:8px}}
