.kzto-promo{margin:18px 0;padding:16px;border:1px solid #dce7e8;border-radius:8px;background:#f6fafb;text-align:left}
.kzto-promo label{display:block;font-weight:600;font-size:14px}
.kzto-promo-line{display:flex;gap:8px;margin-top:8px}
.kzto-promo-line input{box-sizing:border-box;min-width:0;width:100%;height:42px;margin:0;padding:10px 12px;border:1px solid #c6d8d6;border-radius:6px;background:#fff;color:#18353d;font:inherit}
.kzto-promo-line button{flex:none;min-height:42px;padding:8px 14px;border:0;border-radius:6px;background:#009e97;color:#fff;font:600 14px Arial;cursor:pointer}
.kzto-promo-line button:disabled{opacity:.6}
.kzto-promo p{margin:8px 0 0;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.kzto-promo p:empty{display:none}
.kzto-promo-total{font-weight:600;color:#007b76}
@media(max-width:420px){.kzto-promo{padding:12px}.kzto-promo-line{flex-wrap:wrap}.kzto-promo-line button{width:100%}}

/* Align the apply control independently of the enquiry submit-button margins. */
:is(#orderModal,#kztoCalcModal) .kzto-promo-line{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px}
:is(#orderModal,#kztoCalcModal) .kzto-promo-line input,
:is(#orderModal,#kztoCalcModal) .kzto-promo-line button{box-sizing:border-box;height:48px!important;min-height:48px!important;margin:0!important;vertical-align:middle;line-height:20px!important}
:is(#orderModal,#kztoCalcModal) .kzto-promo-line button{width:auto;padding:10px 14px}
@media(max-width:420px){:is(#orderModal,#kztoCalcModal) .kzto-promo-line{grid-template-columns:minmax(0,1fr)}:is(#orderModal,#kztoCalcModal) .kzto-promo-line button{width:100%}}

/* Show the customer price where the order total is expected. */
#kztoCalcModal .kzto-promo-base-hidden{display:none!important}
#kztoCalcModal .kzto-promo-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px}
#kztoCalcModal .kzto-promo-summary[hidden]{display:none!important}
#kztoCalcModal .kzto-promo-old-price{color:#72817e;font-size:16px;font-weight:400;text-decoration:line-through;white-space:nowrap}
#kztoCalcModal .kzto-promo-new-price{color:#009e97;font-variant-numeric:tabular-nums;white-space:nowrap}

#kztoCalcModal .kzto-promo-savings{display:block;flex-basis:100%;color:#007f79;font-size:14px;font-weight:500;line-height:1.5;font-variant-numeric:tabular-nums}

/* Stable rows avoid wrapping and layout jumps while amounts animate. */
#kztoCalcModal .kzto-promo-summary{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;justify-items:start;gap:4px}
#kztoCalcModal .kzto-promo-old-price{display:block;min-height:24px;line-height:24px;font-variant-numeric:tabular-nums}
#kztoCalcModal .kzto-promo-new-price{display:block;min-height:40px;line-height:40px;font-variant-numeric:tabular-nums}
#kztoCalcModal .kzto-promo-savings{min-height:22px;line-height:22px;white-space:nowrap}
