/* Native commerce uses the shared design tokens; never hide gateway or order states. */
.tw-commerce { padding-block: clamp(40px, 6vw, 88px) clamp(64px, 8vw, 120px); }
.tw-commerce__inner { max-width: 1280px; }
.tw-commerce__heading { margin-bottom: clamp(28px, 4vw, 48px); padding-bottom: 24px; border-bottom: 1px solid var(--tw-line); }
.tw-commerce h1 { max-width: 1000px; margin: 0 0 24px; font-size: clamp(36px, 4.5vw, 68px); line-height: 1.06; letter-spacing: -.03em; }
.tw-commerce.woocommerce h1.page-title { color: var(--tw-ink); text-shadow: none; }
.tw-commerce h2 { margin-block: 28px 20px; font-size: clamp(25px, 2.6vw, 36px); line-height: 1.15; letter-spacing: -.035em; }
.tw-commerce h3 { font-size: 21px; line-height: 1.25; }
.tw-commerce.woocommerce div.product h1.product_title { font-size: clamp(36px, 4.5vw, 68px); line-height: 1.06; letter-spacing: -.03em; }
.tw-commerce-context .woocommerce div.product :is(p.price, span.price) { color: var(--tw-ink); font-size: 24px; font-weight: 750; }
.tw-commerce-context :is(.woocommerce, .tw-service-commerce) { color: var(--tw-ink); font-family: inherit; line-height: 1.6; }
.tw-commerce-context :is(.woocommerce, .tw-service-commerce) :is(a:not(.button):not(.woocommerce-loop-product__link)) { text-decoration: underline; text-underline-offset: .2em; }
.tw-commerce-context :is(.woocommerce, .tw-service-commerce) :is(a, button, input, select, textarea):focus-visible { outline: 3px solid var(--tw-blue); outline-offset: 3px; }
.tw-commerce-context :is(.woocommerce, .tw-service-commerce) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]), select, textarea) { max-width: 100%; min-height: 48px; border: 1px solid var(--tw-line); border-radius: var(--tw-radius); padding: 11px 14px; background: var(--tw-white); color: var(--tw-ink); font: inherit; box-shadow: none; }
.tw-commerce-context :is(.woocommerce, .tw-service-commerce) textarea { min-height: 120px; }
.tw-commerce-context :is(.woocommerce, .tw-service-commerce) :is(input[type="checkbox"], input[type="radio"]) { accent-color: var(--tw-blue); }
.tw-commerce-context :is(.woocommerce, .tw-service-commerce) :is(label) { font-weight: 650; }
.tw-commerce-context :is(.woocommerce, .tw-service-commerce) :is(.button, button.button, input.button, a.button, button.alt, input.alt, a.alt) { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; padding: 13px 22px; border: 1px solid var(--tw-ink); border-radius: 0; background: var(--tw-ink); color: var(--tw-white); font: inherit; font-size: 14px; font-weight: 750; line-height: 1.4; text-decoration: none; white-space: normal; cursor: pointer; }
.tw-commerce-context :is(.woocommerce, .tw-service-commerce) :is(.button, button.alt, input.alt, a.alt):hover { background: var(--tw-blue); border-color: var(--tw-blue); color: var(--tw-white); }
.tw-commerce-context :is(.woocommerce, .tw-service-commerce) .button:disabled { opacity: .5; cursor: not-allowed; }
.tw-commerce-context :is(.woocommerce, .tw-service-commerce) :is(.price, .amount) { color: var(--tw-ink); font-weight: 750; font-variant-numeric: tabular-nums; }
.tw-commerce-context .woocommerce :is(.woocommerce-error, .woocommerce-info, .woocommerce-message), .tw-commerce-context .tw-service-commerce :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) { margin: 0 0 28px; padding: 20px 22px 20px 52px; border: 1px solid var(--tw-line); border-left: 4px solid var(--tw-blue); border-radius: var(--tw-radius); background: var(--tw-white); color: var(--tw-ink); overflow-wrap: anywhere; }
.tw-commerce-context .woocommerce :is(.woocommerce-error), .tw-commerce-context .tw-service-commerce .woocommerce-error { border-left-color: var(--tw-orange); }
.tw-commerce-context .woocommerce :is(.woocommerce-message), .tw-commerce-context .tw-service-commerce .woocommerce-message { border-left-color: var(--tw-service-green); }
.tw-commerce-context :is(.woocommerce-error, .woocommerce-info, .woocommerce-message)::before { top: 22px; color: var(--tw-blue); }
.tw-commerce-context .woocommerce-error::before { color: var(--tw-orange); }
.tw-commerce-context .woocommerce-message::before { color: var(--tw-service-green); }
.tw-commerce-context .woocommerce :is(table.shop_table) { width: 100%; margin-bottom: 28px; border: 1px solid var(--tw-line); border-collapse: collapse; border-radius: var(--tw-radius); background: var(--tw-white); font-size: 15px; }
.tw-commerce-context .woocommerce :is(table.shop_table th, table.shop_table td) { padding: 16px; border-color: var(--tw-line); vertical-align: middle; overflow-wrap: anywhere; }
.tw-commerce-context .woocommerce :is(table.shop_table th) { color: var(--tw-ink-soft); font-weight: 750; }
.tw-commerce-context .woocommerce :is(.quantity .qty) { width: 5em; padding-inline: 8px; }
.tw-commerce-context .woocommerce :is(form.login, form.register, form.checkout_coupon) { padding: clamp(22px, 3vw, 36px); border: 1px solid var(--tw-line); background: var(--tw-white); border-radius: var(--tw-radius); }
.tw-commerce-context .woocommerce :is(.woocommerce-MyAccount-navigation ul) { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--tw-line); }
.tw-commerce-context .woocommerce :is(.woocommerce-MyAccount-navigation li) { border-bottom: 1px solid var(--tw-line); }
.tw-commerce-context .woocommerce :is(.woocommerce-MyAccount-navigation a) { display: block; padding: 16px 18px; text-decoration: none; }
.tw-commerce-context .woocommerce :is(.woocommerce-MyAccount-navigation .is-active a) { background: var(--tw-ink); color: var(--tw-white); }
.tw-commerce-context .woocommerce :is(.woocommerce-MyAccount-content) { padding-left: 24px; }
.tw-commerce-context .woocommerce :is(#payment) { padding: 20px; border: 1px solid var(--tw-line); border-radius: var(--tw-radius); background: var(--tw-white); }
.tw-commerce-context .woocommerce #payment :is(div.payment_box) { background: var(--tw-paper); color: var(--tw-ink); }
.tw-commerce-context .woocommerce #payment div.payment_box::before { border-bottom-color: var(--tw-paper); }
.tw-commerce-context .woocommerce :is(ul.products li.product) { padding: 22px; border: 1px solid var(--tw-line); background: var(--tw-white); }
.tw-commerce-context .woocommerce :is(ul.products li.product .woocommerce-loop-product__title) { padding-block: 8px 14px; font-size: clamp(21px, 2vw, 27px); line-height: 1.18; letter-spacing: -.025em; }
.tw-commerce-context .woocommerce :is(ul.products li.product .price) { margin-bottom: 20px; font-size: 18px; }
.tw-commerce-context .woocommerce :is(ul.products li.product img) { aspect-ratio: 4/3; object-fit: contain; }
.tw-commerce-context .woocommerce :is(div.product .woocommerce-tabs ul.tabs li) { border-color: var(--tw-line); border-radius: 0; background: var(--tw-paper); }
.tw-commerce-context .woocommerce :is(div.product .woocommerce-tabs ul.tabs li.active) { background: var(--tw-white); }
.tw-commerce-context .woocommerce :is(div.product .woocommerce-tabs .panel) { padding: 24px; border: 1px solid var(--tw-line); background: var(--tw-white); }
.tw-commerce-context .woocommerce :is(nav.woocommerce-pagination ul) { border-color: var(--tw-line); }
.tw-commerce-context .woocommerce :is(nav.woocommerce-pagination ul li a, nav.woocommerce-pagination ul li span) { min-width: 44px; min-height: 44px; padding: 14px; }
.tw-commerce-context .woocommerce :is(nav.woocommerce-pagination ul li span.current) { background: var(--tw-ink); color: var(--tw-white); }
.tw-commerce-context .select2-container .select2-selection--single { min-height: 48px; border-color: var(--tw-line); background: var(--tw-white); }
.tw-commerce-context .select2-container .select2-selection--single .select2-selection__rendered { padding: 9px 14px; color: var(--tw-ink); line-height: 28px; }
.tw-commerce-context .select2-container .select2-selection--single .select2-selection__arrow { top: 11px; }
.tw-commerce-context .select2-dropdown { border-color: var(--tw-line); }
@media (max-width: 768px) {
	.tw-commerce-context .woocommerce :is(.woocommerce-MyAccount-content, .woocommerce-MyAccount-navigation) { float: none; width: 100%; padding: 0; }
	.tw-commerce-context .woocommerce .woocommerce-MyAccount-navigation { margin-bottom: 28px; }
	.tw-commerce-context .woocommerce :is(ul.products li.product, ul.products[class*="columns-"] li.product) { width: 48%; margin-right: 0; padding: 16px; }
	.tw-commerce-context .woocommerce :is(table.shop_table th, table.shop_table td) { padding: 12px; }
	.tw-commerce-context .woocommerce :is(.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button) { float: none; display: flex; margin: 0 0 12px; }
	.tw-commerce-context .woocommerce #payment { padding: 12px; }
	.tw-commerce-context .woocommerce :is(ul.order_details) { padding: 0; }
	.tw-commerce-context .woocommerce :is(ul.order_details li) { float: none; margin: 0; padding: 12px 0; border-right: 0; border-bottom: 1px solid var(--tw-line); }
}
@media (max-width: 480px) {
	.tw-commerce-context .woocommerce :is(ul.products li.product, ul.products[class*="columns-"] li.product) { float: none; width: 100%; margin-inline: 0; }
	.tw-commerce-context .woocommerce :is(.woocommerce-result-count, .woocommerce-ordering) { float: none; }
	.tw-commerce-context .woocommerce :is(.woocommerce-ordering select) { width: 100%; }
	.tw-commerce-context .woocommerce table.cart td.actions .coupon { display: flex; gap: 8px; flex-wrap: wrap; }
	.tw-commerce-context .woocommerce table.cart td.actions .coupon :is(input.input-text, .button) { width: 100%; margin: 0; }
}
