/* WooCommerce, restyled to the cream & navy brand. */

.bh-shop {
  max-width: 1300px;
  margin: 0 auto;
  padding: 7.5rem 1.5rem 5rem;
}

/* ---------- shared type ---------- */
.bh-shop h1.woocommerce-products-header__title,
.bh-shop .product_title,
.bh-shop h1.entry-title,
.bh-shop h2 {
  font-family: var(--serif);
  font-weight: 500;
  color: var(--navy);
  text-transform: uppercase;
  letter-spacing: .05em;
}
.bh-shop h1.woocommerce-products-header__title { text-align: center; font-size: clamp(2.2rem, 5vw, 3.4rem); margin-bottom: 2rem; }

/* ---------- buttons ---------- */
.bh-shop .button,
.bh-shop button[type="submit"],
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #payment #place_order,
.wc-block-components-button {
  background: var(--navy) !important;
  color: var(--cream) !important;
  border: 1px solid var(--navy) !important;
  border-radius: 0 !important;
  font-family: var(--sans);
  font-size: .72rem !important;
  letter-spacing: .24em;
  text-transform: uppercase;
  font-weight: 400 !important;
  padding: .85rem 2.1rem !important;
  transition: background .25s;
}
.bh-shop .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce #payment #place_order:hover,
.wc-block-components-button:hover {
  background: var(--navy-deep) !important;
}

/* ---------- product grid ---------- */
.woocommerce ul.products li.product {
  text-align: left;
  background: transparent;
}
.woocommerce ul.products li.product img {
  aspect-ratio: 3 / 2;
  object-fit: cover;
  width: 100%;
  transition: transform .4s, box-shadow .4s;
}
.woocommerce ul.products li.product:hover img {
  transform: translateY(-4px);
  box-shadow: 0 18px 36px -18px rgba(20, 37, 52, .5);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--serif);
  font-size: 1.2rem;
  color: var(--navy);
  font-weight: 600;
  padding-top: .7rem;
}
.woocommerce ul.products li.product .price {
  color: var(--slate);
  font-size: .85rem;
  font-family: var(--sans);
}
.woocommerce nav.woocommerce-pagination ul { border: none; }
.woocommerce nav.woocommerce-pagination ul li { border: none; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  color: var(--navy);
  font-size: .8rem;
  letter-spacing: .1em;
}
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--navy); color: var(--cream); }

/* ordering + result count */
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering select {
  color: var(--slate);
  font-size: .8rem;
}

/* ---------- single product ---------- */
.woocommerce div.product .product_title { font-size: clamp(1.8rem, 4vw, 2.6rem); }
.woocommerce div.product p.price {
  color: var(--navy);
  font-family: var(--serif);
  font-size: 1.4rem;
}
.woocommerce div.product div.images img { box-shadow: 0 30px 60px -30px rgba(20, 37, 52, .45); }
.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
  padding: .4rem 0;
  vertical-align: middle;
}
.woocommerce div.product form.cart .variations label {
  font-size: .72rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--slate);
  font-weight: 400;
}
.woocommerce div.product form.cart .variations select {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  padding: .55rem .7rem;
  font-family: var(--sans);
  font-size: .9rem;
  max-width: 100%;
}
.woocommerce div.product form.cart .reset_variations { font-size: .75rem; color: var(--slate); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--cream); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--navy); font-weight: 400; }
.woocommerce div.product .woocommerce-product-details__short-description,
.woocommerce div.product .woocommerce-Tabs-panel p {
  font-size: .95rem;
  color: var(--ink);
}

/* hide the meta box (SKU clutter) */
.woocommerce div.product .product_meta .sku_wrapper { display: none; }

/* ---------- notices ---------- */
.woocommerce-message,
.woocommerce-info {
  border-top-color: var(--navy);
  background: var(--cream-deep);
  color: var(--ink);
}
.woocommerce-message::before,
.woocommerce-info::before { color: var(--navy); }
.woocommerce-error { background: #fbf1f0; }

/* ---------- cart & checkout ---------- */
.woocommerce table.shop_table {
  border: 1px solid var(--line);
  border-radius: 0;
}
.woocommerce table.shop_table th {
  background: var(--cream-deep);
  color: var(--navy);
  font-family: var(--serif);
  font-size: 1rem;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border: 1px solid var(--line);
  background: #fff;
  padding: .6rem .7rem;
  border-radius: 0;
}
.woocommerce form .form-row label {
  font-size: .72rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--slate);
}
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
  background: var(--cream-deep);
  border-radius: 0;
}

/* Cart/checkout blocks (Gutenberg-based pages) */
.wc-block-components-checkout-step__title,
.wp-block-woocommerce-cart h2,
.wc-block-cart__totals-title {
  font-family: var(--serif);
  color: var(--navy);
}

@media (max-width: 700px) {
  .bh-shop { padding-top: 6rem; }
}
