/* =========================================================
   WooCommerce: shop grid + product page.
   ========================================================= */

/* Shop / category pages */
.woocommerce .site-main, .woocommerce-page .site-main { max-width: var(--gd-wrap); margin: 0 auto; padding: 32px 24px 56px; box-sizing: border-box; }
.woocommerce-products-header__title { font-weight: 800; font-size: clamp(28px, 4vw, 40px); margin: 0 0 8px; }
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; margin: 0 0 32px; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; list-style: none; }
.woocommerce ul.products li.product .gd-card { height: 100%; }
.woocommerce .woocommerce-result-count { color: var(--gd-ink-soft); font-size: 14px; }
.woocommerce .woocommerce-ordering select { border: 1px solid var(--gd-line); border-radius: var(--gd-pill); padding: 8px 14px; font: inherit; }
.woocommerce nav.woocommerce-pagination ul { border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { border-radius: var(--gd-pill); min-width: 40px; padding: 10px; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--gd-green); color: #fff; }

/* Product page */
.single-product div.product { display: flex; flex-wrap: wrap; gap: 44px; }
.single-product div.product .woocommerce-product-gallery { flex: 1 1 480px; min-width: 0; width: auto !important; float: none !important; margin: 0 !important; }
.single-product div.product .summary { flex: 1 1 420px; min-width: 0; width: auto !important; float: none !important; margin: 0 !important; display: flex; flex-direction: column; gap: 14px; }
.single-product div.product .woocommerce-tabs, .single-product div.product .related { flex: 1 1 100%; }
.single-product .product_title { font-weight: 800; font-size: clamp(32px, 4vw, 44px); letter-spacing: -0.03em; margin: 0; }
.gd-single__col { font-size: 13px; }
.single-product .summary > p.price { font-size: 18px; color: var(--gd-ink-soft); margin: 0; }
.single-product .summary > p.price .woocommerce-Price-amount { color: var(--gd-ink); font-weight: 800; }
.single-product .woocommerce-product-details__short-description p { margin: 0; color: var(--gd-ink-soft); font-size: 17px; }
.gd-specs--single { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.gd-specs--single div { background: #fff; border: 1px solid var(--gd-line); padding: 12px; border-radius: 14px; }
@media (max-width: 560px) { .gd-specs--single { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.gd-note { margin: -4px 0 0; font-size: 12px; color: var(--gd-ink-soft); }

/* Variation form: pack buttons (the select stays for WooCommerce, hidden by JS) */
.single-product table.variations { margin: 0; border: 0; }
.single-product table.variations th.label { display: block; padding: 0 0 8px; text-align: left; font-weight: 800; }
.single-product table.variations td.value { display: block; padding: 0; }
.single-product table.variations tr { display: block; }
.single-product .reset_variations { display: none !important; }
.gd-packs { display: flex; flex-direction: column; gap: 8px; }
.gd-packs button { display: flex; align-items: center; gap: 14px; width: 100%; min-height: 64px; padding: 10px 16px; border-radius: 14px; cursor: pointer; font: inherit; color: var(--gd-ink); background: #fff; border: 1px solid var(--gd-line); text-align: left; transition: border-color .15s, background .15s, box-shadow .15s; }
.gd-packs button:hover { border-color: var(--gd-sage); box-shadow: 0 4px 12px rgba(24,36,15,.08); }
.gd-packs button[aria-pressed="true"] { background: #edf4e7; border: 2px solid var(--gd-green); }
.gd-packs .r { flex: none; width: 20px; height: 20px; border-radius: 50%; box-sizing: border-box; border: 2px solid #9aa79f; }
.gd-packs button[aria-pressed="true"] .r { border: 6px solid var(--gd-green); }
.gd-packs .t { flex: 1; }
.gd-packs .t strong { font-size: 17px; }
.gd-packs .tag { margin-left: 6px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; padding: 2px 8px; border-radius: var(--gd-pill); background: #eef1ef; }
.gd-packs .tag.hot { background: var(--gd-sage); }
.gd-packs .p { text-align: right; }
.gd-packs .p strong { display: block; }
.gd-packs .p small { font-size: 12px; color: var(--gd-ink-soft); }
.single-product .single_variation_wrap .woocommerce-variation-price { display: none; }
.single-product form.cart .quantity input.qty { height: 54px; width: 70px; border: 1px solid var(--gd-line); border-radius: var(--gd-pill); text-align: center; font: inherit; font-weight: 800; }
.single-product form.cart { display: flex; flex-direction: column; gap: 14px; margin: 0 !important; }
.single-product .woocommerce-variation-add-to-cart { display: flex; gap: 10px; align-items: center; }
.single-product .single_add_to_cart_button { flex: 1; height: 56px; font-size: 17px !important; }
.single-product .single_add_to_cart_button.disabled { opacity: .5; }

.gd-trustlist { list-style: none; margin: 0; padding: 16px 18px; background: var(--gd-tint); border-radius: 16px; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; font-size: 14px; font-weight: 600; }
.gd-trustlist li { display: flex; gap: 8px; align-items: center; }
.gd-trustlist svg { color: var(--gd-green); flex: none; }

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 24px 0 0; border-bottom: 1px solid var(--gd-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none; border: 0; border-radius: 0; margin: 0; padding: 0; }
.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 a { padding: 16px 18px; font-weight: 800; color: var(--gd-ink-soft); border-bottom: 3px solid transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--gd-ink); border-bottom-color: var(--gd-green); }
.woocommerce table.shop_attributes { border: 0; }
.woocommerce table.shop_attributes th, .woocommerce table.shop_attributes td { border-bottom: 1px solid var(--gd-line); padding: 12px 8px; font-style: normal; background: none !important; }
.woocommerce table.shop_attributes td p { margin: 0; font-weight: 700; }

.related.products > h2 { font-weight: 800; font-size: 24px; }

/* Notices */
.woocommerce-message, .woocommerce-info { border-top-color: var(--gd-green); border-radius: var(--gd-radius-sm); background: var(--gd-tint); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--gd-green); }

/* WooCommerce "alt" buttons (add to cart, checkout) in brand green instead of default purple */
.woocommerce button.button.alt, .woocommerce a.button.alt, .woocommerce input.button.alt,
.woocommerce button.button.alt.disabled, .woocommerce button.button.alt:disabled[disabled] { background: var(--gd-green); color: #fff; border-radius: var(--gd-pill); }
.woocommerce button.button.alt:hover, .woocommerce a.button.alt:hover { background: var(--gd-green-dark); color: #fff; }
