/* =========================================================================
   ProGrade — WooCommerce cart / checkout / account styling.
   Overrides WooCommerce's default block + classic component styles onto the
   navy/gold system. !important is used deliberately to win over WC's shipped CSS.
   References tokens only.
   ========================================================================= */

/* Free-shipping nudge (injected above the cart/checkout block) */
.pg-ship-nudge {
  max-width: var(--pg-maxw); margin: var(--pg-space-4) auto 0; box-sizing: border-box;
  padding: 12px 16px; border-radius: var(--pg-radius);
  background: var(--pg-navy); color: #fff;
  font-family: var(--pg-font-body); font-size: 0.95rem; line-height: 1.4;
  border-left: 4px solid var(--pg-gold);
}
.pg-ship-nudge strong { font-family: var(--pg-font-mono); color: var(--pg-gold); font-weight: 600; }
.pg-ship-nudge.is-unlocked { background: var(--pg-green); border-left-color: #fff; font-weight: 600; }
.pg-ship-nudge[hidden] { display: none; }

/* Constrain WC content to our container width + comfortable padding */
.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-checkout .wp-block-woocommerce-checkout,
.woocommerce-account .woocommerce {
  max-width: var(--pg-maxw); margin-inline: auto; padding-block: var(--pg-space-4);
}

/* Headings → Archivo */
.woocommerce .wc-block-components-title,
.woocommerce h1, .woocommerce h2, .woocommerce h3,
.wc-block-cart-items__header,
.wc-block-components-checkout-step__title,
.wc-block-components-order-summary__title {
  font-family: var(--pg-font-head) !important;
  letter-spacing: -0.02em;
  color: var(--pg-graphite);
}

/* Buttons → navy */
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt {
  background: var(--pg-navy) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: var(--pg-radius) !important;
  font-family: var(--pg-font-body) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  min-height: 44px;
}
.wc-block-components-button:not(.is-link):hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover {
  background: var(--pg-navy-2) !important;
  color: #fff !important;
}

/* Links → navy */
.woocommerce a:not(.button),
.wc-block-cart a, .wc-block-checkout a, .woocommerce-account a { color: var(--pg-navy); }

/* Inputs → 16px (no iOS zoom) + our border/radius */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.wc-block-components-text-input input,
.wc-block-components-quantity-selector__input {
  font-size: 16px !important;
  border-radius: var(--pg-radius) !important;
  border: 1px solid var(--pg-line-2) !important;
  font-family: var(--pg-font-body) !important;
}
.wc-block-components-text-input input:focus,
.woocommerce form .form-row input.input-text:focus {
  border-color: var(--pg-navy) !important; outline: 2px solid var(--pg-navy); outline-offset: 1px;
}

/* Money amounts → mono; grand total → navy */
.wc-block-formatted-money-amount,
.woocommerce-Price-amount, .price .amount { font-family: var(--pg-font-mono); }
.wc-block-components-totals-footer-item .wc-block-formatted-money-amount,
.order-total .amount { color: var(--pg-navy); font-weight: 700; }

/* Separators / card borders → our line color */
.wc-block-cart-items, .wc-block-cart-items__row,
.wc-block-components-totals-wrapper,
.wc-block-checkout__sidebar .wc-block-components-panel {
  border-color: var(--pg-line) !important;
}

/* Success / info notices → green accent (the brand's meaningful green) */
.wc-block-components-notice-banner.is-success,
.woocommerce-message { border-color: var(--pg-green) !important; }
.woocommerce-message::before { color: var(--pg-green) !important; }

/* "Cart is empty" state spacing */
.wc-block-cart__empty-cart__title, .cart-empty { font-family: var(--pg-font-head); }
