/* ===== Общие UX-улучшения (все варианты) ===== */
.steps{padding:1.25rem 0}
.steps__inner{display:grid;gap:.75rem}
@media(min-width:760px){.steps__inner{grid-template-columns:repeat(3,1fr)}}
.steps__item{display:flex;gap:.8rem;align-items:flex-start;padding:1rem 1.1rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border)}
.steps__item b{display:block;font-size:1rem}.steps__item span:not(.steps__num){font-size:.88rem;color:var(--muted)}
.steps__num{flex:none;width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;font-weight:800;background:var(--accent);color:var(--on-accent,#fff)}
.form__step{margin:1rem 0 -.25rem;font-size:1.05rem;padding-top:1rem;border-top:1px solid var(--border)}
.form__step:first-of-type{border-top:0;padding-top:0;margin-top:0}
.form__step span{color:var(--text)}
.mobile-cta{display:none}
@media(max-width:759px){
 .mobile-cta{display:flex;position:fixed;left:12px;right:84px;bottom:14px;z-index:45;justify-content:center;align-items:center;min-height:52px;border-radius:999px;background:var(--accent);color:var(--on-accent,#fff);font-weight:700;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.25);transition:transform .25s,opacity .25s}
 .mobile-cta.is-hidden{transform:translateY(120%);opacity:0;pointer-events:none}
 .header__messengers{display:none}
 .hero__title{font-size:clamp(1.9rem,8vw,2.4rem)}
 .cards{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:.6rem}
 .card{padding:.9rem!important}.card__text{display:none}.card__icon{font-size:1.5rem!important}
 .card__title{font-size:.95rem!important}
 input,select,textarea{font-size:16px!important}
}
.uploader__drop{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
#btn-submit{min-height:56px;font-size:1.05rem}
.theme-preview-bar{position:sticky;top:0;z-index:100;background:#111;color:#fff;font-size:.9rem;padding:.5rem 1rem;text-align:center}
.theme-preview-bar a{color:#ffd54a}

/* --- «Много фото? Пришлите в Telegram» --- */
.tg-bulk{background:#eef8fd;border:1px solid #b9e0f5}.tg-bulk__warn{background:#fff6e5}
.tg-bulk{--tg-c:#229ed9;display:grid;gap:.4rem;padding:.9rem 1rem;border-radius:var(--radius);border:1px solid color-mix(in srgb,var(--tg-c) 35%,transparent);border-left:4px solid var(--tg-c);background:color-mix(in srgb,var(--tg-c) 8%,var(--surface));color:var(--text)}
.tg-bulk p,.tg-bulk ul{margin:0}
.tg-bulk__title{font-weight:800;font-size:1rem;display:flex;align-items:center;gap:.45rem}
.tg-bulk__title::before{content:"";flex:none;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--tg-c) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9.8 15.6l-.4 4.1c.5 0 .8-.2 1-.5l2.5-2.4 5.2 3.8c1 .5 1.6.3 1.9-.9l3.4-16c.3-1.4-.5-2-1.5-1.6L1.8 9.6c-1.4.5-1.4 1.3-.2 1.7l5.1 1.6L18.3 5.4c.6-.4 1.1-.2.7.2'/%3E%3C/svg%3E") center/62% no-repeat}
.tg-bulk__warn{font-size:.92rem;padding:.4rem .6rem;border-radius:8px;background:color-mix(in srgb,#f79009 14%,transparent);border:1px solid color-mix(in srgb,#f79009 40%,transparent)}
.tg-bulk__how{padding-left:1.1rem;font-size:.88rem;color:var(--muted)}
.tg-bulk__how b{color:var(--text)}
.tg-bulk__btn{justify-self:start;background:var(--tg-c);color:#fff!important;min-height:42px;padding:.5rem 1.1rem;font-size:.92rem}
.tg-bulk__btn:hover{filter:brightness(.95)}
.tg-bulk--alert{border-color:var(--danger);border-left-color:var(--danger)}
@media(max-width:520px){.tg-bulk__btn{justify-self:stretch}}

/* 2026-10-14: бонусы, промокод, отзывы, «вписать/заполнить» — цвета из переменных скина (классика — как в app.css) */
body:not(.theme-classic) .card__bonus,
body:not(.theme-classic) .thanks__ref,
body:not(.theme-classic) .review-code { background: var(--accent-soft); color: var(--text); }
body:not(.theme-classic) .promo { background: var(--surface); border-color: var(--border); color: var(--text); }
body:not(.theme-classic) .promo__row input { background: var(--bg); color: var(--text); border-color: var(--border); }
body:not(.theme-classic) .loyalty-progress__title,
body:not(.theme-classic) .total__bonus,
body:not(.theme-classic) .thanks__ref-code,
body:not(.theme-classic) .review-code__value { color: var(--text); }
body:not(.theme-classic) .loyalty-progress__bar { background: var(--border); }
body:not(.theme-classic) .loyalty-progress__bar span { background: var(--accent); }
body:not(.theme-classic) .bonus-acc__warn { background: var(--accent-soft); color: var(--text); }
body:not(.theme-classic) .rv__nav { background: var(--surface); color: var(--text); }
body:not(.theme-classic) .kit-layout__card { background: var(--surface); }

/* 19m7: телефон <760px — WA/TG не висят над контентом (раньше перекрывали цены справа).
   Непрозрачная полоса-«док» у нижнего края: слева «Оформить заказ» (или подпись, когда кнопка скрыта у формы), справа WA и TG 48×48.
   С баннером cookie док стоит над баннером. Touch: пока видна нижняя панель с суммой (tui-bar), док скрыт — панель занимает это место. */
@media(max-width:759px){
 .sticky-contacts{left:0;right:0;bottom:var(--cookie-bar-h,0px);flex-direction:row;justify-content:flex-end;align-items:center;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));background:var(--surface);border-top:1px solid var(--border);box-shadow:0 -4px 16px rgba(16,24,40,.08);transition:bottom .25s}
 .sticky-contacts::before{content:"Вопрос по заказу? Напишите";margin-right:auto;font-size:.85rem;font-weight:600;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
 .sticky-contacts__btn{width:48px;height:48px;flex:none;box-shadow:none}
 body.has-cookie-bar .sticky-contacts{bottom:var(--cookie-bar-h,0px)}
 body:has(>.sticky-contacts) .mobile-cta{bottom:calc(var(--cookie-bar-h,0px) + 8px + env(safe-area-inset-bottom,0px));right:124px;min-height:48px;z-index:51;box-shadow:none}
 body.tui-bar-visible .sticky-contacts,body.tui-bar-visible.has-cookie-bar .sticky-contacts{display:none}
 body:has(>.sticky-contacts) .footer{padding-bottom:calc(var(--cookie-bar-h,0px) + 6rem)}
}
