/*
Theme Name: Good Nutrition Only
Description: A blank theme generated by DreamWeb Tools. Use Theme Code to inject your header, footer, CSS, and JS.
Author: DreamWeb Studio
Author URI: https://dreamweb.studio
Version: 1.0.0
License: GPL-2.0+
*/

/* Reset: remove default margins/padding */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
img { max-width: 100%; height: auto; }

/* ============================================================
   WOOCOMMERCE — shop archive + single product (brand styling)
   ============================================================ */

/* Page container + generous vertical rhythm */
.woocommerce #primary,
.woocommerce-page #primary,
.woocommerce .site-main,
.woocommerce-page .site-main,
#main-content.gno-woo .gno-container {
  max-width: var(--gno-container);
  margin-inline: auto;
  padding-block: var(--gno-section-y);
}

/* ---- Shop header ---- */
.woocommerce-products-header,
.gno-shop__head { text-align: center; margin-bottom: var(--gno-space-9); }
.woocommerce-products-header__title,
.gno-shop__title {
  color: var(--gno-white); font-family: var(--gno-font-heading);
  font-size: var(--gno-fs-3xl); margin-bottom: var(--gno-space-3);
}
.woocommerce .term-description { color: var(--gno-text-muted); max-width: 60ch; margin: 0 auto; }

/* Result count + ordering */
.woocommerce .woocommerce-result-count { color: var(--gno-gray); font-size: var(--gno-fs-sm); margin-bottom: var(--gno-space-6); }
.woocommerce .woocommerce-ordering { margin-bottom: var(--gno-space-7); }
.woocommerce .woocommerce-ordering select,
.woocommerce select.orderby {
  background: var(--gno-surface); color: var(--gno-white);
  border: 1px solid var(--gno-border-strong); border-radius: var(--gno-radius); padding: .6em 1em;
}

/* ---- Product grid (forced over WooCommerce defaults) ---- */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  justify-content: stretch; align-items: stretch;
  gap: var(--gno-space-7);
  width: 100%; margin: 0; padding: 0; list-style: none; float: none;
}
@media (min-width: 768px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: var(--gno-space-8) var(--gno-space-7);
  }
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  margin: 0 !important; width: auto !important; max-width: none !important; float: none !important;
  display: flex; flex-direction: column; padding-bottom: var(--gno-space-6);
  background: var(--gno-surface); border: 1px solid var(--gno-border);
  border-radius: var(--gno-radius-lg); overflow: hidden;
  transition: transform var(--gno-dur) var(--gno-ease), border-color var(--gno-dur) var(--gno-ease), box-shadow var(--gno-dur) var(--gno-ease);
}
.woocommerce ul.products li.product:hover { transform: translateY(-5px); border-color: var(--gno-border-strong); box-shadow: var(--gno-shadow); }
.woocommerce ul.products li.product a img {
  margin: 0 0 var(--gno-space-5); border-radius: 0;
  aspect-ratio: 1 / 1; object-fit: cover; width: 100%;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  padding: 0 var(--gno-space-6); margin-bottom: var(--gno-space-2);
  font-family: var(--gno-font-heading); font-size: var(--gno-fs-lg); color: var(--gno-white);
}
.woocommerce ul.products li.product .price {
  display: block; padding: 0 var(--gno-space-6); margin-bottom: var(--gno-space-5);
  color: var(--gno-white); font-family: var(--gno-font-body); font-size: var(--gno-fs-base);
}
.woocommerce ul.products li.product .price del { color: var(--gno-gray); font-weight: 400; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart { margin: auto var(--gno-space-6) 0; }
.woocommerce span.onsale {
  background: var(--gno-white); color: var(--gno-black); border-radius: var(--gno-radius-pill);
  font-family: var(--gno-font-body); font-weight: 600; text-transform: uppercase; letter-spacing: .06em;
  min-height: 0; min-width: 0; padding: .3em .9em; top: var(--gno-space-4); left: var(--gno-space-4); margin: 0;
}

/* ---- Single product ---- */
.woocommerce div.product {
  display: flex; flex-wrap: wrap; align-items: flex-start;
  gap: var(--gno-space-7) var(--gno-space-9); color: var(--gno-text-muted);
}
.woocommerce div.product > .woocommerce-product-gallery { flex: 1 1 44%; width: auto; float: none; margin: 0; }
.woocommerce div.product > .summary { flex: 1 1 44%; width: auto; float: none; margin: 0; }
.woocommerce div.product > .woocommerce-tabs,
.woocommerce div.product > .related,
.woocommerce div.product > .upsells { flex: 1 1 100%; width: 100%; margin-top: var(--gno-space-9); }
@media (max-width: 768px) {
  .woocommerce div.product > .woocommerce-product-gallery,
  .woocommerce div.product > .summary { flex-basis: 100%; }
}
.woocommerce div.product .woocommerce-product-gallery {
  border: 1px solid var(--gno-border); border-radius: var(--gno-radius-lg); overflow: hidden;
}
.woocommerce div.product .summary > * { margin-bottom: var(--gno-space-4); }
.woocommerce div.product .product_title {
  color: var(--gno-white); font-family: var(--gno-font-heading);
  font-size: var(--gno-fs-2xl); margin-bottom: var(--gno-space-3);
}
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--gno-white); font-size: var(--gno-fs-xl); margin-bottom: var(--gno-space-5); }
.woocommerce div.product p.price del { color: var(--gno-gray); }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--gno-text-muted); line-height: var(--gno-lh-body); }

/* Quantity + add-to-cart row — aligned, pill-matched */
.woocommerce div.product form.cart {
  display: flex; align-items: center; flex-wrap: wrap;
  gap: var(--gno-space-3); margin-top: var(--gno-space-6); margin-bottom: 0;
}
.woocommerce div.product form.cart .quantity { margin: 0; }
.woocommerce div.product form.cart .quantity input.qty {
  width: 92px; height: 54px; text-align: center;
  background: transparent; color: var(--gno-white);
  border: 1px solid var(--gno-border-strong) !important;
  border-radius: var(--gno-radius-pill) !important;
  font-family: var(--gno-font-body); font-size: var(--gno-fs-base);
  -moz-appearance: textfield; appearance: textfield;
}
.woocommerce div.product form.cart .quantity input.qty::-webkit-outer-spin-button,
.woocommerce div.product form.cart .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.woocommerce div.product form.cart .single_add_to_cart_button {
  height: 54px; flex: 1 1 auto; display: inline-flex; align-items: center; justify-content: center;
}

.woocommerce div.product .product_meta {
  margin-top: var(--gno-space-6); padding-top: var(--gno-space-5);
  border-top: 1px solid var(--gno-border); color: var(--gno-gray); font-size: var(--gno-fs-sm);
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs { border: 0; padding: 0 0 var(--gno-space-5); margin-bottom: var(--gno-space-6); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--gno-border); }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent; border: 1px solid var(--gno-border);
  border-radius: var(--gno-radius-pill); margin: 0 var(--gno-space-2) var(--gno-space-2) 0; padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--gno-gray); text-transform: uppercase; letter-spacing: .06em; font-size: var(--gno-fs-sm); padding: .6em 1.2em; display: block; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--gno-surface); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--gno-white); }
.woocommerce div.product .woocommerce-tabs .panel { color: var(--gno-text-muted); }
.woocommerce div.product .woocommerce-tabs .panel h2 { color: var(--gno-white); font-family: var(--gno-font-heading); }

/* Related / upsells */
.woocommerce .related > h2, .woocommerce .upsells > h2 {
  color: var(--gno-white); font-family: var(--gno-font-heading);
  font-size: var(--gno-fs-xl); margin-bottom: var(--gno-space-6);
}

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  background: var(--gno-surface) !important; color: var(--gno-text-muted) !important;
  border-top: 3px solid var(--gno-white); border-radius: var(--gno-radius); margin-bottom: var(--gno-space-6);
}
.woocommerce-message a, .woocommerce-info a, .woocommerce-error a { color: var(--gno-white); }
