.ji-commerce-page { padding-top: 40px; }
.ji-commerce-page .ji-page-heading { margin-bottom: 36px; }
.ji-premium-site .woocommerce .woocommerce-breadcrumb { margin-bottom: 0; }
.ji-premium-site .woocommerce-notices-wrapper { margin-bottom: 20px; }
.ji-premium-site .woocommerce-message, .ji-premium-site .woocommerce-info, .ji-premium-site .woocommerce-error { padding: 18px 22px; border: 1px solid var(--ji-border); border-radius: var(--ji-radius-md); background: #fff; box-shadow: var(--ji-shadow); }
.ji-premium-site .woocommerce-message::before, .ji-premium-site .woocommerce-info::before { color: #000; }
.ji-premium-site .woocommerce-result-count { color: var(--ji-muted); font-size: 14px; }
.ji-premium-site .woocommerce-ordering select { min-width: 220px; padding: 0 42px 0 18px; border-radius: 999px; background-color: #fff; }
.ji-premium-site .ast-woocommerce-container { padding: 0; background: transparent; }
body.ji-premium-site.woocommerce .ji-commerce-page ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 18px !important; }
.ji-premium-site .woocommerce ul.products::before, .ji-premium-site .woocommerce ul.products::after { display: none; }
.ji-premium-site .woocommerce ul.products li.product { width: auto !important; margin: 0 !important; padding: 10px 10px 22px; overflow: hidden; border: 1px solid var(--ji-border); border-radius: var(--ji-radius-lg); background: #fff; transition: transform 350ms ease, box-shadow 350ms ease; }
.ji-premium-site .woocommerce ul.products li.product:hover { transform: translateY(-6px); box-shadow: var(--ji-shadow); }
.ji-premium-site .woocommerce ul.products li.product .astra-shop-thumbnail-wrap { height: 280px; display: grid; place-items: center; overflow: hidden; border-radius: calc(var(--ji-radius-lg) - 8px); background: var(--ji-bg-soft); }
.ji-premium-site .woocommerce ul.products li.product img { width: 86%; height: 86%; margin: 0; object-fit: contain; transition: transform 350ms ease; }
.ji-premium-site .woocommerce ul.products li.product:hover img { transform: scale(1.03); }
.ji-premium-site .woocommerce ul.products li.product .astra-shop-summary-wrap { padding: 18px 12px 0; }
.ji-premium-site .woocommerce ul.products li.product .woocommerce-loop-product__title { margin: 5px 0 9px; font-size: 16px; line-height: 1.3; }
.ji-premium-site .woocommerce ul.products li.product .ast-woo-product-category { color: var(--ji-muted); font-size: 12px; }
.ji-premium-site .woocommerce ul.products li.product .price { color: #000; font-size: 15px; font-weight: 750; }
.ji-premium-site .woocommerce ul.products li.product .button { min-height: 42px; padding: 0 17px; border: 1px solid var(--ji-border); border-radius: 999px; background: #000; color: #fff; font-size: 12px; }
.ji-premium-site .woocommerce-pagination ul.page-numbers { display: flex; gap: 8px; border: 0; }
.ji-premium-site .woocommerce-pagination ul.page-numbers li { border: 0; }
.ji-premium-site .woocommerce-pagination .page-numbers a, .ji-premium-site .woocommerce-pagination .page-numbers span { min-width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--ji-border); border-radius: 50%; background: #fff; color: #000; }
.ji-premium-site .woocommerce-pagination .page-numbers .current { border-color: #000; background: #000; color: #fff; }

/* ShopBuilder single-product compatibility */
.ji-premium-site.single-product .ji-commerce-page { padding-top: 26px; }
.ji-premium-site.single-product .rtsb-builder-content, .ji-premium-site.single-product div.product { color: var(--ji-text); }
.ji-premium-site.single-product .rtsb-builder-content .elementor-section, .ji-premium-site.single-product .rtsb-builder-content .e-con { --container-max-width: 1440px; }
.ji-premium-site.single-product .rtsb-product-images, .ji-premium-site.single-product .rtwpvg-single-image-container { overflow: hidden; border-radius: var(--ji-radius-xl); background: var(--ji-bg-soft); }
.ji-premium-site.single-product .rtsb-product-images img, .ji-premium-site.single-product .rtwpvg-product-image img { width: 100%; max-height: 680px; object-fit: contain; }
.ji-premium-site.single-product .product_title { margin-bottom: 20px; font-size: clamp(38px, 4.5vw, 68px) !important; line-height: .98 !important; letter-spacing: -.052em; }
.ji-premium-site.single-product .rtsb-product-price .price { color: #000; font-size: clamp(25px, 2.5vw, 36px); font-weight: 780; }
.ji-premium-site.single-product .rtsb-product-stock .in-stock { color: var(--ji-success); font-weight: 700; }
.ji-premium-site.single-product .variations { border-collapse: separate; border-spacing: 0 13px; }
.ji-premium-site.single-product .variations th, .ji-premium-site.single-product .variations td { padding: 0; background: transparent; }
.ji-premium-site.single-product .rtsb-term { min-width: 48px; min-height: 44px; display: inline-grid !important; place-items: center; margin: 0 7px 7px 0; border: 1px solid var(--ji-border) !important; border-radius: 999px !important; background: #fff; }
.ji-premium-site.single-product .rtsb-term.selected { border-color: #000 !important; box-shadow: 0 0 0 2px #000 inset; }
.ji-premium-site.single-product .rtsb-quantity-box-group, .ji-premium-site.single-product .quantity { min-height: 52px; overflow: hidden; border: 1px solid var(--ji-border); border-radius: 999px; }
.ji-premium-site.single-product .single_add_to_cart_button { min-height: 54px !important; padding: 0 38px !important; border-radius: 999px !important; background: #000 !important; color: #fff !important; font-weight: 750 !important; }
.ji-premium-site.single-product .rtsb-wishlist-btn, .ji-premium-site.single-product .rtsb-compare-btn { min-width: 52px; min-height: 52px; display: inline-grid; place-items: center; border: 1px solid var(--ji-border); border-radius: 50%; background: #fff; }
.ji-premium-site.single-product .ji-trust-strip { clear: both; margin: 40px 0; }
.ji-premium-site.single-product .woocommerce-tabs { border: 1px solid var(--ji-border); border-radius: var(--ji-radius-xl); background: #fff; }
.ji-premium-site.single-product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; margin: 0 !important; padding: 8px !important; border-bottom: 1px solid var(--ji-border); }
.ji-premium-site.single-product .woocommerce-tabs ul.tabs::before { display: none !important; }
.ji-premium-site.single-product .woocommerce-tabs ul.tabs li { margin: 0 !important; border: 0 !important; border-radius: 999px !important; background: transparent !important; }
.ji-premium-site.single-product .woocommerce-tabs ul.tabs li::before, .ji-premium-site.single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.ji-premium-site.single-product .woocommerce-tabs ul.tabs li.active { background: #000 !important; color: #fff !important; }
.ji-premium-site.single-product .woocommerce-tabs .panel { padding: clamp(24px, 4vw, 46px); }
.ji-spec-list { margin: 0; }
.ji-spec-list > div { padding: 13px 0; display: grid; grid-template-columns: minmax(150px, .5fr) 1fr; gap: 20px; border-bottom: 1px solid var(--ji-border); }
.ji-spec-list dt { font-weight: 700; }
.ji-spec-list dd { margin: 0; color: var(--ji-muted); }

/* Cart and checkout */
.ji-premium-site .woocommerce-cart-form { padding: 8px 28px; border: 1px solid var(--ji-border); border-radius: var(--ji-radius-xl); background: #fff; }
.ji-premium-site table.shop_table { border: 0; border-collapse: collapse; }
.ji-premium-site table.shop_table th { color: #000; font-size: 13px; }
.ji-premium-site table.shop_table td, .ji-premium-site table.shop_table th { padding: 20px 14px; border-bottom: 1px solid var(--ji-border); }
.ji-premium-site table.shop_table .product-thumbnail img { width: 100px; height: 100px; object-fit: contain; border-radius: 16px; background: var(--ji-bg-soft); }
.ji-premium-site table.shop_table .product-name a { font-weight: 700; }
.ji-premium-site .quantity .qty { min-height: 46px; border-radius: 999px; }
.ji-premium-site .woocommerce-cart-form button.button, .ji-premium-site .coupon button.button { min-height: 48px; border-radius: 999px; background: #000; color: #fff; }
.ji-premium-site .cart-collaterals { margin-top: 24px; display: grid; grid-template-columns: 1fr minmax(360px, .72fr); gap: 28px; }
.ji-premium-site .cart-collaterals .cart_totals { grid-column: 2; width: 100%; padding: 30px; border: 1px solid var(--ji-border); border-radius: var(--ji-radius-xl); box-shadow: var(--ji-shadow); }
.ji-premium-site .cart-collaterals .cart_totals h2 { font-size: 28px; letter-spacing: -.035em; }
.ji-premium-site .wc-proceed-to-checkout .checkout-button { min-height: 56px; display: grid; place-items: center; border-radius: 999px; background: #000; color: #fff; font-size: 16px; }
.ji-checkout-page .woocommerce-checkout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); gap: 30px; align-items: start; }
.ji-checkout-page .col2-set { width: 100%; }
.ji-checkout-page .col2-set .col-1, .ji-checkout-page .col2-set .col-2 { float: none; width: 100%; padding: 30px; border: 1px solid var(--ji-border); border-radius: var(--ji-radius-xl); }
.ji-checkout-page #order_review_heading, .ji-checkout-page #order_review { grid-column: 2; }
.ji-checkout-page #order_review { padding: 28px; border: 1px solid var(--ji-border); border-radius: var(--ji-radius-xl); box-shadow: var(--ji-shadow); }
.ji-premium-site #payment { border-radius: var(--ji-radius-lg); background: var(--ji-bg-soft); }
.ji-premium-site #payment #place_order { width: 100%; min-height: 56px; border-radius: 999px; background: #000; color: #fff; }
body.woocommerce-checkout .wcf-embed-checkout-form .button,
body.woocommerce-checkout .wcf-embed-checkout-form button[type="submit"] { border-radius: 999px !important; background: #000 !important; color: #fff !important; }
