/* WooCommerce styling. Uses the same CSS variables as main.css. */
.woo-main{padding-bottom:3rem}
.woocommerce-breadcrumb{font-size:.88rem;padding:1rem 0}
.woocommerce-products-header__title,.product_title{margin-top:.5rem}

/* Shop layout */
.shop-layout{display:grid;gap:2rem}
@media (min-width:960px){.shop-layout{grid-template-columns:260px minmax(0,1fr)}}
.shop-filters .filters-head{display:flex;justify-content:space-between;align-items:center}
.shop-filters .filters-close{display:none;border:0;background:none;cursor:pointer}
.filter-group{border-top:1px solid #e3e6e1;padding:1rem 0}
.filter-group h3{font-size:1rem;margin-bottom:.6rem}
.filter-cats{list-style:none;padding:0;margin:0}
.filter-cats a{text-decoration:none;display:block;padding:.2rem 0}
.filter-cats a[aria-current=page]{font-weight:700;color:var(--cpb-primary-dark)}
.filter-cats span{color:#6b756d;font-size:.85rem}
.price-fields{display:flex;gap:.5rem}
.price-fields input,.filter-form input[type=number]{width:100%;padding:.55rem;border:1px solid #c9cfc9;border-radius:var(--cpb-radius);font:inherit}
.check{display:flex;gap:.5rem;align-items:center;margin-bottom:.35rem;cursor:pointer}
.filter-actions{display:flex;gap:.5rem;flex-wrap:wrap;padding-top:1rem;border-top:1px solid #e3e6e1}
.shop-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:1rem}
.shop-toolbar .woocommerce-result-count{margin:0 auto 0 0;order:2}
.shop-toolbar .woocommerce-ordering{margin:0;order:3}
.woocommerce-ordering select{padding:.55rem;border:1px solid #c9cfc9;border-radius:var(--cpb-radius);font:inherit}
.filter-toggle{display:none}
.view-toggle{display:inline-flex;order:4;border:1px solid #c9cfc9;border-radius:var(--cpb-radius);overflow:hidden}
.view-btn{border:0;background:#fff;padding:.5rem .7rem;cursor:pointer;color:var(--cpb-text)}
.view-btn.is-active{background:var(--cpb-primary);color:#fff}
.active-filters{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:0 0 1rem}
.active-filters a{display:inline-block;padding:.3rem .8rem;border-radius:999px;background:var(--cpb-surface);border:1px solid #d7dccd;text-decoration:none;font-size:.88rem;color:var(--cpb-text)}
.active-filters .clear-all{background:none;border:0;text-decoration:underline;color:var(--cpb-primary)}
.no-results-actions{display:flex;gap:.75rem;flex-wrap:wrap}

/* Product cards */
.woocommerce ul.products,.wp-block-woocommerce-product-collection ul{display:grid;gap:1.25rem;grid-template-columns:repeat(2,1fr);list-style:none;margin:0 0 2rem;padding:0}
@media (min-width:700px){
	.woocommerce ul.products.columns-3,.woocommerce ul.products.columns-4,.woocommerce ul.products.columns-5{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:1100px){
	.woocommerce ul.products.columns-3{grid-template-columns:repeat(3,1fr)}
	.woocommerce ul.products.columns-4{grid-template-columns:repeat(4,1fr)}
	.woocommerce ul.products.columns-5{grid-template-columns:repeat(5,1fr)}
}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{position:relative;float:none;width:auto;margin:0;background:#fff;border:1px solid #e3e6e1;border-radius:calc(var(--cpb-radius)*1.5);padding:0 0 1rem;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .2s}
.woocommerce ul.products li.product:hover{box-shadow:0 8px 24px rgba(0,0,0,.08)}
.woocommerce ul.products li.product a img{width:100%;aspect-ratio:1/1;object-fit:cover;margin:0 0 .75rem}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1rem;padding:0 1rem;margin:0 0 .3rem}
.woocommerce ul.products li.product .price{padding:0 1rem;display:block;color:var(--cpb-primary-dark);font-weight:700}
.woocommerce ul.products li.product .star-rating{margin:0 1rem .4rem}
.woocommerce ul.products li.product .button{margin:auto 1rem 0;width:calc(100% - 2rem);margin-top:.75rem}
.stock-note{padding:0 1rem;margin:.2rem 0 0;font-size:.82rem}
.stock-note.in{color:var(--cpb-primary)}
.stock-note.out{color:#b42318}
.stock-note.back{color:#9a6a00}
.product-badge{position:absolute;left:.6rem;top:.6rem;background:var(--cpb-accent);color:#fff;font-size:.75rem;font-weight:700;padding:.2rem .6rem;border-radius:4px;z-index:2}
.woocommerce span.onsale{background:#b42318;color:#fff;border-radius:4px;min-height:0;min-width:0;line-height:1.4;padding:.2rem .6rem;top:.6rem;right:.6rem;left:auto;font-size:.75rem}
/* List view */
ul.products.is-list{grid-template-columns:1fr!important}
ul.products.is-list li.product{flex-direction:row;align-items:center;gap:1rem;padding:0 1rem 0 0}
ul.products.is-list li.product a:first-child{flex:0 0 180px}
ul.products.is-list li.product .button{width:auto;margin:0 0 0 auto}

/* Single product */
.single-product div.product{display:grid;gap:2rem}
@media (min-width:900px){.single-product div.product{grid-template-columns:1fr 1fr;align-items:start}.single-product div.product .woocommerce-tabs,.single-product div.product .related,.single-product div.product .upsells,.single-product div.product .recently-viewed{grid-column:1/-1}}
.single-product div.product div.images,.single-product div.product div.summary{width:100%;float:none;margin:0}
.single-product .price{font-size:1.5rem;color:var(--cpb-primary-dark);font-weight:700}
.single-product .quantity .qty{width:5rem;padding:.7rem;border:1px solid #c9cfc9;border-radius:var(--cpb-radius);font:inherit}
.single-product form.cart{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:1rem 0}
.single-product form.cart .variations{width:100%}
.single-product form.cart .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;width:100%}
.single-product .variations select{padding:.6rem;border:1px solid #c9cfc9;border-radius:var(--cpb-radius);font:inherit}
.single_add_to_cart_button.disabled,.single_add_to_cart_button:disabled{opacity:.5;cursor:not-allowed}
.cpb-buy-now{background:var(--cpb-accent);border-color:var(--cpb-accent)}
.cpb-whatsapp-btn{background:#1f7a4d;border-color:#1f7a4d}
.woocommerce-tabs ul.tabs{display:flex;flex-wrap:wrap;gap:.25rem;list-style:none;padding:0;margin:0 0 1.5rem;border-bottom:2px solid #e3e6e1}
.woocommerce-tabs ul.tabs::before{display:none}
.woocommerce-tabs ul.tabs li{border:0;background:none;margin:0;padding:0;border-radius:0}
.woocommerce-tabs ul.tabs li::before,.woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce-tabs ul.tabs li a{display:block;padding:.7rem 1.1rem;text-decoration:none;color:var(--cpb-text);font-weight:600}
.woocommerce-tabs ul.tabs li.active a{color:var(--cpb-primary);border-bottom:3px solid var(--cpb-primary);margin-bottom:-2px}
.shop_attributes th{text-align:left;width:35%;background:var(--cpb-surface)}
.shop_attributes th,.shop_attributes td{padding:.7rem .9rem;border-bottom:1px solid #e3e6e1}
.recently-viewed{margin-top:2rem}

/* Cart, checkout, account */
.woocommerce table.shop_table{border:1px solid #e3e6e1;border-radius:var(--cpb-radius);border-collapse:separate;border-spacing:0;width:100%}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:.9rem;border-top:1px solid #e3e6e1}
.woocommerce-cart table.cart img{width:72px;border-radius:4px}
.woocommerce-cart .cart-collaterals,.woocommerce-checkout #order_review{margin-top:1.5rem}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce .select2-container--default .select2-selection--single{padding:.7rem .85rem;border:1px solid #c9cfc9;border-radius:var(--cpb-radius);font:inherit;min-height:46px}
.woocommerce form .form-row label{font-weight:600;margin-bottom:.25rem;display:block}
.woocommerce-message,.woocommerce-info,.woocommerce-error{padding:1rem 1.25rem;border-radius:var(--cpb-radius);background:var(--cpb-surface);border-left:4px solid var(--cpb-primary);list-style:none;margin:0 0 1.5rem}
.woocommerce-error{border-color:#b42318;background:#fdeceb}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none}
.woocommerce-message .button,.woocommerce-info .button{float:right}
.woocommerce-checkout #payment{background:var(--cpb-surface);border-radius:var(--cpb-radius)}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid #e3e6e1}
.woocommerce #place_order{width:100%;font-size:1.1rem;padding:1rem}
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0;margin:0 0 2rem}
.woocommerce-MyAccount-navigation a{display:block;padding:.6rem .9rem;text-decoration:none;border-radius:var(--cpb-radius);color:var(--cpb-text)}
.woocommerce-MyAccount-navigation .is-active a,.woocommerce-MyAccount-navigation a:hover{background:var(--cpb-surface);color:var(--cpb-primary-dark)}
@media (min-width:800px){
	.woocommerce-account .woocommerce{display:grid;grid-template-columns:240px minmax(0,1fr);gap:2rem}
	.woocommerce-account .woocommerce-notices-wrapper{grid-column:1/-1}
}
.woocommerce-order-received .woocommerce-thankyou-order-details{display:flex;flex-wrap:wrap;gap:1.5rem;list-style:none;padding:1rem;background:var(--cpb-surface);border-radius:var(--cpb-radius)}
.cpb-tracking{margin:1.5rem 0;padding:1rem 1.25rem;background:var(--cpb-surface);border-radius:var(--cpb-radius)}

/* Mobile filter drawer */
@media (max-width:959px){
	.filter-toggle{display:inline-flex;order:1}
	.shop-filters{position:fixed;inset:0 auto 0 0;width:min(88vw,340px);background:#fff;z-index:70;padding:1rem 1.25rem 2rem;overflow-y:auto;transform:translateX(-100%);transition:transform .25s;visibility:hidden;box-shadow:8px 0 30px rgba(0,0,0,.18)}
	.shop-filters.is-open{transform:none;visibility:visible}
	.shop-filters .filters-close{display:inline-flex}
	.filters-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:65}
	.shop-toolbar .woocommerce-result-count{flex-basis:100%;order:5}
}
@media (max-width:640px){
	ul.products.is-list li.product{flex-direction:column;align-items:stretch;padding:0 0 1rem}
	.woocommerce-message .button,.woocommerce-info .button{float:none;margin-top:.6rem}
}
