/* ============================================================
   Single product — native Woo layout, brand-styled.
   .woocommerce-scoped; loaded after woocommerce.css.
   ============================================================ */

.single-product div.product { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.single-product div.product .woocommerce-product-gallery { width: 100% !important; margin: 0; }
.single-product div.product .summary { margin: 0; }
.single-product div.product .woocommerce-tabs,
.single-product div.product .related,
.single-product div.product .upsells { grid-column: 1 / -1; }

.single-product .product_title { font-size: var(--hcg-fs-feature); color: var(--hcg-heading); margin: 0 0 12px; }
.single-product .summary .price { color: var(--hcg-primary); font-weight: 700; font-size: 1.5rem; margin: 0 0 18px; }
.single-product .summary .woocommerce-product-details__short-description { color: var(--hcg-text); margin-bottom: 20px; }

/* Quantity + add to basket — brand yellow primary CTA */
.single-product .quantity input.qty {
  border: 1px solid var(--hcg-border); border-radius: var(--hcg-radius);
  padding: 10px; width: 72px; height: 46px; font-family: inherit;
}
.woocommerce div.product form.cart .button,
.woocommerce div.product .single_add_to_cart_button {
  background: var(--hcg-action); color: var(--hcg-heading);
  font-weight: 700; text-transform: uppercase; letter-spacing: 0.02em;
  border: 0; border-radius: var(--hcg-radius-btn); padding: 13px 30px; height: 46px;
  transition: background 0.16s ease;
}
.woocommerce div.product form.cart .button:hover,
.woocommerce div.product .single_add_to_cart_button:hover { background: var(--hcg-action-hover); }

/* Product add-ons / personalisation fields */
.single-product .summary .wc-pao-addon input[type="text"],
.single-product .summary .wc-pao-addon textarea {
  width: 100%; border: 1px solid var(--hcg-border); border-radius: var(--hcg-radius); padding: 10px 12px; font-family: inherit;
}
.single-product .summary .wc-pao-addon-name { font-weight: 600; color: var(--hcg-heading); }

/* Variation table — stacked label-above-select layout */
.single-product .summary table.variations { width: 100%; border-collapse: collapse; margin: 0 0 18px; }
.single-product .summary table.variations tbody,
.single-product .summary table.variations tr { display: block; }
.single-product .summary table.variations tr { margin-bottom: 14px; }
.single-product .summary table.variations th.label,
.single-product .summary table.variations td.value { display: block; width: 100%; text-align: left; padding: 0; }
.single-product .summary table.variations th.label { font-weight: 600; color: var(--hcg-heading); margin-bottom: 6px; }
.single-product .summary .reset_variations { display: inline-block; margin-top: 6px; font-size: 0.85rem; color: var(--hcg-primary); }

/* Variation + add-on selects — custom caret to match the brand (mirrors shop orderby) */
.single-product .summary .variations select,
.single-product .summary .wc-pao-addon select {
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  width: 100%; max-width: 100%; border: 1px solid var(--hcg-border); background-color: #fff; color: var(--hcg-heading);
  padding: 12px 40px 12px 14px; font-family: inherit; font-size: 0.95rem; line-height: 1.3; border-radius: var(--hcg-radius);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23BD669D' stroke-width='3'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center;
  cursor: pointer;
}
.single-product .summary .variations select:focus,
.single-product .summary .wc-pao-addon select:focus { outline: 2px solid var(--hcg-primary); outline-offset: 1px; }

/* Tabs */
.woocommerce-tabs ul.tabs { border: 0; padding: 0; display: flex; gap: 8px; flex-wrap: wrap; }
.woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce-tabs ul.tabs li {
  border: 1px solid var(--hcg-border); border-radius: var(--hcg-radius); background: var(--hcg-surface);
  margin: 0; padding: 0;
}
.woocommerce-tabs ul.tabs li::before, .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce-tabs ul.tabs li a { color: var(--hcg-text-muted); font-weight: 600; padding: 10px 18px; }
.woocommerce-tabs ul.tabs li.active { background: var(--hcg-primary); border-color: var(--hcg-primary); }
.woocommerce-tabs ul.tabs li.active a { color: #fff; }
.woocommerce-tabs .panel { padding-top: 24px; }
.woocommerce-tabs .panel h2 { color: var(--hcg-heading); }

/* Related / upsells */
.single-product .related > h2, .single-product .upsells > h2 {
  font-size: var(--hcg-fs-section); text-transform: uppercase; color: var(--hcg-heading);
  margin: 48px 0 24px; text-align: center;
}

/* Sale flash on single */
.single-product .product .onsale {
  background: var(--hcg-primary); color: #fff; border-radius: var(--hcg-radius);
  text-transform: uppercase; font-weight: 700; font-size: 0.75rem; padding: 5px 12px; min-height: 0; min-width: 0;
}

/* GOTCHA #4: desktop sticky gallery; reset to static on mobile so a `top`
   offset never shifts the image down over the title in the single-column layout. */
@media (min-width: 861px) {
  .single-product div.product .woocommerce-product-gallery {
    position: sticky; top: calc(var(--hcg-header-height) + 20px);
  }
}
@media (max-width: 860px) {
  .single-product div.product { grid-template-columns: 1fr; gap: 28px; }
  .single-product div.product .woocommerce-product-gallery { position: static; top: auto; }
}
