/* NaturGlow — WooCommerce visual layer.
   Only styles; no functional overrides, so cart/checkout/filter plugins keep control. */

.woocommerce .woocommerce-breadcrumb { font-size: .85rem; color: var(--ng-muted); margin-bottom: 18px; }
.woocommerce-products-header { text-align: center; margin-bottom: 26px; }
.woocommerce-products-header__title { margin-bottom: 8px; }

.ng-shop--sidebar { display: grid; grid-template-columns: 270px 1fr; gap: 40px; align-items: start; }
.ng-shop__content { min-width: 0; }
.ng-shop__sidebar { position: sticky; top: 100px; padding: 22px; border: 1px solid var(--ng-border); border-radius: var(--ng-radius-lg); background: var(--ng-soft); }
.ng-shop__sidebar .widget + .widget { margin-top: 26px; }
.ng-shop__sidebar .widget-title { font-family: var(--ng-font-body); font-size: .85rem; letter-spacing: .16em; text-transform: uppercase; }
.ng-filter-toggle, .ng-filter-close { display: none; }
@media (max-width: 960px) {
	.ng-shop--sidebar { grid-template-columns: 1fr; }
	.ng-shop__sidebar { position: fixed; top: 0; left: 0; bottom: 0; width: min(340px, 88vw); z-index: 9997; overflow-y: auto; border-radius: 0; transform: translateX(-100%); transition: transform .3s; }
	.ng-shop__sidebar.is-open { transform: none; box-shadow: 0 0 0 100vmax rgba(0,0,0,.4); }
	.ng-filter-toggle { display: inline-flex; padding: 9px 18px; border: 1px solid var(--ng-primary); border-radius: 999px; background: #fff; color: var(--ng-primary); cursor: pointer; margin-bottom: 14px; }
	.ng-filter-close { display: block; margin-left: auto; background: none; border: 0; cursor: pointer; }
}

.woocommerce .woocommerce-result-count { color: var(--ng-muted); font-size: .9rem; }
.woocommerce .woocommerce-ordering select { border-radius: 999px; padding: 9px 16px; width: auto; }

/* Product grid */
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; margin: 0 0 32px; padding: 0; list-style: none; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products.columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.woocommerce ul.products.columns-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.woocommerce ul.products.columns-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; padding: 0; position: relative; }
@media (max-width: 1100px) { .woocommerce ul.products.columns-5, .woocommerce ul.products.columns-6 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 960px) { .woocommerce ul.products[class*="columns-"] { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 720px) { .woocommerce ul.products[class*="columns-"] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }

.ng-card { height: 100%; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ng-border); border-radius: var(--ng-radius); overflow: hidden; transition: box-shadow .25s, transform .25s; }
.ng-card:hover { box-shadow: var(--ng-shadow); transform: translateY(-3px); }
.ng-card__media { position: relative; background: var(--ng-soft); aspect-ratio: 1 / 1; overflow: hidden; }
.ng-card__media img { width: 100% !important; height: 100% !important; object-fit: cover; margin: 0 !important; transition: transform .5s; }
.ng-card:hover .ng-card__media img { transform: scale(1.04); }
.ng-card__body { flex: 1; display: flex; flex-direction: column; gap: 6px; padding: 12px 12px 14px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--ng-font-body); font-size: .95rem; font-weight: 400; line-height: 1.4; padding: 0; margin: 0; color: var(--ng-text); }
.woocommerce ul.products li.product .star-rating { margin: 0; font-size: .8em; color: var(--ng-accent); }
.woocommerce ul.products li.product .price { margin: 0 0 4px; color: var(--ng-text); font-weight: 600; font-size: 1rem; }
.woocommerce ul.products li.product .price del { color: var(--ng-muted); font-weight: 400; font-size: .85em; margin-left: 6px; opacity: 1; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button { margin-top: auto; width: 100%; border-radius: 6px; padding: 10px 12px; font-size: .78rem; letter-spacing: .04em; }
.woocommerce ul.products li.product .added_to_cart { display: block; text-align: center; font-size: .82rem; margin-top: 6px; }
.woocommerce span.onsale { position: absolute; top: 10px; left: 10px; right: auto; min-width: 0; min-height: 0; padding: 4px 10px; border-radius: 999px; background: var(--ng-accent); color: #fff; font-size: .74rem; font-weight: 600; line-height: 1.4; z-index: 2; margin: 0; }

/* Single product */
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 48px; }
.woocommerce div.product > * { grid-column: 1 / -1; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: 100% !important; float: none !important; grid-column: auto; margin: 0; }
.woocommerce div.product div.images { position: relative; }
.woocommerce div.product div.images img { border-radius: var(--ng-radius-lg); background: var(--ng-soft); }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-top: 12px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto !important; }
.woocommerce div.product div.images .flex-control-thumbs img { border-radius: 8px; border: 1px solid var(--ng-border); }
.woocommerce div.product .product_title { font-size: clamp(1.8rem, 3vw, 2.6rem); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--ng-primary); font-size: 1.5rem; font-weight: 600; }
.woocommerce div.product p.price del { color: var(--ng-muted); font-size: .7em; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--ng-muted); }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 24px 0; }
.woocommerce div.product form.cart .variations { width: 100%; }
.woocommerce div.product form.cart .single_variation_wrap { width: 100%; }
.woocommerce .quantity .qty { width: 84px; height: 48px; text-align: center; border-radius: 999px; }
.woocommerce div.product form.cart .button { height: 48px; padding: 0 34px; flex: 1; min-width: 180px; }
.woocommerce div.product .product_meta { font-size: .9rem; color: var(--ng-muted); display: grid; gap: 4px; border-top: 1px solid var(--ng-border); padding-top: 16px; }
.woocommerce div.product .woocommerce-tabs { margin-top: 24px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0 0 20px; border-bottom: 1px solid var(--ng-border); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none; border: 0; margin: 0; padding: 0; border-radius: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: block; padding: 12px 18px; color: var(--ng-muted); font-weight: 500; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--ng-primary); box-shadow: inset 0 -2px 0 var(--ng-primary); }
.woocommerce div.product .related > h2, .woocommerce div.product .upsells > h2, .ng-recent > h2 { text-align: center; margin: 48px 0 24px; }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { padding: 10px; border-color: var(--ng-border); }
@media (max-width: 860px) { .woocommerce div.product { grid-template-columns: 1fr; gap: 24px; } }

.woocommerce .star-rating span::before, .woocommerce p.stars a { color: var(--ng-accent); }
.woocommerce #reviews #comments ol.commentlist li .comment-text { border-color: var(--ng-border); border-radius: var(--ng-radius); }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--ng-primary); background: var(--ng-soft); border-radius: var(--ng-radius); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--ng-primary); }

/* Cart / checkout / account: light visual polish only.
   Kept generic so your cart & checkout plugins' own layouts are not affected. */
.ng-woo-page .ng-page-header { margin-bottom: 32px; }
.woocommerce table.shop_table { border-color: var(--ng-border); border-radius: var(--ng-radius); overflow: hidden; }
.woocommerce table.shop_table th { background: var(--ng-soft); font-weight: 600; }
.woocommerce table.cart img { width: 72px; border-radius: 8px; }
.woocommerce .cart-collaterals .cart_totals { background: var(--ng-soft); padding: 22px; border-radius: var(--ng-radius-lg); }
.woocommerce .checkout-button, .woocommerce #place_order { width: 100%; padding: 16px; font-size: .9rem; }
.woocommerce form .form-row label { font-weight: 500; font-size: .9rem; }

/* Store-wide buttons inherit theme tokens */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt {
	background: var(--ng-primary); color: var(--ng-on-primary); border-radius: 999px; font-weight: 500;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--ng-secondary); color: var(--ng-on-primary); }
.woocommerce button.button:disabled, .woocommerce button.button.alt.disabled { background: var(--ng-primary); opacity: .55; }

/* Product cards matched to the reference's compact portrait product grid. */
.woocommerce ul.products { gap: 16px; align-items: stretch; }
.ng-card { border-radius: 8px; }
.ng-card:hover { transform: none; }
.ng-card__media { aspect-ratio: 3/4; background: var(--ng-bg); }
.ng-card__media img { object-fit: contain; }
.ng-card__body { padding: 10px 8px 8px; gap: 8px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 14px; font-weight: 500; line-height: 1.4; min-height: 2.8em; }
.woocommerce ul.products li.product .price { min-height: 2.8em; font-size: 14px; line-height: 1.4; font-weight: 700; }
.woocommerce ul.products li.product .price del { margin: 0 4px 0 0; }
.woocommerce ul.products li.product .ng-card__body .button { border-radius: 3px; font-size: 12px; text-transform: none; letter-spacing: 0; min-height: 32px; padding: 8px 6px; line-height: 1.3; gap: 6px; }
.ng-card__body .button::before { content: ''; width: 12px; height: 13px; border: 1px solid currentColor; border-radius: 2px; flex-shrink: 0; }
.ng-card__body .button::after { display: none; }
.woocommerce ul.products li.product .star-rating { display: none; }
@media(max-width:1279px) and (min-width:768px) { .woocommerce ul.products.columns-6 { grid-template-columns: repeat(4,minmax(0,1fr)); } }
@media(max-width:767px) { .woocommerce ul.products[class*="columns-"] { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; } .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 12px; } .woocommerce ul.products li.product .price { font-size: 12px; min-height: 2.8em; } .woocommerce ul.products li.product .ng-card__body .button { font-size: 10px; } }

/* Compact card proportions from the supplied six-column desktop reference. */
.ng-card__media { border-bottom: 1px solid var(--ng-border); }
.ng-card__body { background: var(--ng-bg); }
.woocommerce ul.products li.product .price { min-height: 1.4em; margin-bottom: 0; }
.woocommerce ul.products li.product .ng-card__body .button { display: inline-flex; justify-content: center; align-items: center; border-radius: 6px; min-height: 28px; padding: 5px 8px; font-weight: 700; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 2.8em; }
@media(min-width:1280px) { .woocommerce ul.products.columns-6 { grid-template-columns: repeat(6,minmax(0,1fr)); } }
