.invoice{ border:1px solid #eee; border-radius:12px; padding:1rem; margin-bottom:1rem; background:#fff; }
.invoice-row{ display:flex; justify-content:space-between; align-items:center; padding:.4rem 0; }
.invoice-row + .invoice-row{ border-top:1px dashed #eee; }
.invoice-row .value{ font-weight:600; }
.invoice-total{ display:flex; justify-content:space-between; align-items:center; margin-top:.6rem; padding-top:.6rem; border-top:2px solid #111; font-size:1.1rem; font-weight:700; }
.promo-row{ margin-top:1.2em; }
.promo-input{ display:flex; gap:.5rem; align-items:center; }
.promo-input input{ flex:1; margin:0; }
.btn-small{ padding:.5rem .8rem; border-radius:.5rem; border:none; cursor:pointer; background:#FFA07A; color:#fff; }
.btn-link{ background:none; border:none; color:#666; cursor:pointer; text-decoration:underline; }
.promo-feedback{ margin-top:.35rem; font-size:.9rem; min-height:1.2em; margin-left: 0.5em; }
.discount{ color:#1a7f37; margin-top: 1.2em;}

/* ====== Автопродление: тумблер ====== */
.renew{ margin: 1em 0 3em; }
.switch{ display:flex; align-items:center; gap:.6rem; cursor:pointer; user-select:none; }
.switch input{ position:absolute; opacity:0; pointer-events:none; }
.switch-slider{ width:42px; height:24px; border-radius:999px; background:#e6e6e6; position:relative; transition:background .2s ease; flex:0 0 42px; }
.switch-slider::after{ content:""; position:absolute; top:3px; left:3px; width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.15); transition:left .2s ease; }
.switch input:checked + .switch-slider{ background:#FFA07A; }
.switch input:checked + .switch-slider::after{ left:21px; }
.switch-text{ color:#333; line-height:1.35; font-size: 0.8em;}


@media (max-width: 1024px) {
    .invoice-total{ margin-top:.6rem; padding-top:.6rem; border-top:2px; font-size:2.5em; }
    .invoice-row {
        font-size:2em;
        padding:0.6em;
    }
    .promo-row{ margin-top:1.5em; padding:1em; }
    .promo-row label{ font-size:2em; }
    .promo-input input{ font-size: 1.8em; }
    .btn-small{ font-size: 2em; padding:.5em}
    .switch{ gap: 2em; }
    .switch-text {font-size: 1.6em; margin: 1em 0em 1em 0em}
    .switch-slider{ width:4.5em; height:3em; flex: 0 0 4em;}
    .switch-slider::after{ content:""; position:absolute; top:3px; left:3px; width:2.5em; height:2.5em; border-radius:50%; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.15); transition:left .2s ease; }
}