/* ===========================================================================
   WooCommerce — restyle native output to match Sky Pearl tokens/components.
   =========================================================================== */

.woocommerce-wrap{max-width:var(--wrap);margin:0 auto;padding:var(--space-10) var(--space-5)}
.shop-layout{display:grid;grid-template-columns:1fr;gap:var(--space-8)}
@media(min-width:900px){.shop-layout{grid-template-columns:250px 1fr}}

/* toolbar */
.shop-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-6)}
.woocommerce-result-count{color:var(--color-text-muted);font-size:var(--text-sm);margin:0}
.woocommerce-ordering select{max-width:260px}

/* filter sidebar */
.shop-filters{display:flex;flex-direction:column;gap:var(--space-5)}
.filter-block{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}
.filter-block h3{font-size:var(--text-sm);font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);
	margin:0 0 var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}
.filter-block ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.filter-block a{display:flex;align-items:center;gap:.5em;padding:.55em .75em;border-radius:var(--radius-sm);
	color:var(--color-text);font-size:var(--text-sm);font-weight:500;transition:background var(--duration-fast) var(--ease),color var(--duration-fast) var(--ease)}
.filter-block a::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-border-strong);flex:0 0 auto;transition:background var(--duration-fast)}
.filter-block a:hover{background:#fff;color:var(--color-primary)}
.filter-block a:hover::before{background:var(--color-accent)}
.filter-block a.current{background:var(--color-primary);color:#fff;font-weight:600}
.filter-block a.current::before{background:var(--color-accent)}
.filter-toggle{display:inline-flex;align-items:center;gap:.5em}
@media(min-width:900px){.filter-toggle{display:none}}
@media(max-width:899px){.shop-filters{display:none}.shop-filters.is-open{display:flex}}

/* product loop -> shared card grid (3 per row on desktop) */
.woocommerce ul.products,
.woocommerce-page ul.products,
.woocommerce ul.products.columns-4{
	display:grid!important;grid-template-columns:repeat(2,1fr)!important;
	gap:var(--space-5)!important;margin:0!important;padding:0!important;list-style:none}
@media(min-width:768px){
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.woocommerce ul.products.columns-4{grid-template-columns:repeat(3,1fr)!important}
}
/* kill WooCommerce float-clearfix pseudo-elements that otherwise become phantom grid cells (the 2/3/2 bug) */
.woocommerce ul.products::before,.woocommerce ul.products::after,
.woocommerce-page ul.products::before,.woocommerce-page ul.products::after{content:none!important;display:none!important}
.woocommerce ul.products li.product{width:auto!important;max-width:none!important;margin:0!important;float:none!important;clear:none!important;padding:0!important}

/* onsale flag reused as badge */
.woocommerce span.onsale{position:absolute;top:var(--space-3);left:var(--space-3);margin:0;min-height:0;min-width:0;
  background:var(--color-sale);color:#fff;font-size:var(--text-xs);font-weight:700;padding:.3em .7em;border-radius:var(--radius-pill);line-height:1;z-index:2}

/* single product */
.woocommerce div.product{display:grid;grid-template-columns:1fr;gap:var(--space-8)}
@media(min-width:900px){.woocommerce div.product{grid-template-columns:minmax(0,460px) minmax(0,1fr);gap:var(--space-12);align-items:start}}
.woocommerce div.product div.images{width:auto!important;float:none!important;margin:0!important}
.woocommerce div.product div.images{margin:0}
.woocommerce div.product .product_title{font-size:var(--text-3xl);margin-top:var(--space-2)}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--color-text);font-size:var(--text-2xl);font-weight:700}
.woocommerce div.product p.price ins{color:var(--color-sale)}
.woocommerce div.product p.price del{color:var(--color-text-muted)}
.product__cat{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}
.woocommerce .quantity .qty{width:72px;text-align:center}
.woocommerce div.product form.cart{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap;margin:var(--space-5) 0}
.woocommerce div.product .woocommerce-product-details__short-description{color:var(--color-text-muted)}
.woocommerce .star-rating{color:var(--color-accent)}
/* tabs (rendered as .skypearl-accordion) + related span full width under the product */
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .skypearl-accordion,
.woocommerce div.product .related,
.woocommerce div.product .upsells{grid-column:1/-1!important;width:auto!important;float:none!important;margin-top:var(--space-12)}
.skypearl-accordion{max-width:860px}

/* buttons inside woo */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:46px;padding:0 var(--space-6);
  background:var(--color-primary);color:#fff;border:0;border-radius:var(--radius-pill);font-family:var(--font-sans);
  font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease)}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover{background:var(--color-primary-hover);color:#fff}
.woocommerce .button.added::after{margin-left:.4em}

/* product-card add-to-cart: consistent full-width, slimmer (override woo defaults) */
.card__foot{padding-top:0}
.woocommerce ul.products li.product .card__foot .button,
.card__foot .button,.card__foot .added_to_cart{
	display:flex!important;width:100%!important;min-height:44px!important;
	padding:0 var(--space-4)!important;font-size:var(--text-sm)!important;margin:0!important}
.card__foot .added_to_cart{margin-top:var(--space-2)!important;background:transparent!important;color:var(--color-primary)!important;box-shadow:inset 0 0 0 1.5px var(--color-primary)}
.card__foot .added_to_cart:hover{background:var(--color-primary)!important;color:#fff!important}

/* notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--color-primary);border-radius:var(--radius-md)}
.woocommerce-message::before{color:var(--color-success)}
.woocommerce-info::before{color:var(--color-primary)}

/* cart */
.woocommerce-cart .shop_table{border-radius:var(--radius-md);overflow:hidden}
.cart-wrap{display:grid;grid-template-columns:1fr;gap:var(--space-8)}
@media(min-width:900px){.cart-wrap{grid-template-columns:1fr 360px;align-items:start}}
.cart-summary{background:var(--color-surface-alt);border-radius:var(--radius-lg);padding:var(--space-6)}
@media(min-width:900px){.cart-summary{position:sticky;top:calc(var(--header-h) + 16px)}}
.woocommerce-cart-form__cart-item .product-thumbnail img{width:72px;border-radius:var(--radius-sm)}
.cart-empty{text-align:center;padding:var(--space-16) 0}

/* checkout */
.woocommerce-checkout .col2-set,.woocommerce-checkout #customer_details{margin-bottom:var(--space-6)}
.woocommerce form .form-row label{font-weight:600}
.woocommerce-checkout #order_review{background:var(--color-surface-alt);border-radius:var(--radius-lg);padding:var(--space-6)}
.checkout-trust{display:flex;align-items:center;gap:.5em;color:var(--color-text-muted);font-size:var(--text-sm);margin-top:var(--space-4)}
.checkout-trust svg{width:18px;height:18px;color:var(--color-success)}

/* account ---------------------------------------------------------------- */

/* logged-OUT: centered login card */
.is-account-auth .woocommerce{max-width:480px;margin:0 auto}
.woocommerce-form-login>h2,.woocommerce-form-register>h2{font-size:var(--text-xl);margin-bottom:var(--space-4)}
.woocommerce form.woocommerce-form-login,
.woocommerce form.woocommerce-form-register{background:var(--color-surface-alt);border:1px solid var(--color-border);
	border-radius:var(--radius-lg);padding:var(--space-8);margin:0}
.woocommerce-form-login .form-row,.woocommerce-form-register .form-row{margin-bottom:var(--space-4)}
.woocommerce-form-login .button,.woocommerce-form-register .button{width:100%;margin-top:var(--space-2)}
.woocommerce-form-login .woocommerce-form-login__rememberme{font-weight:400;font-size:var(--text-sm)}
.woocommerce-LostPassword{margin-top:var(--space-4);font-size:var(--text-sm)}

/* logged-IN: dashboard nav (left) + content (right) */
.is-account-dash .woocommerce{display:grid;grid-template-columns:1fr;gap:var(--space-8)}
.is-account-dash .woocommerce-MyAccount-navigation,
.is-account-dash .woocommerce-MyAccount-content{float:none!important;width:auto!important;margin:0!important}
@media(min-width:900px){
	.is-account-dash .woocommerce{grid-template-columns:240px minmax(0,1fr);align-items:start}
	/* pin columns regardless of shortcode DOM order: nav left, content right */
	.is-account-dash .woocommerce-MyAccount-navigation{grid-column:1;grid-row:1}
	.is-account-dash .woocommerce-MyAccount-content{grid-column:2;grid-row:1}
}
.woocommerce-MyAccount-navigation{margin:0}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-1);
	background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg)}
.woocommerce-MyAccount-navigation a{display:block;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:var(--color-text);font-weight:500}
.woocommerce-MyAccount-navigation a:hover,.woocommerce-MyAccount-navigation .is-active a{background:#fff;color:var(--color-primary);font-weight:600;box-shadow:var(--shadow-sm)}
.woocommerce-MyAccount-content{min-width:0;margin:0}
.woocommerce table.shop_table{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}
.woocommerce-account .addresses .col-1,.woocommerce-account .addresses .col-2{margin-bottom:var(--space-5)}

/* related */
.related.products,.up-sells{grid-column:1/-1!important;width:auto!important;float:none!important;margin-top:var(--space-12)}
.related.products>h2,.up-sells>h2{font-size:var(--text-2xl);text-align:center;margin-bottom:var(--space-8)}
