/* Shared quiet field. Reuses each host's existing semantic inks, surface and pills. */
.sn-promo{font:inherit;min-width:0}.sn-promo:empty{display:none}
.sn-promo-line{display:flex;align-items:center;gap:12px;justify-content:space-between}
.sn-promo-line p{font-size:14px;line-height:1.5;margin:0;overflow-wrap:anywhere}
.sn-promo .sn-text{appearance:none;border:0;background:transparent;color:var(--ti-ink,var(--ink));font:500 14px/1.4 Manrope,sans-serif;min-height:44px;padding:10px 0;text-align:start;cursor:pointer;flex:none}
.sn-promo-fields{display:flex;align-items:end;gap:12px}.sn-promo-fields .field{flex:1;min-width:0;margin:0}
.sn-promo-fields label{display:block;font-size:14px;color:var(--ti-ink-2,var(--muted));margin-bottom:8px}
.sn-promo-fields input{width:100%;min-height:48px;border:1px solid var(--ti-line,var(--line));border-radius:16px;padding:12px 14px;font:400 16px/1.4 Manrope,sans-serif;background:var(--ti-surface,var(--card));color:var(--ti-ink,var(--ink))}
.sn-promo .sn-chip{appearance:none;border:1px solid var(--ti-line,var(--line));border-radius:999px;background:var(--ti-surface,var(--card));color:var(--ti-ink,var(--ink));font:500 14px Manrope,sans-serif;min-height:48px;padding:10px 18px;cursor:pointer}
.sn-promo .sn-err{font-size:14px;line-height:1.5;color:var(--ti-ember-text,var(--ember));margin:8px 0 0}
.sn-promo button:focus-visible,.sn-promo input:focus-visible{outline:2px solid var(--ti-ember-text,var(--ember));outline-offset:3px}
.sn-promo button:disabled{opacity:.55;cursor:wait}.sn-promo [hidden]{display:none}
.bill-promo{margin-top:20px}.promo-effect{font-size:14px;line-height:1.5;margin:12px 0;color:var(--ti-ink,var(--ink));overflow-wrap:anywhere}
/* Keep the quoted price and its explicit Apply action together, above the payment note. */
.bill-page .st-card:has(.sn-promo-line) .st-billing-action{position:static;transform:none;width:100%;max-width:none;margin-top:16px}
.pricing-promo{max-width:480px;margin:24px auto 0;text-align:start}.pricing-promo select{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:16px;height:48px;min-height:48px;padding:10px;width:100%;margin:8px 0 12px}.pricing-promo label{font-size:14px;color:var(--muted)}
