/* WooCommerce presentation. Payment fields and wallet buttons remain provider controlled. */
.tp-store-main { padding-block:32px 80px; min-block-size:60vh; }
.tp-store-navigation { display:flex; flex-wrap:wrap; gap:12px 26px; border-block-end:1px solid var(--line); padding-block:0 18px; margin-block-end:32px; font-size:13px; }
.tp-store-navigation a { min-block-size:44px; display:inline-flex; align-items:center; }
.tp-store-navigation a:hover,.tp-store-navigation [aria-current] { text-decoration:underline; text-underline-offset:6px; }
.tp-commerce-page .woocommerce-breadcrumb { font-size:12px; color:var(--muted); margin-block-end:28px; }
.tp-commerce-page .woocommerce-breadcrumb a { color:var(--ink); }
.tp-commerce-page .woocommerce-products-header { margin-block:0 36px; }
.tp-commerce-page .woocommerce-products-header__title { font-size:clamp(34px,5vw,64px); letter-spacing:-.045em; }
.tp-commerce-page .woocommerce-products-header p { max-inline-size:700px; margin-block-start:18px; color:var(--muted); }
.tp-commerce-page .woocommerce-result-count { color:var(--muted); font-size:13px; margin-block:14px 28px; }
.tp-commerce-page .woocommerce-ordering { max-inline-size:100%; }
.tp-commerce-page .woocommerce-ordering select { max-inline-size:100%; }
.tp-commerce-page ul.products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px var(--card-gap); padding:0; clear:both; }
.tp-commerce-page ul.products::before,.tp-commerce-page ul.products::after { content:none; }
.tp-commerce-page ul.products.columns-1 { grid-template-columns:1fr; }
.tp-commerce-page ul.products.columns-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tp-commerce-page ul.products.columns-4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.tp-commerce-page ul.products li.product { float:none; inline-size:auto; margin:0; min-inline-size:0; }
.tp-commerce-page ul.products li.product a img { aspect-ratio:1; object-fit:cover; border-radius:var(--image-radius); background:var(--surface); margin-block-end:18px; }
.tp-commerce-page ul.products li.product .woocommerce-loop-product__title { color:var(--ink); font-size:18px; padding:0; margin-block:0 10px; line-height:1.5; }
.tp-commerce-page ul.products li.product .price,.tp-commerce-page div.product p.price,.tp-commerce-page div.product span.price { color:var(--ink); font-size:18px; }
.tp-commerce-page ul.products li.product .price del { color:var(--muted); }
.tp-commerce-page ul.products li.product .button { margin-block-start:18px; }
.tp-commerce-page span.onsale { background:var(--accent); color:var(--on-accent); border-radius:100px; min-block-size:40px; padding:4px 12px; font-size:12px; }
.tp-commerce-page .woocommerce-info,.tp-commerce-page .woocommerce-message { background:var(--surface); color:var(--ink); border-block-start-color:var(--accent-strong); }
.tp-commerce-page .woocommerce-info::before,.tp-commerce-page .woocommerce-message::before { color:var(--ink); }
.tp-commerce-page .woocommerce-error { background:var(--paper); color:var(--ink); }
.tp-commerce-page div.product .product_title { font-size:clamp(30px,4vw,48px); line-height:1.25; margin-block-end:24px; }
.tp-commerce-page .woocommerce-product-details__short-description { margin-block:24px; }
.tp-commerce-page div.product .stock,.tp-commerce-page .star-rating { color:var(--ink); }
.tp-commerce-page .woocommerce-product-gallery img { border-radius:var(--image-radius); }
.tp-commerce-page .quantity .qty { min-block-size:var(--button-height); inline-size:80px; padding:8px; font-size:max(16px,var(--field-size)); }
.tp-commerce-page .product_meta { padding-block:20px; border-block-start:1px solid var(--line); font-size:12px; color:var(--muted); }
.tp-commerce-page .product_meta>span { display:block; }
.tp-commerce-page .woocommerce-tabs { clear:both; padding-block:20px; }
.tp-commerce-page .woocommerce-tabs .panel>h2 { font-size:24px; margin-block-end:20px; }
.tp-commerce-page .woocommerce-tabs .panel p { margin-block-end:var(--paragraph-space); }
.tp-commerce-page .related.products h2 { margin-block:30px; }
.tp-commerce-page table.shop_table { border-color:var(--line); border-radius:var(--card-radius); }
.tp-commerce-page table.shop_table th,.tp-commerce-page table.shop_table td { border-color:var(--line); padding:16px; }
.tp-commerce-page .woocommerce form .form-row { margin-block-end:18px; }
.tp-commerce-page .woocommerce form .form-row input.input-text,.tp-commerce-page .woocommerce form .form-row textarea { min-block-size:48px; }
.tp-commerce-page #payment { background:var(--surface); color:var(--ink); }
.tp-commerce-page #payment div.payment_box { background:var(--paper); color:var(--ink); }
.tp-commerce-page .woocommerce-MyAccount-navigation { border:1px solid var(--line); padding:20px; }
.tp-commerce-page .woocommerce-MyAccount-navigation ul { padding:0; margin:0; list-style:none; }
.tp-commerce-page .woocommerce-MyAccount-navigation a { display:block; padding:10px; }
.tp-commerce-page .woocommerce-MyAccount-navigation .is-active a { background:var(--surface); }
.tp-commerce-page .woocommerce-MyAccount-content p { margin-block-end:20px; }
.tp-commerce-page .wc-block-components-sidebar-layout { gap:36px; }
.tp-commerce-page .wc-block-components-sidebar-layout>* { min-inline-size:0; }
.tp-commerce-page .wc-block-components-product-name { color:var(--ink); }
.tp-commerce-page .wc-block-components-product-metadata { color:var(--muted); }
.tp-commerce-page .wc-block-components-order-summary,.tp-commerce-page .wc-block-cart__sidebar { border-color:var(--line); }
/* Counter, dismiss and text utilities should not inherit the main CTA dimensions. */
.tp-commerce-page .wc-block-components-quantity-selector button { min-block-size:0; }
.tp-commerce-page .wc-block-components-quantity-selector input { padding:0; border:0; }
.tp-commerce-page .wc-block-components-button .wc-block-components-button__text { color:inherit; }
.tp-commerce-page .woocommerce-pagination ul { border-color:var(--line); }
.tp-commerce-page .woocommerce-pagination ul li { border-color:var(--line); }
.tp-commerce-page .woocommerce-pagination ul li a,.tp-commerce-page .woocommerce-pagination ul li span { min-inline-size:44px; min-block-size:44px; display:grid; place-items:center; }
.tp-commerce-page .woocommerce-pagination ul li span.current { background:var(--surface); color:var(--ink); }
@media(max-width:1000px) { .tp-commerce-page ul.products.columns-4 { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) {
    .tp-store-main { padding-block:22px 48px; }
    .tp-store-navigation { gap:10px 20px; margin-block-end:24px; }
    .tp-commerce-page ul.products,.tp-commerce-page ul.products.columns-2,.tp-commerce-page ul.products.columns-4 { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 16px; }
    .tp-commerce-page ul.products li.product .woocommerce-loop-product__title { font-size:16px; }
    .tp-commerce-page ul.products li.product .button { inline-size:100%; padding-inline:8px!important; gap:6px; }
    .tp-commerce-page ul.products li.product .price { font-size:16px; }
    .tp-commerce-page .woocommerce-result-count,.tp-commerce-page .woocommerce-ordering { float:none; margin-block:10px 20px; }
    .tp-commerce-page .wc-block-components-sidebar-layout { gap:24px; }
    .tp-commerce-page :is(.wc-block-components-text-input input,.woocommerce form input.input-text,.woocommerce form textarea,.woocommerce form select) { font-size:max(16px,var(--field-size)); }
    .tp-commerce-page table.shop_table th,.tp-commerce-page table.shop_table td { padding:12px; }
}
@media(max-width:359px) { .tp-commerce-page ul.products { grid-template-columns:1fr!important; } }
