/* Native WooCommerce templates: presentation only, scoped to the new theme. */
body.arb-demo-site .woocommerce-breadcrumb { color: var(--arb-demo-muted); font-size: 13px; margin-bottom: 24px; }
body.arb-demo-site .woocommerce-products-header { margin-bottom: 32px; }
body.arb-demo-site .woocommerce-products-header__title { margin: 0 0 12px; }
body.arb-demo-site .woocommerce-result-count { color: var(--arb-demo-muted); margin-bottom: 24px; }
body.arb-demo-site .woocommerce-ordering { margin-bottom: 24px; }
body.arb-demo-site ul.products {
  display: grid; grid-template-columns: minmax(0,1fr); gap: 24px; clear: both;
  list-style: none; margin: 0 0 40px; padding: 0;
}
body.arb-demo-site ul.products::before, body.arb-demo-site ul.products::after { content: none; }
body.arb-demo-site ul.products[class*="columns-"] > li.product,
body.arb-demo-site ul.products > li.product {
  box-sizing: border-box; width: auto; min-width: 0; float: none; margin: 0; padding: 20px;
  border: 1px solid var(--arb-demo-border); border-radius: var(--arb-demo-radius-lg);
  background: #fff; box-shadow: var(--arb-demo-shadow);
}
body.arb-demo-site ul.products li.product a { text-decoration: none; }
body.arb-demo-site ul.products li.product a img {
  display: block; width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover;
  margin: 0 0 20px; border-radius: var(--arb-demo-radius-md);
}
body.arb-demo-site ul.products li.product .woocommerce-loop-product__title { padding: 0; margin: 0 0 12px; font: 400 25px/1.2 var(--arb-demo-display-font); color: var(--arb-demo-ink); letter-spacing: -.025em; }
body.arb-demo-site ul.products li.product .price { color: var(--arb-demo-header); font-size: 16px; line-height: 1.6; margin-bottom: 16px; }
body.arb-demo-site ul.products li.product .price del { opacity: .7; }
body.arb-demo-site ul.products li.product .button { margin-top: 12px; }
body.arb-demo-site .arb-demo-commerce span.onsale { min-height: 32px; line-height: 1.6; min-width: auto; padding: 5px 12px; border-radius: 999px; background: var(--arb-demo-cta); color: #fff; top: 12px; left: 12px; right: auto; margin: 0; }
body.arb-demo-site .star-rating { color: var(--arb-demo-cta); }

/* Keep plugin-owned product/summary/grid topology. */
body.arb-demo-site div.product .product_title { margin-top: 0; font: 400 clamp(30px,3.3vw,42px)/1.14 var(--arb-demo-display-font); color: var(--arb-demo-ink); letter-spacing: -.025em; }
body.arb-demo-site div.product p.price, body.arb-demo-site div.product span.price { color: var(--arb-demo-header); font-size: 24px; }
body.arb-demo-site .woocommerce-product-details__short-description { color: var(--arb-demo-muted); font-size: 15px; }
body.arb-demo-site .woocommerce-product-gallery__wrapper { margin: 0; }
body.arb-demo-site .woocommerce-product-gallery__image img { border-radius: var(--arb-demo-radius-lg); }
body.arb-demo-site .product_meta { color: var(--arb-demo-muted); font-size: 13px; }
body.arb-demo-site .product_meta > span { display: block; margin-bottom: 6px; }
body.arb-demo-site .arb-demo-commerce div.product .woocommerce-tabs { margin-top: 32px; }
body.arb-demo-site .arb-demo-commerce div.product .woocommerce-tabs ul.tabs { padding: 0 0 14px; margin: 0 0 24px; overflow: visible; }
body.arb-demo-site .arb-demo-commerce div.product .woocommerce-tabs ul.tabs::before { border-bottom: 1px solid var(--arb-demo-border); }
body.arb-demo-site .arb-demo-commerce div.product .woocommerce-tabs ul.tabs li { margin: 0 8px 8px 0; padding: 0; border: 1px solid var(--arb-demo-border); border-radius: 999px; background: #fff; }
body.arb-demo-site .arb-demo-commerce div.product .woocommerce-tabs ul.tabs li::before,
body.arb-demo-site .arb-demo-commerce div.product .woocommerce-tabs ul.tabs li::after { content: none; }
body.arb-demo-site .arb-demo-commerce div.product .woocommerce-tabs ul.tabs li a { padding: 10px 20px; color: var(--arb-demo-cta); font-family: var(--arb-demo-body-font); font-weight: 500; }
body.arb-demo-site .arb-demo-commerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--arb-demo-cta); border-color: var(--arb-demo-cta); }
body.arb-demo-site .arb-demo-commerce div.product .woocommerce-tabs ul.tabs li.active a { color: #fff; }
body.arb-demo-site .woocommerce-Tabs-panel { color: var(--arb-demo-muted); }
body.arb-demo-site .related.products, body.arb-demo-site .upsells.products { clear: both; padding-top: 32px; }
body.arb-demo-site .related.products > h2, body.arb-demo-site .upsells.products > h2 { margin-bottom: 24px; }

/* Buttons retain native display, disabled, loading and submission behavior. */
body.arb-demo-site .arb-demo-commerce :is(a.button, button.button, input.button),
body.arb-demo-site.woocommerce :is(a.button, button.button, input.button),
body.arb-demo-site .wc-block-components-button:not(.is-link) {
  box-sizing: border-box; min-height: 48px; padding: 13px 22px;
  border: 1px solid var(--arb-demo-cta); border-radius: var(--arb-demo-radius-pill);
  background: var(--arb-demo-cta); color: #fff; box-shadow: none;
  font: 500 14px/1.5 var(--arb-demo-body-font); text-decoration: none;
}
body.arb-demo-site .arb-demo-commerce :is(a.button, button.button, input.button):not(:disabled):not(.disabled):hover,
body.arb-demo-site.woocommerce :is(a.button, button.button, input.button):not(:disabled):not(.disabled):hover { background: var(--arb-demo-header); border-color: var(--arb-demo-header); color: #fff; }

/* Exclude checkboxes, radios, hidden inputs and payment iframes from field sizing. */
body.arb-demo-site .arb-demo-commerce input:is([type="text"], [type="email"], [type="tel"], [type="password"], [type="number"], [type="search"], [type="url"]),
body.arb-demo-site.woocommerce .quantity input.qty,
body.arb-demo-site .arb-demo-commerce select,
body.arb-demo-site .arb-demo-commerce textarea,
body.arb-demo-site .woocommerce-ordering select {
  box-sizing: border-box; max-width: 100%; min-height: 46px; padding: 10px 12px;
  border: 1px solid var(--arb-demo-border); border-radius: var(--arb-demo-radius-sm);
  background-color: #fff; color: var(--arb-demo-ink);
  font: 400 16px/1.5 var(--arb-demo-body-font);
}
body.arb-demo-site .arb-demo-commerce .quantity input.qty { padding-inline: 6px; }
body.arb-demo-site .arb-demo-commerce textarea { min-height: 120px; }
body.arb-demo-site .arb-demo-commerce form .form-row label { color: var(--arb-demo-ink); font-size: 14px; line-height: 1.6; margin-bottom: 6px; }
body.arb-demo-site .arb-demo-commerce form .form-row .required { color: #9B2C35; }
body.arb-demo-site .arb-demo-commerce form .woocommerce-invalid :is(input.input-text, select, .select2-selection) { border-color: #B13D43; }
body.arb-demo-site .arb-demo-commerce .select2-container { font-family: var(--arb-demo-body-font); }
body.arb-demo-site .arb-demo-commerce .select2-container .select2-selection--single { min-height: 46px; border-color: var(--arb-demo-border); border-radius: 8px; }
body.arb-demo-site .arb-demo-commerce .select2-selection--single .select2-selection__rendered { padding: 7px 12px; color: var(--arb-demo-ink); line-height: 30px; }
body.arb-demo-site .arb-demo-commerce .select2-selection--single .select2-selection__arrow { height: 44px; }

/* Notices keep native messages, roles and error/success distinctions. */
body.arb-demo-site :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) { box-sizing: border-box; border-radius: var(--arb-demo-radius-md); background: #fff; box-shadow: var(--arb-demo-shadow); color: var(--arb-demo-ink); padding-block: 18px; }
body.arb-demo-site .woocommerce-info { border-top-color: var(--arb-demo-brand); }
body.arb-demo-site .woocommerce-info::before { color: var(--arb-demo-cta); }
body.arb-demo-site .woocommerce-message { border-top-color: #37715C; }
body.arb-demo-site .woocommerce-message::before { color: #37715C; }
body.arb-demo-site .woocommerce-error { border-top-color: #B13D43; }
body.arb-demo-site .woocommerce-error::before { color: #B13D43; }
body.arb-demo-site .arb-demo-commerce a.remove { min-width: 28px; min-height: 28px; }

/* Native responsive table markup and data-title labels remain intact. */
body.arb-demo-site .arb-demo-commerce table.shop_table { border: 1px solid var(--arb-demo-border); border-radius: var(--arb-demo-radius-md); border-collapse: separate; background: #fff; margin-bottom: 28px; overflow-wrap: anywhere; }
body.arb-demo-site .arb-demo-commerce table.shop_table :is(th, td) { padding: 16px 14px; border-color: var(--arb-demo-border); }
body.arb-demo-site .arb-demo-commerce table.shop_table th { color: var(--arb-demo-ink); font-size: 14px; font-weight: 600; }
body.arb-demo-site .arb-demo-commerce table.shop_table thead { background: var(--arb-demo-bg-alt); }
body.arb-demo-site .arb-demo-commerce .cart-collaterals .cart_totals,
body.arb-demo-site .arb-demo-commerce .woocommerce-checkout-review-order,
body.arb-demo-site .arb-demo-commerce .woocommerce-customer-details,
body.arb-demo-site .arb-demo-commerce .woocommerce-order-details { margin-bottom: 32px; }
body.arb-demo-site .arb-demo-commerce .cart-collaterals .cart_totals h2,
body.arb-demo-site .arb-demo-commerce #order_review_heading { font: 400 28px/1.2 var(--arb-demo-display-font); }
body.arb-demo-site .arb-demo-commerce form.checkout_coupon,
body.arb-demo-site .arb-demo-commerce form.login,
body.arb-demo-site .arb-demo-commerce form.register { border: 1px solid var(--arb-demo-border); border-radius: var(--arb-demo-radius-lg); background: #fff; padding: 24px; }
body.arb-demo-site .arb-demo-commerce .woocommerce-MyAccount-navigation { border: 1px solid var(--arb-demo-border); border-radius: 14px; background: #fff; box-sizing: border-box; padding: 16px; }
body.arb-demo-site .arb-demo-commerce .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
body.arb-demo-site .arb-demo-commerce .woocommerce-MyAccount-navigation a { display: block; padding: 10px; }
body.arb-demo-site .arb-demo-commerce .woocommerce-MyAccount-navigation .is-active a { background: var(--arb-demo-bg-alt); border-radius: 8px; color: var(--arb-demo-ink); font-weight: 600; }
body.arb-demo-site .arb-demo-commerce :is(.cart .coupon, .checkout_coupon) input.input-text { min-width: 130px; width: auto; max-width: 100%; }
body.arb-demo-site .arb-demo-commerce ul.order_details { padding: 20px 0; border-block: 1px solid var(--arb-demo-border); }
body.arb-demo-site .arb-demo-commerce ul.order_details li { color: var(--arb-demo-muted); line-height: 1.6; margin-bottom: 14px; }
body.arb-demo-site .arb-demo-commerce ul.order_details li strong { color: var(--arb-demo-ink); }
body.arb-demo-site .arb-demo-commerce .woocommerce-customer-details address { box-sizing: border-box; border-color: var(--arb-demo-border); border-radius: 14px; background: #fff; padding: 20px; }
body.arb-demo-site #add_payment_method #payment,
body.arb-demo-site .woocommerce-cart #payment,
body.arb-demo-site .woocommerce-checkout #payment { background: var(--arb-demo-bg-alt); border-radius: var(--arb-demo-radius-md); }
body.arb-demo-site .arb-demo-commerce :is(.wc-item-meta, dl.variation) { font-size: 13px; color: var(--arb-demo-muted); overflow-wrap: anywhere; }
body.arb-demo-site .arb-demo-commerce nav.woocommerce-pagination ul { border: 0; display: inline-flex; gap: 8px; flex-wrap: wrap; }
body.arb-demo-site .arb-demo-commerce nav.woocommerce-pagination ul li { border: 1px solid var(--arb-demo-border); border-radius: 8px; overflow: hidden; }
body.arb-demo-site .arb-demo-commerce nav.woocommerce-pagination ul li :is(a, span) { min-width: 44px; min-height: 44px; box-sizing: border-box; padding: 13px; background: #fff; color: var(--arb-demo-cta); }
body.arb-demo-site .arb-demo-commerce nav.woocommerce-pagination ul li .current { background: var(--arb-demo-cta); color: #fff; }

/* Supported block surfaces only; no private cart/checkout DOM selectors. */
body.arb-demo-site :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) { color: var(--arb-demo-ink); font-family: var(--arb-demo-body-font); }
body.arb-demo-site .wc-block-components-button { font-family: var(--arb-demo-body-font); }
@media (min-width: 640px) { body.arb-demo-site ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (min-width: 1024px) { body.arb-demo-site ul.products { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 767px) {
  body.arb-demo-site .arb-demo-commerce .cart-collaterals .cart_totals,
  body.arb-demo-site .arb-demo-commerce .woocommerce-MyAccount-navigation,
  body.arb-demo-site .arb-demo-commerce .woocommerce-MyAccount-content { width: 100%; float: none; margin-bottom: 24px; }
  body.arb-demo-site .arb-demo-commerce ul.order_details li { float: none; border: 0; margin-right: 0; padding-right: 0; }
  body.arb-demo-site .arb-demo-commerce table.shop_table :is(th, td) { padding: 12px 10px; }
}
