/* ==========================================================================
   fix-wc.css — per-area graphic fix layer (loaded LAST, overrides shared sheets)
   Add !important / higher specificity here. DO NOT edit woocommerce.css etc.

   Scope: WooCommerce CART + CHECKOUT (block-based) dark-theme overrides,
          plus MOBILE @media fixes for cart/checkout stacking & tap targets.
   Hardcoded hex (no CSS vars):
     heritage green #031c12 · card #0a1a12 / #0a2e1a · gold #c5a059
     white #ffffff · grey #cccccc · border #1a1a1a · near-black #111111
   ========================================================================== */

/* ==========================================================================
   1.  CART  +  CHECKOUT  —  shared block shell & surfaces
   ========================================================================== */

/* Page entry title (Cart / Checkout headings) */
.woocommerce .woocommerce-cart-header,
.entry-title,
.woocommerce-checkout .entry-title {
  color: #ffffff !important;
  font-family: "Playfair Display", Georgia, serif !important;
}

/* The two top-level block roots — ensure transparent / dark, not white */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.wc-block-cart,
.wc-block-checkout,
.wc-block-components-main,
.wc-block-cart__main,
.wc-block-checkout__main,
.wc-block-components-sidebar,
.wc-block-cart__sidebar,
.wc-block-checkout__sidebar,
.wc-block-components-sidebar-layout,
.wp-block-woocommerce-cart-items-block,
.wp-block-woocommerce-cart-totals-block,
.wp-block-woocommerce-cart-order-summary-block,
.wp-block-woocommerce-cart-order-summary-heading-block,
.wp-block-woocommerce-cart-order-summary-totals-block,
.wp-block-woocommerce-cart-order-summary-coupon-form-block,
.wp-block-woocommerce-checkout-fields-block,
.wp-block-woocommerce-checkout-billing-address-block,
.wp-block-woocommerce-checkout-contact-information-block,
.wp-block-woocommerce-checkout-order-summary-block,
.wp-block-woocommerce-checkout-order-summary-cart-items-block,
.wp-block-woocommerce-checkout-order-summary-coupon-form-block,
.wp-block-woocommerce-checkout-payment-block,
.wp-block-woocommerce-checkout-shipping-method-block,
.wp-block-woocommerce-checkout-actions-block,
.wp-block-woocommerce-checkout-order-note-block,
.wp-block-woocommerce-checkout-additional-information-block,
.wp-block-woocommerce-cart-line-items-block,
.wp-block-woocommerce-cart-order-summary-subtotal-block,
.wp-block-woocommerce-cart-order-summary-shipping-block,
.wp-block-woocommerce-cart-order-summary-fee-block,
.wp-block-woocommerce-cart-order-summary-discount-block,
.wp-block-woocommerce-cart-order-summary-taxes-block,
.wp-block-woocommerce-checkout-order-summary-subtotal-block,
.wp-block-woocommerce-checkout-order-summary-shipping-block,
.wp-block-woocommerce-checkout-order-summary-fee-block,
.wp-block-woocommerce-checkout-order-summary-discount-block,
.wp-block-woocommerce-checkout-order-summary-taxes-block,
.wp-block-woocommerce-cart-accepted-payment-methods-block {
  background: transparent !important;
  background-color: transparent !important;
  color: #ffffff !important;
}

/* Generic dark card surface used by panels (coupon, shipping options, order summary) */
.wc-block-components-panel,
.wc-block-components-totals-wrapper,
.wc-block-components-totals-footer-item,
.wc-block-components-totals-coupon,
.wc-block-components-order-summary,
.wc-block-components-checkout-order-summary__content,
.wc-block-components-order-summary__content,
.wc-block-cart__totals-title,
.wc-block-components-checkout-order-summary__title,
.wc-block-components-title {
  background-color: #0a1a12 !important;
  color: #ffffff !important;
  border-color: #1a1a1a !important;
}

/* Order summary / totals headings → Playfair + gold accent */
.wc-block-cart__totals-title,
.wc-block-components-checkout-order-summary__title-text,
.wc-block-components-title {
  font-family: "Playfair Display", Georgia, serif !important;
  color: #ffffff !important;
  letter-spacing: 0.02em;
}

/* ==========================================================================
   2.  FORM INPUTS  (billing / contact / coupon / notes)
   ========================================================================== */

.wc-block-components-text-input input,
.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="password"],
.wc-block-components-text-input input[type="url"],
.wc-block-components-text-input input[type="search"],
.wc-block-components-text-input input[type="number"],
.wc-blocks-components-select__select,
.wc-block-components-totals-coupon__input,
.wc-block-components-state-input input,
.wc-block-components-country-input input,
.wc-block-components-address-form input,
select.wc-blocks-components-select__select {
  background-color: #0a1a12 !important;
  border: 1px solid #1a1a1a !important;
  border-radius: 5px !important;
  color: #ffffff !important;
  padding: 12px 14px !important;
  font-size: 15px !important;
  font-family: "Inter", system-ui, sans-serif !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

/* Floating labels (WC Blocks: label is sibling of input) */
.wc-block-components-text-input > label,
.wc-block-components-text-input label,
.wc-blocks-components-select__label,
.wc-block-components-state-input label,
.wc-block-components-country-input label,
.wc-block-components-address-form label {
  color: #cccccc !important;
  font-family: "Inter", system-ui, sans-serif !important;
  font-size: 13px !important;
}

/* Filled / floated (active) label — brighter so it stays readable */
.wc-block-components-text-input input:focus + label,
.wc-block-components-text-input input:not(:placeholder-shown) + label,
.wc-block-components-text-input label:not(.empty) {
  color: #c5a059 !important;
}

/* Focus state — gold ring instead of WC default blue/grey */
.wc-block-components-text-input input:focus,
.wc-block-components-text-input input[type="text"]:focus,
.wc-block-components-text-input input[type="email"]:focus,
.wc-block-components-text-input input[type="tel"]:focus,
.wc-block-components-text-input input[type="password"]:focus,
.wc-blocks-components-select__select:focus,
.wc-block-components-totals-coupon__input:focus,
.wc-block-components-state-input input:focus,
.wc-block-components-country-input input:focus,
.wc-block-components-address-form input:focus {
  border-color: #c5a059 !important;
  box-shadow: 0 0 0 2px rgba(197, 160, 89, 0.35) !important;
  background-color: #0a2e1a !important;
  outline: none !important;
}

/* Native select dropdown arrow readability */
.wc-blocks-components-select__container,
.wc-blocks-components-select {
  color: #ffffff !important;
}
.wc-blocks-components-select__select option {
  background-color: #0a1a12 !important;
  color: #ffffff !important;
}
.wc-blocks-components-select__expand svg,
.wc-blocks-components-select__expand {
  color: #c5a059 !important;
  fill: #c5a059 !important;
}

/* Error / invalid input — readable, not WC harsh red box */
.wc-block-components-text-input.is-error input,
.wc-block-components-text-input.has-error input {
  border-color: #c5a059 !important;
  box-shadow: 0 0 0 2px rgba(197, 160, 89, 0.25) !important;
}

/* ==========================================================================
   3.  CHECKOUT  —  steps, headings, payment, terms
   ========================================================================== */

.wc-block-components-checkout-step,
.wc-block-components-checkout-step__heading,
.wc-block-components-checkout-step__content,
.wc-block-checkout__billing-fields,
.wc-block-checkout__contact-fields,
.wc-block-checkout__shipping-fields,
.wc-block-components-address-form-wrapper,
.wc-block-components-address-form,
.wc-block-components-address-address-wrapper {
  color: #ffffff !important;
  background: transparent !important;
}

.wc-block-components-checkout-step__title,
.wc-block-components-checkout-step__heading-content,
.wc-block-components-checkout-step__heading-content > span {
  color: #ffffff !important;
  font-family: "Playfair Display", Georgia, serif !important;
}

/* Step number circles → gold outlined */
.wc-block-components-checkout-step__heading-content::before {
  color: #c5a059 !important;
  background: transparent !important;
}

/* Payment method radio rows */
.wc-block-checkout__payment-method,
.wc-block-components-radio-control,
.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option {
  color: #ffffff !important;
  background-color: #0a1a12 !important;
  border-color: #1a1a1a !important;
  border-radius: 5px;
}
.wc-block-components-radio-control__option-label,
.wc-block-components-radio-control__option > label,
.wc-block-components-radio-control__label {
  color: #ffffff !important;
}
.wc-block-components-radio-control__option-layout > * {
  color: #cccccc !important;
}

/* Terms checkbox */
.wc-block-components-checkbox__input {
  border-color: #c5a059 !important;
  background-color: #0a1a12 !important;
}
.wc-block-components-checkbox__input:checked {
  background-color: #c5a059 !important;
  border-color: #c5a059 !important;
}
.wc-block-components-checkbox__input:focus {
  box-shadow: 0 0 0 2px rgba(197, 160, 89, 0.35) !important;
}
.wc-block-components-checkbox__label,
.wc-block-components-checkbox__label a,
.wc-block-checkout__terms .wc-block-components-checkbox__label {
  color: #cccccc !important;
  font-family: "Inter", system-ui, sans-serif !important;
}
.wc-block-components-checkbox__label a {
  color: #c5a059 !important;
}

/* Place order button → GOLD */
.wc-block-components-checkout-place-order-button,
button.wc-block-components-checkout-place-order-button,
.wc-block-components-checkout-place-order-button--full-width {
  background-color: #c5a059 !important;
  color: #031c12 !important;
  border: none !important;
  border-radius: 5px !important;
  font-family: "Inter", system-ui, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 16px 28px !important;
  font-size: 14px !important;
  min-height: 52px !important;
  width: 100% !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.45) !important;
  transition: background-color 0.2s ease, transform 0.2s ease !important;
}
.wc-block-components-checkout-place-order-button:hover,
button.wc-block-components-checkout-place-order-button:hover {
  background-color: #d4b06e !important;
  color: #031c12 !important;
  transform: translateY(-1px) !important;
}
.wc-block-components-checkout-place-order-button__text {
  color: #031c12 !important;
  font-weight: 700 !important;
}

/* Order notes textarea */
.wc-block-checkout__order-notes textarea,
.wc-block-components-textarea textarea,
textarea.wc-block-components-textarea {
  background-color: #0a1a12 !important;
  border: 1px solid #1a1a1a !important;
  border-radius: 5px !important;
  color: #ffffff !important;
  font-family: "Inter", system-ui, sans-serif !important;
  padding: 12px 14px !important;
}
.wc-block-checkout__order-notes textarea:focus,
.wc-block-components-textarea textarea:focus {
  border-color: #c5a059 !important;
  box-shadow: 0 0 0 2px rgba(197, 160, 89, 0.35) !important;
  background-color: #0a2e1a !important;
}

/* ==========================================================================
   4.  CART  —  line-items table, quantity, totals, coupon, proceed button
   ========================================================================== */

/* Line items table */
.wc-block-cart-items,
.wc-block-cart-items table,
table.wc-block-cart-items {
  background-color: #0a1a12 !important;
  border: 1px solid #1a1a1a !important;
  border-radius: 6px;
  color: #ffffff !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

/* Header cells (Product / Total column titles) */
.wc-block-cart-items__header,
.wc-block-cart-items__header th,
.wc-block-cart-items thead th,
table.wc-block-cart-items thead th {
  background-color: #0a2e1a !important;
  color: #c5a059 !important;
  font-family: "Inter", system-ui, sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid #1a1a1a !important;
  padding: 14px 16px !important;
}

/* Rows + row dividers */
.wc-block-cart-items__row,
.wc-block-cart-items tbody tr,
table.wc-block-cart-items tbody tr {
  background-color: #0a1a12 !important;
  border-bottom: 1px solid #1a1a1a !important;
}
.wc-block-cart-items__row:last-child,
.wc-block-cart-items tbody tr:last-child {
  border-bottom: none !important;
}
.wc-block-cart-items td,
table.wc-block-cart-items td {
  padding: 18px 16px !important;
  color: #ffffff !important;
  vertical-align: middle !important;
}

/* Product thumbnail */
.wc-block-cart-item__image img,
.wc-block-cart-item__image {
  border: 1px solid #1a1a1a !important;
  border-radius: 5px !important;
  background-color: #111111 !important;
}

/* Product name + link */
.wc-block-cart-item__product a,
.wc-block-components-product-name,
.wc-block-components-product-name a {
  color: #ffffff !important;
  font-family: "Playfair Display", Georgia, serif !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.wc-block-cart-item__product a:hover,
.wc-block-components-product-name a:hover {
  color: #c5a059 !important;
}
.wc-block-components-product-metadata__description {
  color: #cccccc !important;
  font-size: 13px !important;
}

/* Prices / subtotals per row */
.wc-block-cart-item__price,
.wc-block-cart-item__total,
.wc-block-cart-item__total-price-and-sale-badge-wrapper,
.wc-block-components-product-price,
.wc-block-components-product-price__value,
.wc-block-components-product-price__regular,
.wc-block-formatted-money-amount,
.wc-block-components-formatted-money-amount {
  color: #ffffff !important;
  font-family: "Inter", system-ui, sans-serif !important;
}
.wc-block-components-product-price__regular,
.wc-block-cart-item__price del,
del .wc-block-formatted-money-amount {
  color: #cccccc !important;
  opacity: 0.7;
}
.wc-block-components-sale-badge,
.wc-block-components-product-badge {
  background-color: #c5a059 !important;
  color: #031c12 !important;
  font-weight: 700 !important;
}

/* Remove link */
.wc-block-cart-item__remove-link,
.wc-block-cart-item__remove-link a {
  color: #cccccc !important;
  font-size: 12px !important;
  text-decoration: none !important;
}
.wc-block-cart-item__remove-link:hover {
  color: #c5a059 !important;
}

/* Quantity selector */
.wc-block-components-quantity-selector {
  background-color: #0a1a12 !important;
  border: 1px solid #1a1a1a !important;
  border-radius: 5px !important;
  overflow: hidden;
}
.wc-block-components-quantity-selector__input,
.wc-block-components-quantity-selector__input input {
  background-color: #0a1a12 !important;
  color: #ffffff !important;
  border: none !important;
  font-family: "Inter", system-ui, sans-serif !important;
  font-weight: 600 !important;
}
.wc-block-components-quantity-selector__button {
  background-color: #0a2e1a !important;
  color: #c5a059 !important;
  border: none !important;
  min-width: 38px !important;
  min-height: 38px !important;
  font-size: 18px !important;
}
.wc-block-components-quantity-selector__button:hover {
  background-color: #c5a059 !important;
  color: #031c12 !important;
}
.wc-block-components-quantity-selector__button svg {
  fill: #c5a059 !important;
}
.wc-block-components-quantity-selector__button:hover svg {
  fill: #031c12 !important;
}

/* Totals rows (Subtotal / Shipping / Total) */
.wc-block-components-totals-item,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__description {
  color: #cccccc !important;
  font-family: "Inter", system-ui, sans-serif !important;
}
.wc-block-components-totals-item__value {
  color: #ffffff !important;
}
/* Final total row emphasis */
.wc-block-components-totals-footer-item,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item-tax-value {
  color: #ffffff !important;
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  border-top: 1px solid #1a1a1a !important;
  padding-top: 14px !important;
}
.wc-block-components-totals-wrapper {
  border-top: 1px solid #1a1a1a !important;
  padding-top: 16px !important;
}

/* Coupon panel (collapsed button + expanded input) */
.wc-block-components-totals-coupon .wc-block-components-panel__button,
.wc-block-components-panel__button {
  color: #ffffff !important;
  font-family: "Inter", system-ui, sans-serif !important;
  background: transparent !important;
}
.wc-block-components-panel__button:hover,
.wc-block-components-panel__button[aria-expanded="true"] {
  color: #c5a059 !important;
}
.wc-block-components-panel__button-icon,
.wc-block-components-panel__button svg {
  color: #c5a059 !important;
  fill: #c5a059 !important;
}
.wc-block-components-totals-coupon__input {
  background-color: #0a1a12 !important;
  border: 1px solid #1a1a1a !important;
  border-radius: 5px !important;
  color: #ffffff !important;
}
.wc-block-components-totals-coupon__button {
  background-color: transparent !important;
  color: #c5a059 !important;
  border: 1px solid #c5a059 !important;
  border-radius: 5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}
.wc-block-components-totals-coupon__button:hover {
  background-color: #c5a059 !important;
  color: #031c12 !important;
}

/* Proceed to Checkout button → GOLD (cart) */
.wc-block-cart__submit-button,
a.wc-block-cart__submit-button,
.wc-block-cart__submit-container .wc-block-components-button {
  background-color: #c5a059 !important;
  color: #031c12 !important;
  border: none !important;
  border-radius: 5px !important;
  font-family: "Inter", system-ui, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 16px 28px !important;
  font-size: 14px !important;
  min-height: 52px !important;
  width: 100% !important;
  text-align: center !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.45) !important;
  transition: background-color 0.2s ease, transform 0.2s ease !important;
}
.wc-block-cart__submit-button:hover,
a.wc-block-cart__submit-button:hover {
  background-color: #d4b06e !important;
  color: #031c12 !important;
  transform: translateY(-1px) !important;
}
.wc-block-cart__submit-button .wc-block-components-button__text,
a.wc-block-cart__submit-button .wc-block-components-button__text {
  color: #031c12 !important;
  font-weight: 700 !important;
}

/* "Update cart" / secondary buttons */
.wc-block-components-button:not(.wc-block-cart__submit-button):not(.wc-block-components-checkout-place-order-button):not(.wc-block-components-totals-coupon__button) {
  color: #ffffff !important;
}

/* ==========================================================================
   5.  ORDER SUMMARY  (checkout sidebar)
   ========================================================================== */

.wc-block-components-order-summary-item,
.wc-block-components-order-summary__content {
  border-bottom: 1px solid #1a1a1a !important;
  padding: 14px 0 !important;
}
.wc-block-components-order-summary-item__image img,
.wc-block-components-order-summary-item__image {
  border: 1px solid #1a1a1a !important;
  border-radius: 5px !important;
  background-color: #111111 !important;
}
.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__individual-price {
  color: #cccccc !important;
  font-family: "Inter", system-ui, sans-serif !important;
}
.wc-block-components-order-summary-item__description .wc-block-components-product-name,
.wc-block-components-order-summary-item__description .wc-block-components-product-name a {
  color: #ffffff !important;
}
.wc-block-components-order-summary-item__quantity {
  background-color: #0a2e1a !important;
  color: #c5a059 !important;
  border: 1px solid #1a1a1a !important;
}
.wc-block-components-order-summary-item__total-price {
  color: #ffffff !important;
  font-weight: 600 !important;
}

/* ==========================================================================
   6.  NOTICES / SNACKBARS / EXPRESSIONS
   ========================================================================== */

.wc-block-components-notice-banner,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-info,
.wc-block-components-notices__snackbar .wc-block-components-notice-banner {
  background-color: #0a2e1a !important;
  color: #ffffff !important;
  border: 1px solid #c5a059 !important;
  border-radius: 5px !important;
  font-family: "Inter", system-ui, sans-serif !important;
}
.wc-block-components-notice-banner a,
.woocommerce-message a,
.woocommerce-info a {
  color: #c5a059 !important;
}

/* Express payment / login separator text */
.wc-block-components-checkout-step__heading-content,
.wc-block-cart__payment-options,
.wc-block-checkout__guest-checkout-notice {
  color: #cccccc !important;
}

/* ==========================================================================
   7.  MOBILE  @media  —  cart / checkout stacking & tap targets
   ========================================================================== */

@media (max-width: 820px) {

  /* Cart + Checkout side-by-side layout → stack vertically */
  .wc-block-components-sidebar-layout,
  .wp-block-woocommerce-cart,
  .wp-block-woocommerce-checkout {
    display: block !important;
    grid-template-columns: 1fr !important;
  }
  .wc-block-components-main,
  .wc-block-cart__main,
  .wc-block-checkout__main,
  .wc-block-components-sidebar,
  .wc-block-cart__sidebar,
  .wc-block-checkout__sidebar,
  .wp-block-woocommerce-cart-items-block,
  .wp-block-woocommerce-cart-totals-block,
  .wp-block-woocommerce-checkout-fields-block,
  .wp-block-woocommerce-checkout-order-summary-block {
    width: 100% !important;
    max-width: 100% !important;
    grid-column: 1 / -1 !important;
    float: none !important;
  }

  /* Cart line items: hide the column-header row on small screens
     (WC blocks already does this; enforce) */
  .wc-block-cart-items__header,
  table.wc-block-cart-items thead {
    display: none !important;
  }

  /* Inputs full width + larger tap targets */
  .wc-block-components-text-input,
  .wc-block-components-text-input input,
  .wc-blocks-components-select,
  .wc-blocks-components-select__select,
  .wc-block-components-address-form .wc-block-components-text-input,
  .wc-block-components-address-address-wrapper {
    width: 100% !important;
    min-height: 48px !important;
  }
  .wc-block-components-text-input input,
  .wc-blocks-components-select__select {
    font-size: 16px !important;   /* prevents iOS zoom-on-focus */
    padding: 14px 14px !important;
  }

  /* Place order / proceed buttons full width, tall, tappable */
  .wc-block-components-checkout-place-order-button,
  a.wc-block-cart__submit-button {
    min-height: 54px !important;
    font-size: 15px !important;
    padding: 18px 24px !important;
  }

  /* Quantity selector bigger tap targets */
  .wc-block-components-quantity-selector__button {
    min-width: 44px !important;
    min-height: 44px !important;
  }

  /* Order summary items slightly larger on mobile */
  .wc-block-components-order-summary-item__description {
    font-size: 14px !important;
  }

  /* Remove WC horizontal paddings that cause cramped columns */
  .wp-block-woocommerce-cart,
  .wp-block-woocommerce-checkout {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Footer grid → single column on small phones (prevents the 4-col footer from
   forcing ~508px min-content width and causing horizontal page overflow on
   cart/checkout mobile). Also lets each column shrink safely. */
@media (max-width: 600px) {
  .bwc-footer-grid,
  .bwc-footer .bwc-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }
  .bwc-footer-grid > *,
  .bwc-footer-col,
  .bwc-footer-links,
  .bwc-footer-links li,
  .bwc-footer-links a {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }
  .bwc-footer-links a,
  .bwc-footer-col a {
    display: inline-block !important;
    max-width: 100% !important;
  }
  /* Newsletter input never wider than its column */
  .bwc-footer input[type="email"],
  .bwc-footer form {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 480px) {

  /* Two-column billing pairs (first/last name, city/postcode) → single column */
  .wc-block-components-address-form .wc-block-components-text-input,
  .wc-block-components-address-address-wrapper .wc-block-components-text-input,
  .wc-block-components-address-form-row,
  .wc-block-checkout__billing-fields .wc-block-components-text-input {
    width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    grid-column: 1 / -1 !important;
  }

  /* Cart row: tighten thumbnail so product name keeps room */
  .wc-block-cart-item__image,
  .wc-block-cart-item__image img {
    width: 64px !important;
    max-width: 64px !important;
    min-width: 64px !important;
  }
  .wc-block-cart-item__product a,
  .wc-block-components-product-name {
    font-size: 14px !important;
  }

  /* Ensure body never horizontally overflows due to WC blocks */
  .wc-block-cart-items,
  table.wc-block-cart-items {
    display: block !important;
    width: 100% !important;
    overflow-x: auto !important;
  }
}
