/* GoBapu Graceful Site Experience — scoped, presentation-only enhancements */
:root { --gbg-green:#0d6b4f; --gbg-deep:#124632; --gbg-gold:#efbd3e; --gbg-mint:#edf7ef; --gbg-line:#d7e9d5; --gbg-ink:#19382c; }

/* Shared controls */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce-page a.button,
.woocommerce-page button.button, .woocommerce-page input.button,
.woocommerce .single_add_to_cart_button, .woocommerce .checkout-button,
.woocommerce a.added_to_cart {
  border-radius: 10px !important; font-weight: 700 !important; transition: .2s ease;
}
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce-page a.button,
.woocommerce-page button.button, .woocommerce-page input.button,
.woocommerce .single_add_to_cart_button, .woocommerce .checkout-button {
  background: linear-gradient(135deg,#ffdf77,#efbd3e) !important; color:#173d2a !important;
  border:1px solid #dfba4c !important; padding:.8em 1.2em !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce .single_add_to_cart_button:hover, .woocommerce .checkout-button:hover {
  background:#155b40 !important; color:#fff !important; border-color:#155b40 !important;
}
.woocommerce input.input-text, .woocommerce textarea, .woocommerce select,
.woocommerce-page input.input-text, .woocommerce-page textarea, .woocommerce-page select {
  border:1px solid #d7e5d9; border-radius:9px; padding:10px 12px; max-width:100%;
}

/* Homepage/custom theme product cards: supports both known markup variants */
.product-grid { gap:20px; align-items:stretch; }
.product-grid .product-card,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  box-sizing:border-box; min-width:0; overflow:hidden; border:1px solid #cfe3c9 !important;
  border-radius:17px !important; padding:5px !important;
  background:linear-gradient(145deg,#fffef8,#edf7ee) !important;
  box-shadow:0 0 6px rgba(45,150,91,.23),0 0 13px rgba(45,150,91,.10);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.product-grid .product-card:hover,
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
  transform:translateY(-3px); border-color:#d9b84e !important;
  box-shadow:0 0 8px rgba(224,183,61,.55),0 0 18px rgba(48,151,92,.23),0 8px 22px rgba(24,73,48,.10);
}
.product-grid .product-card-image, .product-grid .product-media,
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
  display:flex; align-items:center; justify-content:center; box-sizing:border-box;
  width:100%; aspect-ratio:1/1; height:auto; max-height:none; margin:0 auto !important;
  padding:10px; object-fit:contain; object-position:center; border-radius:12px;
  background:#fff; overflow:hidden;
}
.product-grid .product-card-image img, .product-grid .product-media img { width:100%; height:100%; object-fit:contain; object-position:center; margin:0; }
.product-grid .product-card-content, .product-grid .product-body,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
  text-align:center;
}
.product-grid .product-card-content, .product-grid .product-body {
  display:flex; flex-direction:column; align-items:center; gap:10px; margin-top:5px;
  padding:16px 12px; border-radius:12px; background:linear-gradient(180deg,#f7f8ef,#eaf4e9);
}
.product-grid .product-card-title, .product-grid .product-title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title {
  color:#174c35 !important; font-size:15px !important; line-height:1.5 !important;
  font-weight:700 !important; text-align:center !important; overflow-wrap:anywhere;
}
.product-grid .product-card-title a, .product-grid .product-title a { color:inherit; text-decoration:none; }
.product-grid .product-card-price, .product-grid .price-row,
.woocommerce ul.products li.product .price, .woocommerce-page ul.products li.product .price {
  color:#a92e25 !important; font-size:17px !important; font-weight:800 !important; text-align:center !important;
}
.product-grid .product-card-content .btn, .product-grid .product-actions .btn,
.woocommerce ul.products li.product a.button, .woocommerce-page ul.products li.product a.button {
  display:flex; align-items:center; justify-content:center; width:100%; max-width:230px;
  box-sizing:border-box; margin:8px auto 2px !important; text-align:center;
}
.product-grid .product-placeholder, .product-grid .gbw-product-placeholder {
  width:100%; aspect-ratio:1/1; min-height:150px; box-sizing:border-box; display:flex;
  flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:16px;
  border-radius:12px; background:linear-gradient(145deg,#f5f8e9,#e0f0e4); color:#155b40; text-align:center;
}

/* WooCommerce single product pages */
.single-product .woocommerce div.product { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(24px,4vw,54px); align-items:start; }
.single-product .woocommerce div.product div.images,
.single-product .woocommerce div.product div.summary { float:none !important; width:auto !important; margin:0 !important; min-width:0; }
.single-product .woocommerce div.product div.images { padding:12px; border:1px solid var(--gbg-line); border-radius:18px; background:#fff; box-shadow:0 0 10px rgba(45,150,91,.10); }
.single-product .woocommerce div.product div.images img { width:100%; max-height:620px; object-fit:contain; border-radius:12px; }
.single-product .woocommerce div.product .product_title { color:var(--gbg-deep); font-size:clamp(24px,3vw,36px); line-height:1.25; margin:0 0 12px; }
.single-product .woocommerce div.product p.price,
.single-product .woocommerce div.product span.price { color:#ad3028 !important; font-size:25px !important; font-weight:800; }
.single-product .woocommerce div.product .woocommerce-product-details__short-description { color:#52665b; line-height:1.75; }
.single-product .woocommerce div.product form.cart { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:22px 0; }
.single-product .woocommerce div.product form.cart .quantity { margin:0; }
.single-product .woocommerce div.product .quantity .qty { min-height:44px; border:1px solid #d7e5d9; border-radius:9px; }
.single-product .woocommerce div.product .product_meta { padding-top:16px; border-top:1px solid #e3eee3; color:#607468; font-size:13px; line-height:1.8; }
.single-product .woocommerce div.product .woocommerce-tabs { grid-column:1/-1; margin-top:14px; padding:22px; border:1px solid #e0ecde; border-radius:16px; background:#fff; }

/* Related / upsell cards inherit the same graceful style */
.single-product .related, .single-product .upsells { grid-column:1/-1; width:100%; margin-top:28px !important; }
.single-product .related > h2, .single-product .upsells > h2,
.woocommerce .cross-sells > h2 { color:var(--gbg-deep); font-size:clamp(22px,2.5vw,30px); margin-bottom:18px; }
.single-product .related ul.products, .single-product .upsells ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin:0 !important; }
.single-product .related ul.products::before, .single-product .related ul.products::after,
.single-product .upsells ul.products::before, .single-product .upsells ul.products::after { display:none !important; }
.single-product .related ul.products li.product, .single-product .upsells ul.products li.product { width:auto !important; float:none !important; margin:0 !important; }

/* Shop and category archive headings / notices */
.woocommerce .woocommerce-breadcrumb { color:#718278; font-size:13px; margin:12px 0 20px; }
.woocommerce .woocommerce-result-count { color:#65766b; }
.woocommerce .woocommerce-ordering select { min-height:40px; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { border-top-color:var(--gbg-green); border-radius:10px; background:#f5faf5; }
.woocommerce table.shop_table { border:1px solid #e0ecdf; border-radius:12px; overflow:hidden; }

@media (max-width:900px) {
  .single-product .woocommerce div.product { grid-template-columns:minmax(0,1fr); }
  .single-product .woocommerce div.product .woocommerce-tabs,
  .single-product .related, .single-product .upsells { grid-column:1; }
  .single-product .related ul.products, .single-product .upsells ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .product-grid .product-card-content, .product-grid .product-body { padding:12px 8px; gap:8px; }
  .product-grid .product-card-title, .product-grid .product-title,
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:13px !important; }
  .product-grid .product-card-price, .product-grid .price-row,
  .woocommerce ul.products li.product .price { font-size:15px !important; }
  .woocommerce ul.products, .woocommerce-page ul.products { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .woocommerce ul.products::before, .woocommerce ul.products::after { display:none !important; }
  .woocommerce ul.products li.product, .woocommerce-page ul.products li.product { width:auto !important; float:none !important; margin:0 !important; }
}
@media (max-width:480px) {
  .single-product .woocommerce div.product .product_title { font-size:25px; }
  .single-product .woocommerce div.product div.images { padding:7px; }
  .single-product .woocommerce div.product .woocommerce-tabs { padding:14px; }
}
@media (prefers-reduced-motion:reduce) { .product-grid .product-card, .woocommerce ul.products li.product { transition:none; } }
