/* Limitless: WooCommerce screens in the storefront's design tokens (app.css defines the variables). */
[hidden]{display:none!important}
body{background:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-sans)}
.lp-woo{color:hsl(var(--foreground))}
.lp-woo a{color:hsl(var(--primary))}
.lp-woo h2,.lp-woo h3{font-family:var(--font-heading);font-weight:700;color:hsl(var(--foreground));margin:0 0 1rem;font-size:1.25rem}
.lp-woo table.shop_table{width:100%;border-collapse:separate;border-spacing:0;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.75rem;overflow:hidden;margin-bottom:1.5rem}
.lp-woo table.shop_table th,.lp-woo table.shop_table td{padding:1rem;border-top:1px solid hsl(var(--border));text-align:left;vertical-align:middle;font-size:.9rem}
.lp-woo table.shop_table thead th{border-top:0;color:hsl(var(--muted-foreground));font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}
.lp-woo table.shop_table img{width:64px;height:64px;object-fit:contain;background:#fff;border-radius:.5rem;padding:4px}
.lp-woo td.product-name a{color:hsl(var(--foreground));font-family:var(--font-mono);font-weight:700}
.lp-woo .product-remove a.remove{color:hsl(var(--muted-foreground))!important;font-size:1.25rem;text-decoration:none}
.lp-woo .product-remove a.remove:hover{color:rgb(248 113 113)!important}
.lp-woo input.input-text,.lp-woo input[type=text],.lp-woo input[type=email],.lp-woo input[type=tel],.lp-woo input[type=password],.lp-woo input[type=number],.lp-woo select,.lp-woo textarea,
.lp-woo .select2-container .select2-selection{background:hsl(var(--muted));border:1px solid hsl(var(--border));color:hsl(var(--foreground));border-radius:.5rem;padding:.6rem .75rem;font-size:.9rem;width:100%;min-height:2.6rem}
.lp-woo .quantity input.qty{width:5rem;text-align:center}
.lp-woo input:focus,.lp-woo select:focus,.lp-woo textarea:focus{outline:none;border-color:hsl(var(--primary));box-shadow:0 0 0 2px hsl(var(--primary)/.35)}
.lp-woo label{display:block;font-size:.85rem;font-weight:600;margin-bottom:.35rem;color:hsl(var(--foreground))}
.lp-woo .form-row{margin-bottom:1rem}
.lp-woo .button,.lp-woo button.button,.lp-woo input.button,.lp-woo #place_order,.lp-woo a.checkout-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:hsl(var(--primary))!important;color:hsl(var(--primary-foreground))!important;border:0;border-radius:.75rem;padding:.85rem 1.5rem;font-weight:600;font-size:.95rem;cursor:pointer;text-decoration:none;transition:opacity .2s}
.lp-woo .button:hover,.lp-woo #place_order:hover{opacity:.9}
.lp-woo .button:disabled,.lp-woo .button.disabled{opacity:.5;cursor:not-allowed}
.lp-woo button[name=update_cart]{background:transparent!important;border:1px solid hsl(var(--border));color:hsl(var(--foreground))!important}
.lp-woo .cart-collaterals .cart_totals,.lp-woo #order_review,.lp-woo .woocommerce-checkout-review-order{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:1rem;padding:1.5rem}
.lp-woo .cart-collaterals .cart_totals table.shop_table{border:0;background:transparent;margin:0}
.lp-woo .wc-proceed-to-checkout a.checkout-button{width:100%;margin-top:1rem}
.lp-woo ul#shipping_method{list-style:none;margin:0;padding:0}
.lp-woo ul#shipping_method li{display:flex;align-items:center;gap:.5rem;margin:.35rem 0}
.lp-woo ul#shipping_method li label{display:inline;font-weight:500;margin:0}
.lp-woo .woocommerce-shipping-destination,.lp-woo .shipping-calculator-button{font-size:.8rem;color:hsl(var(--muted-foreground))}
.lp-woo #payment{background:transparent}
.lp-woo #payment ul.payment_methods{list-style:none;margin:0 0 1rem;padding:0;border:0}
.lp-woo #payment ul.payment_methods li{background:hsl(var(--muted));border:1px solid hsl(var(--primary)/.5);border-radius:.75rem;padding:1rem;margin-bottom:.5rem}
.lp-woo #payment ul.payment_methods li label{display:inline;font-weight:600}
.lp-woo #payment div.payment_box{background:transparent;color:hsl(var(--muted-foreground));padding:.5rem 0 0;margin:0;font-size:.85rem}
.lp-woo #payment div.payment_box::before{display:none}
.lp-woo #place_order{width:100%;padding:1rem;font-size:1rem}
.lp-woo .woocommerce-privacy-policy-text,.lp-woo .woocommerce-terms-and-conditions-wrapper{font-size:.8rem;color:hsl(var(--muted-foreground))}
.lp-woo .woocommerce-message,.lp-woo .woocommerce-info,.lp-woo .woocommerce-error,.lp-woo .woocommerce-notice{list-style:none;background:hsl(var(--card));border:1px solid hsl(var(--border));border-left:3px solid hsl(var(--primary));color:hsl(var(--foreground));border-radius:.5rem;padding:1rem 1.25rem;margin:0 0 1.5rem}
.lp-woo .woocommerce-error{border-left-color:rgb(248 113 113)}
.lp-woo .woocommerce-message .button{float:right;padding:.4rem .9rem;font-size:.8rem}
.lp-woo .col2-set{display:grid;grid-template-columns:1fr;gap:2rem}
@media (min-width:1024px){
 .lp-woo form.checkout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:2.5rem;align-items:start}
 .lp-woo form.checkout #customer_details{grid-column:1}
 .lp-woo form.checkout #order_review_heading{display:none}
 .lp-woo form.checkout #order_review{grid-column:2;grid-row:1 / span 2;position:sticky;top:6.5rem}
 .lp-woo .woocommerce-cart-form{float:left;width:62%}
 .lp-woo .cart-collaterals{float:right;width:34%}
 .lp-woo .woocommerce::after{content:"";display:table;clear:both}
}
.lp-woo .woocommerce-billing-fields h3,.lp-woo .woocommerce-shipping-fields h3,.lp-woo .woocommerce-additional-fields h3{font-size:1.1rem}
.lp-woo #ship-to-different-address label{display:flex;gap:.5rem;align-items:center}
.lp-woo .woocommerce-form-coupon-toggle{display:none}
.lp-woo .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0 0 2rem;display:flex;flex-wrap:wrap;gap:.5rem}
.lp-woo .woocommerce-MyAccount-navigation a{display:block;padding:.5rem 1rem;border:1px solid hsl(var(--border));border-radius:.5rem;color:hsl(var(--foreground));text-decoration:none;font-size:.9rem}
.lp-woo .woocommerce-MyAccount-navigation .is-active a{border-color:hsl(var(--primary));color:hsl(var(--primary))}
.lp-woo .woocommerce-order-overview{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:1.5rem;margin:0 0 2rem}
.lp-woo .woocommerce-order-overview li{font-size:.8rem;color:hsl(var(--muted-foreground))}
.lp-woo .woocommerce-order-overview li strong{display:block;color:hsl(var(--foreground));font-size:1rem}
.lp-woo .select2-dropdown{background:hsl(var(--card));color:hsl(var(--foreground));border-color:hsl(var(--border))}
.lp-woo abbr.required{color:hsl(var(--primary));text-decoration:none}
.lp-woo .blockUI.blockOverlay{background:hsl(var(--background))!important}

/* WooCommerce ships `.woocommerce img{height:auto}`, which outranks the theme's height utilities and makes
   catalogue/product/cart images render at natural size and burst out of their boxes. Restore them. */
.woocommerce img.h-full,.woocommerce-page img.h-full{height:100%!important}
.woocommerce img.h-16,.woocommerce-page img.h-16{height:4rem!important}
.woocommerce img.h-10,.woocommerce-page img.h-10{height:2.5rem!important}
.woocommerce img.h-12,.woocommerce-page img.h-12{height:3rem!important}
.lp-woo table.shop_table td.product-thumbnail img{width:64px!important;height:64px!important;object-fit:contain;background:#fff;border-radius:.5rem;padding:4px}

/* Cart on phones: stack each line instead of keeping four desktop columns (Woo's own small-screen sheet
   is not loaded by this theme). */
@media (max-width:767px){
 .lp-woo table.shop_table{border:0;background:transparent}
 .lp-woo table.shop_table thead{display:none}
 .lp-woo table.shop_table tr{display:block;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:.75rem;margin-bottom:1rem;padding:.5rem .75rem;position:relative}
 .lp-woo table.shop_table td{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;border:0;border-top:1px solid hsl(var(--border));padding:.6rem 0;text-align:right}
 .lp-woo table.shop_table tr td:first-child,.lp-woo table.shop_table tr td.product-thumbnail{border-top:0}
 .lp-woo table.shop_table td::before{content:attr(data-title);color:hsl(var(--muted-foreground));font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;text-align:left}
 .lp-woo table.shop_table td.product-remove::before,.lp-woo table.shop_table td.product-thumbnail::before,.lp-woo table.shop_table td.actions::before{content:none}
 .lp-woo table.shop_table td.product-remove{position:absolute;top:.4rem;right:.5rem;width:auto;padding:0;border:0}
 .lp-woo table.shop_table td.product-thumbnail{justify-content:flex-start}
 .lp-woo table.shop_table td.actions{display:block;text-align:left}
 .lp-woo table.shop_table td.actions .button,.lp-woo table.shop_table td.actions button{width:100%;margin-top:.5rem}
 .lp-woo .quantity input.qty{width:4.5rem}
 .lp-woo .cart-collaterals,.lp-woo .cart-collaterals .cart_totals{width:100%;float:none}
 .lp-woo ul#shipping_method li{flex-wrap:wrap}
 .lp-woo .cart_totals table.shop_table tr{background:transparent;border:0;padding:0;margin:0}
 .lp-woo .cart_totals table.shop_table td,.lp-woo .cart_totals table.shop_table th{padding:.5rem 0}
}

/* The stacking rules above are for the line-items table only: the totals table keeps its own two-column
   layout, so it must not get the generated data-title labels or the card chrome. */
@media (max-width:767px){
 .lp-woo .cart_totals table.shop_table td::before,.lp-woo .cart_totals table.shop_table th::before{content:none!important}
 .lp-woo .cart_totals table.shop_table tr{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-top:1px solid hsl(var(--border));border-radius:0;padding:.5rem 0;margin:0}
 .lp-woo .cart_totals table.shop_table tr:first-child{border-top:0}
 .lp-woo .cart_totals table.shop_table th{width:auto;flex:0 0 auto;padding:0;text-align:left;font-size:.85rem}
 .lp-woo .cart_totals table.shop_table td{display:block;width:auto;flex:1 1 auto;border:0;padding:0;text-align:right}
 .lp-woo .cart_totals ul#shipping_method{display:block;text-align:right}
 .lp-woo .cart_totals ul#shipping_method li{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin:.3rem 0;flex-wrap:nowrap}
 .lp-woo .cart_totals ul#shipping_method li label{text-align:right;white-space:normal}
 .lp-woo .woocommerce-shipping-destination,.lp-woo .shipping-calculator-button{display:block;text-align:right;margin-top:.4rem}
 .lp-woo .cart_totals .order-total td{font-size:1.1rem;font-weight:700}
}

/* The shipped stylesheet only contains classes the original site used: pt-24/pt-28/pb-16 are NOT in it, so
   the Woo pages had no offset and their heading sat under the fixed header. Own the spacing here. */
.lp-woo{padding-top:6.5rem;padding-bottom:4rem}
@media (min-width:768px){.lp-woo{padding-top:7.5rem}}
@media (min-width:1024px){
 .lp-woo .cart_totals table.shop_table th{width:38%}
 .lp-woo .cart_totals table.shop_table td{width:62%}
 .lp-woo .cart_totals ul#shipping_method li{align-items:flex-start}
 .lp-woo .cart_totals ul#shipping_method li label{white-space:normal;line-height:1.35}
 .lp-woo .woocommerce-shipping-destination,.lp-woo .shipping-calculator-button{display:block;margin-top:.35rem}
}

/* 2026-09-22: sort dropdown rendered blank on Safari (native white control + light text) */
select[data-lp-sort]{-webkit-appearance:none;appearance:none;background-color:hsl(var(--card));color:hsl(var(--foreground));background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;background-size:16px;padding-right:2.5rem;font-size:16px;line-height:1.4}
select[data-lp-sort] option{background-color:hsl(var(--card));color:hsl(var(--foreground))}
@media (min-width:640px){select[data-lp-sort]{font-size:.875rem}}
