/*! Jamboojet UI — WooCommerce skin. Loaded only when Settings › «استایل جمبوجت روی ووکامرس» is on (body.jb-woo).
   Restyles WooCommerce's own markup (classic templates + Cart/Checkout blocks); no template overrides. */

:is(body.jb-woo.woocommerce-page, body.jb-woo .woocommerce),
body.jb-woo .wp-block-woocommerce-cart,
body.jb-woo .wp-block-woocommerce-checkout,
body.jb-woo .wc-block-components-form { font-family: var(--jb-font-sans); color: var(--jb-ink-700); }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) :is(h1, h2, h3), body.jb-woo .product_title { color: var(--jb-ink-900); font-family: var(--jb-font-sans); text-transform: none; letter-spacing: normal; }

/* Buttons */
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) :is(a.button, button.button, input.button, #respond input#submit),
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) :is(a.button.alt, button.button.alt, input.button.alt),
body.jb-woo .wc-block-components-button:not(.is-link),
body.jb-woo .wc-block-cart__submit-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; padding: 0 20px; border: 0; border-radius: var(--jb-radius-md);
  background: var(--jb-brand-600); color: var(--jb-on-brand); font-family: var(--jb-font-sans);
  font-size: 14px; font-weight: 700; line-height: 1; text-decoration: none; box-shadow: none; text-shadow: none;
}
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) :is(a.button, button.button, input.button, #respond input#submit):hover,
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) :is(a.button.alt, button.button.alt, input.button.alt):hover,
body.jb-woo .wc-block-components-button:not(.is-link):hover { background: var(--jb-brand-700); color: var(--jb-on-brand); }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) :is(a.button, button.button):is(.disabled, :disabled, [disabled]) { background: var(--jb-surface-subtle); color: var(--jb-ink-400); opacity: 1; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) :is(a, button).button:focus-visible, body.jb-woo .wc-block-components-button:focus-visible { outline: 2px solid var(--jb-focus-ring); outline-offset: 2px; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) a.added_to_cart { font-size: 13px; font-weight: 700; color: var(--jb-brand-600); margin-inline-start: 8px; }

/* Fields */
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) form .form-row :is(.input-text, select, textarea),
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) :is(input.qty, .coupon .input-text),
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) .select2-container .select2-selection--single {
  min-height: 48px; border: 1.5px solid var(--jb-line-strong); border-radius: var(--jb-radius-md);
  background: var(--jb-surface); padding: 0 14px; font-family: var(--jb-font-sans); font-size: 15px; color: var(--jb-ink-900); box-shadow: none;
}
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) form .form-row textarea { padding-block: 12px; min-height: 104px; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) .select2-container .select2-selection--single .select2-selection__rendered { line-height: 45px; padding: 0; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) .select2-container .select2-selection--single .select2-selection__arrow { height: 45px; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) form .form-row :is(.input-text, select, textarea):focus { border-color: var(--jb-brand-600); box-shadow: 0 0 0 3px var(--jb-brand-200); outline: 0; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) form .form-row label { font-size: 14px; font-weight: 600; color: var(--jb-ink-900); line-height: 1.7; margin-bottom: 6px; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) form .form-row .required { color: var(--jb-danger-600); text-decoration: none; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) form .form-row.woocommerce-invalid :is(.input-text, select) { border-color: var(--jb-danger-600); }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) form .form-row :is(input[type="tel"], input[type="email"], input#billing_postcode, input#shipping_postcode) { direction: ltr; text-align: left; }
body.jb-woo .wc-block-components-text-input :is(input, textarea), body.jb-woo .wc-blocks-components-select__select { border-radius: var(--jb-radius-md) !important; border-color: var(--jb-line-strong) !important; font-family: var(--jb-font-sans) !important; }

/* Notices */
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
  border: 0; border-radius: var(--jb-radius-lg); background: var(--jb-brand-50); color: var(--jb-ink-700);
  padding: 16px 20px; padding-inline-start: 52px; font-size: 14px; line-height: 1.85; list-style: none;
}
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before { color: var(--jb-brand-600); top: 16px; inset-inline-start: 20px; left: auto; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) .woocommerce-message { background: var(--jb-success-50); }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) .woocommerce-message::before { color: var(--jb-success-600); }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) .woocommerce-error { background: var(--jb-danger-50); }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) .woocommerce-error::before { color: var(--jb-danger-600); }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) :is(.woocommerce-message, .woocommerce-info) .button { float: none; margin-inline-start: 12px; min-height: 36px; }

/* Product loop */
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) ul.products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) ul.products::before, :is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) ul.products::after { display: none; }
@media (min-width: 640px) { :is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } }
@media (min-width: 1200px) { :is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) ul.products.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) ul.products li.product {
  float: none; width: auto; margin: 0; padding: 12px; position: relative; display: flex; flex-direction: column;
  border: 1px solid var(--jb-line); border-radius: var(--jb-radius-lg); background: var(--jb-surface); transition: box-shadow .15s, border-color .15s;
}
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) ul.products li.product:hover { box-shadow: var(--jb-shadow-md); border-color: var(--jb-brand-100); }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) ul.products li.product a img { border-radius: var(--jb-radius-md); margin: 0 0 10px; aspect-ratio: 1 / 1; object-fit: cover; background: var(--jb-surface-subtle); }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) ul.products li.product .woocommerce-loop-product__title { font-size: 14px; font-weight: 600; line-height: 1.75; color: var(--jb-ink-900); padding: 0; margin: 0 0 6px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 3.5em; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) ul.products li.product .price { color: var(--jb-ink-900); font-weight: 800; font-size: 15px; margin: auto 0 10px; display: block; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) ul.products li.product .button { width: 100%; margin-top: 0; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) span.onsale {
  min-height: 0; min-width: 0; padding: 2px 10px; line-height: 1.6; border-radius: var(--jb-radius-pill);
  background: var(--jb-danger-600); color: var(--jb-on-brand); font-size: 12px; font-weight: 800; top: 18px; inset-inline-start: 18px; left: auto; right: auto; margin: 0;
}
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) :is(.price del, .price del .amount) { color: var(--jb-ink-500); font-weight: 500; font-size: .85em; opacity: 1; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) .price ins { text-decoration: none; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) .star-rating span::before { color: #b45309; }

/* Single product */
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) div.product .product_title { font-size: 24px; line-height: 1.6; font-weight: 800; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) div.product :is(p.price, span.price) { color: var(--jb-ink-900); font-size: 22px; font-weight: 800; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) div.product form.cart { display: flex; gap: 12px; align-items: stretch; flex-wrap: wrap; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) div.product form.cart .quantity input.qty { width: 88px; text-align: center; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 16px; display: flex; gap: 4px; overflow-x: auto; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) div.product .woocommerce-tabs ul.tabs::before, :is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) div.product .woocommerce-tabs ul.tabs li::before, :is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) div.product .woocommerce-tabs ul.tabs li::after { display: none; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) div.product .woocommerce-tabs ul.tabs li { border: 0; background: var(--jb-surface-subtle); border-radius: var(--jb-radius-sm); margin: 0; padding: 0; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) div.product .woocommerce-tabs ul.tabs li a { padding: 10px 16px; font-weight: 700; color: var(--jb-ink-500); font-size: 14px; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) div.product .woocommerce-tabs ul.tabs li.active { background: var(--jb-brand-600); }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) div.product .woocommerce-tabs ul.tabs li.active a { color: var(--jb-on-brand); }
@media (max-width: 959px) {
  body.jb-woo.single-product .woocommerce div.product form.cart:not(.variations_form), body.jb-woo.single-product .woocommerce div.product .woocommerce-variation-add-to-cart {
    position: sticky; bottom: 0; z-index: 50; background: var(--jb-surface); padding: 12px 0; border-top: 1px solid var(--jb-line);
  }
}

/* Cart & checkout (classic) */
/* Native theme uses content-box: keep padding inside Woo form/card widths. */
body.jb-woo .woocommerce :is(.woocommerce-cart-form, .cart-collaterals, .cart_totals, form.checkout),
body.jb-woo .woocommerce :is(.woocommerce-cart-form, .cart-collaterals, form.checkout) *,
body.jb-woo .woocommerce :is(.woocommerce-cart-form, .cart-collaterals, form.checkout) *::before,
body.jb-woo .woocommerce :is(.woocommerce-cart-form, .cart-collaterals, form.checkout) *::after { box-sizing: border-box; }
body.jb-woo .woocommerce :is(.woocommerce-privacy-policy-link, .woocommerce-terms-and-conditions-link) { text-decoration: underline; text-underline-offset: .18em; }
body.jb-woo .woocommerce :is(.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields) > h3,
body.jb-woo .woocommerce .cart_totals > h2 { font-size: 20px; line-height: 1.7; margin-block: 0 16px; }
body.jb-woo .woocommerce form.checkout .woocommerce-shipping-fields:empty { display: none; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) table.shop_table { border: 1px solid var(--jb-line); border-radius: var(--jb-radius-lg); border-collapse: separate; overflow: hidden; background: var(--jb-surface); }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) table.shop_table :is(th, td) { border-color: var(--jb-line); padding: 14px 16px; font-size: 14px; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) table.shop_table thead th { background: var(--jb-surface-subtle); color: var(--jb-ink-900); font-weight: 800; font-size: 13px; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) table.shop_table img { border-radius: var(--jb-radius-sm); width: 64px; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) a.remove { color: var(--jb-ink-500) !important; border-radius: 50%; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) a.remove:hover { background: var(--jb-danger-50); color: var(--jb-danger-600) !important; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) .cart-collaterals .cart_totals, body.jb-woo .woocommerce-checkout #order_review, body.jb-woo .woocommerce-checkout .woocommerce-billing-fields, body.jb-woo .woocommerce-checkout .woocommerce-shipping-fields, body.jb-woo .woocommerce-checkout .woocommerce-additional-fields {
  background: var(--jb-surface); border: 1px solid var(--jb-line); border-radius: var(--jb-radius-lg); padding: 20px;
}
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) .cart-collaterals .cart_totals table.shop_table { border: 0; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) .order-total :is(th, td) { font-size: 16px; font-weight: 800; color: var(--jb-ink-900); }
body.jb-woo .woocommerce-checkout #payment { background: var(--jb-surface-subtle); border-radius: var(--jb-radius-lg); }
body.jb-woo .woocommerce-checkout #payment div.payment_box { background: var(--jb-brand-50); color: var(--jb-ink-700); border-radius: var(--jb-radius-md); }
body.jb-woo .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--jb-brand-50); }
body.jb-woo .woocommerce-checkout #payment #place_order { width: 100%; min-height: 52px; font-size: 15px; }

/* My account */
body.jb-woo .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 8px; border: 1px solid var(--jb-line); border-radius: var(--jb-radius-lg); background: var(--jb-surface); }
body.jb-woo .woocommerce-MyAccount-navigation ul li { margin: 0; padding: 0; border: 0; }
body.jb-woo .woocommerce-MyAccount-navigation ul li a { display: flex; align-items: center; min-height: 44px; padding: 0 12px; border-radius: var(--jb-radius-sm); color: var(--jb-ink-700); font-weight: 600; font-size: 14px; text-decoration: none; }
body.jb-woo .woocommerce-MyAccount-navigation ul li a:hover { background: var(--jb-surface-subtle); color: var(--jb-ink-900); }
body.jb-woo .woocommerce-MyAccount-navigation ul li.is-active a { background: var(--jb-brand-50); color: var(--jb-brand-600); }
body.jb-woo .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--jb-danger-600); }

/* Breadcrumb + pagination */
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) .woocommerce-breadcrumb { font-size: 13px; color: var(--jb-ink-500); }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) .woocommerce-breadcrumb a { color: var(--jb-ink-500); }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) nav.woocommerce-pagination ul { border: 0; display: flex; justify-content: center; gap: 4px; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) nav.woocommerce-pagination ul li { border: 0; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) nav.woocommerce-pagination ul li :is(a, span) { min-width: 44px; height: 44px; display: grid; place-items: center; border-radius: var(--jb-radius-md); font-weight: 700; }
:is(body.jb-woo.woocommerce-page, body.jb-woo.woocommerce, body.jb-woo .woocommerce) nav.woocommerce-pagination ul li span.current { background: var(--jb-brand-600); color: var(--jb-on-brand); }
