.ch-woocommerce-page__main {
  width: min(100% - 2rem, 76rem);
  margin: 0 auto;
  padding: 5rem 0;
}

.ch-woocommerce-page .woocommerce,
.ch-woocommerce-page .wc-block-cart,
.ch-woocommerce-page .wc-block-checkout {
  color: var(--ch-ink, #1c2420);
}

.ch-woocommerce-page .woocommerce a,
.ch-woocommerce-page .wc-block-cart a,
.ch-woocommerce-page .wc-block-checkout a {
  color: inherit;
}

.ch-woocommerce-page .wc-block-cart,
.ch-woocommerce-page .wc-block-checkout,
.ch-woocommerce-page .wc-block-components-totals-wrapper,
.ch-woocommerce-page .wc-block-components-order-summary {
  border: 1px solid var(--ch-line, #d9d5cc);
  background: var(--ch-paper, #fbfaf6);
  padding: 1.5rem;
}

.ch-woocommerce-page .wc-block-components-totals-wrapper,
.ch-woocommerce-page .wc-block-components-order-summary {
  margin-top: 1.5rem;
}

.ch-woocommerce-page .wc-block-components-text-input input,
.ch-woocommerce-page .wc-block-components-text-input select,
.ch-woocommerce-page .wc-block-components-combobox .components-combobox-control__input,
.ch-woocommerce-page .wc-block-components-quantity-selector input {
  border: 1px solid var(--ch-line, #d9d5cc);
  border-radius: 0;
  background: #fff;
  padding: .75rem;
}

/*
 * Woo Stripe derives its iframe appearance from these rendered Blocks styles.
 * Keep that derived contract in sRGB: Stripe.js cannot consume the computed
 * OKLCH and color() values used by the wider storefront token system.
 */
.ch-woocommerce-page .wc-block-checkout,
.ch-woocommerce-page form.wc-block-checkout__form,
.ch-woocommerce-page #payment-method,
.ch-woocommerce-page #payment-method .wc-block-components-radio-control-accordion-option {
  background-color: #fbfaf6;
  color: #2b2d2f;
}

.ch-woocommerce-page #payment-method .wc-block-components-radio-control-accordion-option {
  border: 1px solid #d9d5cc;
  box-shadow: none;
}

.ch-woocommerce-page .wc-block-components-text-input input,
.ch-woocommerce-page .wc-block-components-text-input select,
.ch-woocommerce-page .wc-block-components-combobox .components-combobox-control__input,
.ch-woocommerce-page .wc-block-components-quantity-selector input {
  background-color: #fff;
  border-color: #d9d5cc;
  box-shadow: none;
  color: #2b2d2f;
  outline: none;
}

.ch-woocommerce-page .wc-block-components-text-input input:focus,
.ch-woocommerce-page .wc-block-components-text-input select:focus,
.ch-woocommerce-page .wc-block-components-combobox .components-combobox-control__input:focus,
.ch-woocommerce-page .wc-block-components-quantity-selector input:focus {
  border-color: #a15d32;
  box-shadow: none;
  outline: 1px solid #a15d32;
}

/*
 * Woo Blocks' input-type selectors otherwise win for Stripe's hidden style
 * clones and pass their color-mix() border value into the iframe appearance.
 */
.ch-woocommerce-page .wc-block-components-text-input input[type="email"],
.ch-woocommerce-page .wc-block-components-text-input input[type="number"],
.ch-woocommerce-page .wc-block-components-text-input input[type="password"],
.ch-woocommerce-page .wc-block-components-text-input input[type="tel"],
.ch-woocommerce-page .wc-block-components-text-input input[type="text"],
.ch-woocommerce-page .wc-block-components-text-input input[type="url"] {
  background-color: #fff;
  border: 1px solid #d9d5cc;
  box-shadow: none;
  color: #2b2d2f;
  outline: none;
}

.ch-woocommerce-page .wc-block-components-text-input input[type="email"]:focus,
.ch-woocommerce-page .wc-block-components-text-input input[type="number"]:focus,
.ch-woocommerce-page .wc-block-components-text-input input[type="password"]:focus,
.ch-woocommerce-page .wc-block-components-text-input input[type="tel"]:focus,
.ch-woocommerce-page .wc-block-components-text-input input[type="text"]:focus,
.ch-woocommerce-page .wc-block-components-text-input input[type="url"]:focus {
  border: 1px solid #a15d32;
  box-shadow: none;
  color: #2b2d2f;
  outline: 1px solid #a15d32;
}

.ch-woocommerce-page .wc-block-components-text-input label,
.ch-woocommerce-page .wc-block-components-checkout-step__description,
.ch-woocommerce-page .wc-block-components-radio-control__label,
.ch-woocommerce-page .wc-block-checkout__terms {
  color: #2b2d2f;
}

.ch-woocommerce-page .wc-block-components-button,
.ch-woocommerce-page .wc-block-components-quantity-selector button {
  border-radius: 0;
  background: var(--ch-ink, #1c2420);
  color: #fff;
  padding: .8rem 1.15rem;
}

.ch-woocommerce-page .wc-block-components-button:hover,
.ch-woocommerce-page .wc-block-components-quantity-selector button:hover {
  background: var(--ch-forest, #405643);
  color: #fff;
}

.ch-woocommerce-page .wc-block-components-product-name,
.ch-woocommerce-page .wc-block-components-order-summary-item__description {
  font-family: var(--ch-font-display, Georgia, serif);
  font-size: 1.2rem;
}

@media (max-width: 44rem) {
  .ch-woocommerce-page__main {
    width: min(100% - 1.25rem, 76rem);
    padding: 3rem 0;
  }

  .ch-woocommerce-page .wc-block-cart,
  .ch-woocommerce-page .wc-block-checkout,
  .ch-woocommerce-page .wc-block-components-totals-wrapper,
  .ch-woocommerce-page .wc-block-components-order-summary {
    padding: 1rem;
  }
}
