/* ==========================================================================
   Seiva - WooCommerce Blocks layer
   Cart and checkout use the block-based Woo experience, which has its own
   class names and does not inherit the classic (.shop_table) styles.
   ========================================================================== */

.wc-block-components-title,
.wc-block-cart__totals-title,
.wc-block-components-checkout-step__title {
  font-family: var(--wp--preset--font-family--rubik);
  color: var(--wp--preset--color--navy);
}

.wc-block-components-product-name {
  font-family: var(--wp--preset--font-family--rubik);
  font-weight: 600;
  color: var(--wp--preset--color--navy);
  text-decoration: none;
}
.wc-block-components-product-name:hover {
  color: var(--wp--preset--color--gold);
}

/* Tabular figures so money columns never jitter */
.wc-block-components-formatted-money-amount,
.wc-block-components-totals-item__value {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}
.wc-block-components-totals-item__label {
  color: var(--wp--preset--color--ink-muted);
}

/* Buttons */
.wc-block-components-button:not(.is-link) {
  min-height: 48px;
  padding: 0.85rem 1.6rem;
  border-radius: var(--seiva-radius-sm);
  background-color: var(--wp--preset--color--navy);
  color: #fff;
  font-family: var(--wp--preset--font-family--rubik);
  font-weight: 600;
  font-size: 0.9375rem;
  transition:
    background-color var(--seiva-dur) var(--seiva-ease-out),
    box-shadow var(--seiva-dur) var(--seiva-ease-out),
    transform var(--seiva-dur-fast) var(--seiva-ease-out);
}
.wc-block-components-button:not(.is-link):hover {
  background-color: var(--wp--preset--color--navy-mid);
  box-shadow: var(--seiva-shadow-lifted);
}
.wc-block-components-button:not(.is-link):active {
  transform: scale(0.97);
}

/* The two commit buttons carry the gold accent */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
  background-color: var(--wp--preset--color--gold) !important;
  font-size: 1rem !important;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
  background-color: #8a5406 !important;
}

/* Inputs - 48px targets, 16px text to stop iOS auto-zoom */
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="number"],
.wc-block-components-textarea,
.wc-blocks-components-select__select {
  min-height: 48px;
  border: 1px solid var(--wp--preset--color--grey);
  border-radius: var(--seiva-radius-sm);
  background: #fff;
  color: var(--wp--preset--color--ink);
  font-size: 16px;
  font-family: inherit;
}
.wc-block-components-text-input input:focus,
.wc-block-components-textarea:focus,
.wc-blocks-components-select__select:focus {
  border-color: var(--wp--preset--color--navy-mid);
  box-shadow: 0 0 0 3px rgba(30, 58, 138, 0.12);
  outline: none;
}
.wc-block-components-text-input.has-error input {
  border-color: var(--wp--preset--color--danger);
  border-width: 2px;
}
.wc-block-components-validation-error {
  color: #b91c1c;
  font-size: 0.875rem;
}

/* Panels and rows */
.wc-block-components-sidebar .wc-block-components-panel,
.wp-block-woocommerce-checkout-order-summary-block {
  border: 1px solid var(--wp--preset--color--line);
  border-radius: var(--seiva-radius);
  background: #fff;
}
.wc-block-cart-items__row {
  border-bottom: 1px solid var(--wp--preset--color--line);
}
.wc-block-cart-item__image img {
  border-radius: var(--seiva-radius-sm);
  background: var(--wp--preset--color--surface-alt);
}

/* Quantity stepper - keep controls thumb-sized */
.wc-block-components-quantity-selector {
  border: 1px solid var(--wp--preset--color--line);
  border-radius: var(--seiva-radius-sm);
  min-height: 44px;
}
.wc-block-components-quantity-selector__button {
  min-width: 40px;
  color: var(--wp--preset--color--navy);
}

/* Notices */
.wc-block-components-notice-banner {
  border-radius: var(--seiva-radius);
  font-size: 0.9375rem;
}

/* Focus visibility must survive the block styles */
.wc-block-components-button:focus-visible,
.wc-block-components-text-input input:focus-visible {
  outline: 3px solid var(--wp--preset--color--gold);
  outline-offset: 2px;
}
