/* NRVM WooCommerce overrides
   Supplements style.css for WC-specific elements */

/* =========================================================
   Breadcrumbs
   ========================================================= */
.woocommerce-breadcrumb {
  font-size: .82rem;
  color: var(--clr-muted);
  margin-bottom: 20px;
}
.woocommerce-breadcrumb a {
  color: var(--clr-primary);
  text-decoration: none;
}
.woocommerce-breadcrumb a:hover { text-decoration: underline; }

/* =========================================================
   Product Gallery
   ========================================================= */
.woocommerce-product-gallery .woocommerce-product-gallery__image img {
  border-radius: var(--radius-md);
  border: 1px solid var(--clr-border);
}
.woocommerce-product-gallery__trigger { display: none; }

/* =========================================================
   Single Product Summary
   ========================================================= */
.woocommerce div.product .product_title {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--clr-text);
  line-height: 1.3;
  margin-bottom: 8px;
}
.woocommerce div.product .woocommerce-product-details__short-description {
  color: var(--clr-muted);
  font-size: .93rem;
  margin-bottom: 16px;
}

/* =========================================================
   WC Quantity Input
   ========================================================= */
.woocommerce .quantity .qty {
  border: 1px solid var(--clr-border);
  border-radius: var(--radius-sm);
  padding: 8px 12px;
  font-size: .95rem;
  width: 80px;
  text-align: center;
}

/* =========================================================
   WC Notices
   ========================================================= */
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-message {
  border-radius: var(--radius-sm);
  font-size: .9rem;
  margin-bottom: 16px;
}
.woocommerce-notices-wrapper .woocommerce-message {
  border-color: var(--clr-primary);
  background: rgba(13,78,138,.04);
  color: var(--clr-primary);
}

/* =========================================================
   WC Tabs (product description / specs)
   ========================================================= */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0;
  margin-bottom: -1px;
  border: none;
  list-style: none;
  display: flex;
  gap: 4px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: var(--clr-surface);
  border: 1px solid var(--clr-border);
  border-bottom: none;
  border-radius: var(--radius-sm) var(--radius-sm) 0 0;
  padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-size: .88rem;
  font-weight: 600;
  color: var(--clr-muted);
  padding: 10px 18px;
  display: block;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--clr-primary);
}
.woocommerce div.product .woocommerce-tabs .panel {
  border: 1px solid var(--clr-border);
  border-radius: 0 var(--radius-sm) var(--radius-sm) var(--radius-sm);
  padding: 24px;
  background: #fff;
  margin: 0;
}

/* =========================================================
   Cart & Checkout forms
   ========================================================= */
.woocommerce-cart table.cart {
  width: 100%;
  border-collapse: collapse;
}
.woocommerce-cart table.cart td,
.woocommerce-cart table.cart th {
  padding: 12px 8px;
  border-bottom: 1px solid var(--clr-border);
  vertical-align: middle;
}
.woocommerce-cart table.cart .product-thumbnail img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: var(--radius-sm);
}
.woocommerce-cart .cart-collaterals {
  margin-top: 32px;
}
.woocommerce-cart .cart_totals {
  background: var(--clr-surface);
  border: 1px solid var(--clr-border);
  border-radius: var(--radius-md);
  padding: 24px;
  max-width: 400px;
  margin-left: auto;
}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 16px;
}
.woocommerce-checkout .form-row-wide {
  grid-column: 1 / -1;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border: 1px solid var(--clr-border);
  border-radius: var(--radius-sm);
  padding: 10px 12px;
  font-size: .93rem;
  width: 100%;
  font-family: inherit;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  outline: none;
  border-color: var(--clr-primary);
  box-shadow: 0 0 0 3px rgba(13,78,138,.1);
}
.woocommerce form .form-row label {
  font-size: .85rem;
  font-weight: 600;
  color: var(--clr-text);
  margin-bottom: 4px;
  display: block;
}
.woocommerce #payment {
  background: var(--clr-surface);
  border-radius: var(--radius-md);
  padding: 20px;
}

/* =========================================================
   Cart notice (enquiry info bar)
   ========================================================= */
.cart-notice {
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(13,78,138,.06);
  border: 1px solid rgba(13,78,138,.2);
  border-radius: var(--radius-sm);
  padding: 12px 16px;
  margin-bottom: 24px;
  font-size: .88rem;
  color: var(--clr-primary);
}
.cart-notice svg { flex-shrink: 0; }

/* =========================================================
   Related products (PDP)
   ========================================================= */
.related.products h2,
.up-sells h2 {
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 24px;
  color: var(--clr-text);
}
.related .products-grid,
.up-sells .products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
}

/* =========================================================
   Order received / Thank you page
   ========================================================= */
.woocommerce-order-received .woocommerce-thankyou-order-received {
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--clr-primary);
  padding: 16px 20px;
  background: rgba(13,78,138,.06);
  border-radius: var(--radius-sm);
  border-left: 4px solid var(--clr-primary);
  margin-bottom: 24px;
}

/* =========================================================
   My Account
   ========================================================= */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 10px 16px;
  border-radius: var(--radius-sm);
  color: var(--clr-text);
  font-size: .9rem;
  text-decoration: none;
  transition: background .15s;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  background: var(--clr-primary);
  color: #fff;
}

/* =========================================================
   Price on Request badge
   ========================================================= */
.nrvm-por {
  display: inline-block;
  background: var(--clr-surface);
  border: 1px solid var(--clr-border);
  color: var(--clr-muted);
  font-size: .78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 3px 8px;
  border-radius: 4px;
}
