/* PATCH 129: cart-only promo controls; checkout/payment behaviour is unchanged. */
.cart-layout .promo-inline {
  min-width:0;
  gap:7px;
}
.cart-layout .promo-inline>label {
  margin:0;
  font-size:12px;
  line-height:1.4;
}
.cart-layout .promo-inline .promo-controls {
  display:grid;
  /* Override older mobile rules that stack every .promo-inline>div. */
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center;
  gap:8px;
  min-width:0;
}
.cart-layout .promo-inline .promo-controls input,
.cart-layout .promo-inline .promo-controls .button {
  box-sizing:border-box;
  height:44px;
  min-height:44px!important;
  min-width:0;
  margin:0;
  border-radius:10px;
  line-height:1.2;
}
.cart-layout .promo-inline .promo-controls input {
  width:100%;
  padding:0 11px;
  font-size:14px;
}
.cart-layout .promo-inline .promo-controls .button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto!important;
  padding:0 13px;
  font-size:13px;
  white-space:nowrap;
  box-shadow:none;
  transform:none;
}
.cart-layout .promo-inline .promo-controls input:focus {
  border-color:var(--orange);
  box-shadow:0 0 0 3px rgba(255,105,0,.14);
}
.cart-layout .promo-inline .promo-controls .button:focus-visible {
  outline:2px solid var(--orange);
  outline-offset:3px;
}
.cart-layout .promo-inline [data-promo-message] {
  min-height:18px;
  margin:0;
  font-size:12px;
  line-height:1.5;
  overflow-wrap:anywhere;
}
@media(max-width:760px) {
  .cart-layout .promo-inline .promo-controls input {
    /* Readable input text without iOS focus zoom. */
    font-size:16px!important;
  }
}
