/* ── Bladez WooCommerce — cinematic dark overrides ──────────────────────── */

/* Product grid */
.bladez-product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
  gap: var(--gutter);
}

.bladez-product-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: border-color var(--dur-base), transform var(--dur-base) var(--ease-out-quart);
  opacity: 0;
  transform: translateY(40px);
}
.bladez-product-card:hover { border-color: var(--color-gold-dim); transform: translateY(-4px); }
.bladez-product-card__link { display: flex; flex-direction: column; height: 100%; color: inherit; }
.bladez-product-card__media { aspect-ratio: 1; overflow: hidden; background: var(--color-surface-2); }
.bladez-product-card__img  { width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-slow) var(--ease-out-expo); }
.bladez-product-card:hover .bladez-product-card__img { transform: scale(1.05); }
.bladez-product-card__placeholder { width: 100%; height: 100%; background: var(--color-surface-2); display: flex; align-items: center; justify-content: center; font-size: 3rem; color: var(--color-border); }
.bladez-product-card__body { padding: var(--space-sm); display: flex; flex-direction: column; gap: var(--space-xs); flex: 1; }
.bladez-product-card__title { font-family: var(--font-display); font-size: 1.1rem; font-weight: 400; }
.bladez-product-card__price { font-size: var(--size-small); color: var(--color-gold); font-weight: 500; }
.bladez-product-card .button,
.bladez-product-card .add_to_cart_button {
  display: inline-flex; align-items: center; gap: 0.4em;
  padding: 0.65em 1.25em;
  font-size: var(--size-caption); font-weight: 500;
  text-transform: uppercase; letter-spacing: var(--tracking-wide);
  color: var(--color-text); border: 1px solid var(--color-border);
  border-radius: var(--radius-sm); background: transparent;
  transition: border-color var(--dur-fast), color var(--dur-fast), background var(--dur-fast);
  margin-top: auto;
}
.bladez-product-card .button:hover,
.bladez-product-card .add_to_cart_button:hover {
  border-color: var(--color-gold); color: var(--color-bg); background: var(--color-gold);
}

/* Single product page */
.bladez-shop .woocommerce-product-gallery__wrapper { border-radius: var(--radius-md); overflow: hidden; border: 1px solid var(--color-border); }
.bladez-shop .summary .product_title { font-family: var(--font-display); font-size: clamp(1.75rem, 3vw, 3rem); font-weight: 300; letter-spacing: var(--tracking-tight); }
.bladez-shop .price { color: var(--color-gold); font-size: 1.5rem; }
.bladez-shop .woocommerce-product-details__short-description p { color: var(--color-muted); }
.bladez-shop .single_add_to_cart_button { @extend .btn; background: var(--color-gold); color: var(--color-bg); border: none; border-radius: var(--radius-sm); padding: 0.85em 2em; font-weight: 600; text-transform: uppercase; letter-spacing: var(--tracking-wide); font-size: var(--size-small); cursor: pointer; transition: filter var(--dur-fast); }
.bladez-shop .single_add_to_cart_button:hover { filter: brightness(1.12); }

/* Quantity input */
.bladez-shop .quantity input[type="number"] { background: var(--color-surface); color: var(--color-text); border: 1px solid var(--color-border); border-radius: var(--radius-sm); padding: 0.65em 0.85em; font: inherit; width: 80px; text-align: center; }

/* Tabs */
.bladez-shop .woocommerce-tabs ul.tabs { border-bottom: 1px solid var(--color-border); padding: 0; }
.bladez-shop .woocommerce-tabs ul.tabs li { background: none; border-color: var(--color-border); }
.bladez-shop .woocommerce-tabs ul.tabs li a { color: var(--color-muted); font-size: var(--size-small); text-transform: uppercase; letter-spacing: var(--tracking-wide); }
.bladez-shop .woocommerce-tabs ul.tabs li.active { border-bottom-color: var(--color-gold); }
.bladez-shop .woocommerce-tabs ul.tabs li.active a { color: var(--color-gold); }

/* Cart / Checkout */
.bladez-shop table.shop_table { border-collapse: collapse; width: 100%; }
.bladez-shop table.shop_table th,
.bladez-shop table.shop_table td { padding: var(--space-xs) var(--space-sm); border-bottom: 1px solid var(--color-border); font-size: var(--size-small); }
.bladez-shop table.shop_table thead th { color: var(--color-gold); text-transform: uppercase; letter-spacing: var(--tracking-wide); font-size: var(--size-caption); }
.bladez-shop .cart-collaterals .cart_totals { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: var(--space-sm); }
.bladez-shop .proceed-to-checkout .checkout-button { background: var(--color-gold); color: var(--color-bg); border: none; border-radius: var(--radius-sm); padding: 0.9em 2em; font-weight: 600; text-transform: uppercase; letter-spacing: var(--tracking-wide); font-size: var(--size-small); width: 100%; cursor: pointer; }

/* WooCommerce notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
  background: var(--color-surface); border-left: 4px solid var(--color-gold);
  color: var(--color-text); border-radius: var(--radius-sm); padding: var(--space-xs) var(--space-sm);
  font-size: var(--size-small); margin-bottom: var(--space-sm);
}
.woocommerce-error { border-left-color: var(--color-crimson); }
