.customer-promotion { margin-top:2rem; padding-top:1.5rem; border-top:0.0625rem solid var(--line); }
.customer-promotion>label { display:block; font-size:var(--text-body); font-weight:500; }
.customer-promotion>label span { margin-left:0.375rem; color:var(--muted); font-size:var(--text-small); font-weight:400; }
.promo-controls { display:flex; flex-wrap:wrap; align-items:center; gap:0.625rem 1rem; margin-top:0.75rem; }
.promo-controls input { flex:1 1 10rem; width:10rem; min-width:0; max-width:22rem; min-height:3.125rem; padding:0.75rem; border:0.0625rem solid #b1b2b6; border-radius:0.1875rem; background:#fff; color:var(--ink); font:inherit; font-size:1rem; text-transform:uppercase; }
.promo-controls button,.promo-retry { min-height:2.75rem; padding:0.5rem 0; border:0; background:none; color:var(--ink); font:inherit; font-size:var(--text-small); text-decoration:underline; text-underline-offset:0.25rem; }
.promo-controls button:disabled { opacity:.5; cursor:wait; }
.promo-status { margin-top:0.625rem; color:var(--muted); font-size:var(--text-small); line-height:1.6; }
.promo-status[data-state=error] { color:#891a26; }
[data-promo-row] dt { overflow-wrap:anywhere; }
[data-promo-row] dd { white-space:nowrap; }
.booking-offer-lines { padding-block:1rem; margin-top:1rem; border-block:0.0625rem solid var(--line); font-size:var(--text-small); }
.booking-offer-lines>div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:0.375rem 1rem; margin-block:0.375rem; }
.booking-offer-lines dd { margin-left:auto; }
