/**
 * Irontalons — WooCommerce cart / checkout / account styles.
 * Loaded only on WooCommerce pages via irontalons_scripts().
 */

/* --- Layout containment -------------------------------------------------
   Block Cart/Checkout ship with full/wide alignments that use 100vw math.
   Without an explicit container the page overflows horizontally. */
.it-shell {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 24px;
  overflow-x: clip;
}

.woocommerce-page .it-main,
.it-main {
  min-height: 60vh;
}

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.wp-block-woocommerce-cart .alignfull,
.wp-block-woocommerce-checkout .alignfull,
.entry-content > .alignfull {
  margin-left: 0;
  margin-right: 0;
  width: 100%;
  max-width: 100%;
}

.wc-block-components-sidebar-layout {
  width: 100%;
}

/* --- Typography --------------------------------------------------------- */
.wc-block-components-title,
.wp-block-woocommerce-checkout h1,
.wp-block-woocommerce-cart h1 {
  font-family: var(--display);
  letter-spacing: -0.01em;
  color: var(--fg);
}

.wc-block-components-checkout-step__heading,
.wc-block-components-title.wc-block-components-title {
  color: var(--fg);
}

/* --- Panels ------------------------------------------------------------- */
.wc-block-components-sidebar .wc-block-components-panel,
.wc-block-components-totals-wrapper,
.wp-block-woocommerce-checkout-order-summary-block {
  background: var(--surface);
  border: 1px solid var(--border);
  color: var(--fg);
}

.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value,
.wc-block-components-product-name,
.wc-block-components-product-price,
.wc-block-components-panel__button {
  color: var(--fg);
}

/* --- Form fields -------------------------------------------------------- */
.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 .wc-blocks-components-select__select {
  background: #fff;
  color: #101014;
  border: 1px solid var(--border);
  border-radius: 4px;
}

.wc-block-components-text-input label,
.wc-blocks-components-select__label {
  color: #55555f;
}

.wc-block-components-text-input.is-active label {
  color: #6b6b76;
}

/* --- Buttons ------------------------------------------------------------ */
.wc-block-components-button:not(.is-link) {
  background: var(--brand);
  color: var(--brand-fg);
  border-radius: 0;
  font-family: var(--condensed);
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.wc-block-components-button:not(.is-link):hover {
  opacity: 0.9;
}

.wc-block-components-button.is-link {
  color: var(--brand);
}

/* --- Notices ------------------------------------------------------------ */
.woocommerce-notices-wrapper,
.wc-block-components-notices {
  margin: 0 0 20px;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  background: var(--surface);
  border-top: 3px solid var(--brand);
  color: var(--fg);
  list-style: none;
  padding: 14px 18px;
  margin: 0 0 18px;
}

.woocommerce-error li,
.woocommerce-message li,
.woocommerce-info li {
  list-style: none;
}

/* --- Payment methods ---------------------------------------------------- */
.wc-block-checkout__payment-method .wc-block-components-radio-control__option,
.wc-block-components-radio-control__option {
  color: var(--fg);
}

.wc-block-checkout__payment-method .wc-block-components-notice-banner {
  color: #1e1e1e;
}

/* Keep hosted payment iframes (Stripe, PayPal) on a light surface so their
   own light-theme fields stay legible inside the dark checkout. */
.wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-content {
  background: #fff;
  color: #101014;
  border-radius: 4px;
  padding: 12px;
}

/* --- Responsive --------------------------------------------------------- */
@media (max-width: 768px) {
  .it-shell {
    padding: 0 16px;
  }
}
