/* Бортум 0.13.0 — UX fixes */
:root{
  --bt-font:"Segoe UI Variable Display","Segoe UI",Arial,sans-serif;
}
html,body,button,input,textarea,select{font-family:var(--bt-font)}

/* Guest landing: one fixed screen, logo only on the rail. */
body:not(.bt-in-app){overflow:hidden}
.bt-welcome:not([hidden]){height:100dvh;min-height:0;overflow:hidden}
.bt-welcome .bt-rail--landing{justify-content:flex-start}
.bt-welcome .bt-rail--landing .bt-wordmark{margin:0;white-space:nowrap}
.bt-landing{
  grid-template-rows:40px minmax(0,1fr) auto!important;
  gap:10px!important;
  padding:24px clamp(34px,5vw,84px) 34px!important;
  overflow:hidden!important;
}
.bt-landing-login{display:flex;align-items:center;justify-content:flex-end;min-height:36px;position:relative;z-index:5}
.bt-landing-login .bt-text-button{border:1px solid var(--bt-line);background:#fff;border-radius:12px;padding:9px 17px;font-weight:700;box-shadow:0 8px 22px rgba(20,28,39,.05)}
.bt-landing-stage{height:100%;min-height:0;align-items:center!important;overflow:visible}
.bt-landing-stage h1{font-family:var(--bt-font);font-weight:800!important;letter-spacing:-.045em!important;line-height:.94!important;font-size:clamp(54px,5.15vw,82px)!important}
.bt-landing-stage p{font-size:clamp(16px,1.18vw,19px)!important;line-height:1.38!important;margin:22px 0 28px!important}
.bt-approved-car{overflow:visible!important;min-height:0!important}
.bt-approved-car img{width:min(100%,800px)!important;max-height:55vh!important;object-fit:contain!important;object-position:center!important;clip-path:none!important}
.bt-approved-car::before{width:min(38vw,560px)!important}
.bt-welcome .bt-feature-row{margin-top:2px!important}
.bt-welcome .bt-feature-row article{min-height:108px!important}

/* Actual product navigation icons. */
.bt-nav-icon{width:23px!important;height:23px!important;display:grid!important;place-items:center;flex:0 0 23px}
.bt-nav-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}

/* Loading operations: active line and a visible spinner on the right. */
.bt-operation{width:min(100%,520px)}
.bt-operation>span{display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:12px;min-height:26px;padding:2px 0}
.bt-operation>span em{font-style:normal;min-width:0}
.bt-step-spinner{width:16px;height:16px;border-radius:50%;border:2px solid #e1e5eb;border-top-color:var(--bt-purple);opacity:0;animation:bt-spin .75s linear infinite}
.bt-operation>span.is-active .bt-step-spinner{opacity:1}
.bt-operation>span.is-active em{color:var(--bt-purple);font-weight:800}
@keyframes bt-spin{to{transform:rotate(360deg)}}

/* Quick actions always wrap inside the chat width. */
.bt-chat-column{min-width:0;overflow:hidden}
.bt-quick{display:flex!important;flex-wrap:wrap!important;align-content:flex-start;gap:9px;overflow:visible!important;max-width:100%;padding:8px 10px 14px}
.bt-quick button{flex:0 1 auto!important;max-width:100%;white-space:normal;text-align:center;line-height:1.25;overflow-wrap:anywhere}

/* Composer: text is available only on steps that need it. */
.bt-composer{align-items:end;min-width:0}
.bt-composer textarea{min-height:46px;max-height:112px;line-height:1.42;overflow-y:auto}
.bt-composer button{width:46px!important;height:46px!important;min-width:46px;max-width:46px;align-self:end;flex:none}
.bt-composer.is-disabled{background:#f4f6f8;box-shadow:none}
.bt-composer.is-disabled textarea{cursor:not-allowed;color:#929baa}
.bt-composer button:disabled{opacity:.38;cursor:not-allowed}

/* Phone input with a fixed +7 prefix. */
.bt-phone-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;border:1px solid var(--bt-line);border-radius:12px;background:#fff;overflow:hidden}
.bt-phone-field:focus-within{border-color:var(--bt-purple);box-shadow:0 0 0 3px rgba(116,71,255,.1)}
.bt-phone-field b{padding:0 0 0 13px;font-size:15px;font-weight:700;color:var(--bt-ink)}
.bt-phone-field input{border:0!important;box-shadow:none!important;padding-left:7px!important;outline:0!important}
.bt-consent{padding:10px 11px;border:1px solid transparent;border-radius:12px;transition:.18s ease}
.bt-consent.is-invalid{border-color:#ef8d8d;background:#fff3f3;color:#8b3131}
.bt-form-message{border:1px solid #f0b0b0;box-shadow:0 8px 24px rgba(139,49,49,.08)}

/* One theme image for all cars. */
.bt-vehicle-image{object-fit:contain!important}
.bt-vehicle-image-status{pointer-events:none}

@media(max-width:900px){
  .bt-landing{padding:22px 28px 28px!important}
  .bt-landing-stage h1{font-size:clamp(48px,7vw,68px)!important}
  .bt-approved-car img{max-height:43vh!important}
}
@media(max-width:680px){
  body:not(.bt-in-app){overflow:auto}
  .bt-welcome:not([hidden]){height:auto;min-height:100dvh;overflow:visible}
  .bt-landing{display:block!important;min-height:100dvh;height:auto!important;padding:18px 17px 28px!important;overflow:visible!important}
  .bt-landing-login{min-height:40px}
  .bt-landing-stage{display:block!important;height:auto}
  .bt-landing-stage h1{font-size:46px!important;margin-top:34px!important}
  .bt-approved-car{height:220px!important;margin-top:6px}
  .bt-approved-car img{max-height:230px!important}
  .bt-welcome .bt-feature-row{margin-top:12px!important}
  .bt-quick{padding-left:4px;padding-right:4px}
  .bt-quick button{width:auto;max-width:100%}
  .bt-composer{grid-template-columns:42px minmax(0,1fr) 50px!important}
}

/* Consistent line icons in controls and mobile navigation. */
.bt-icon-button svg,.bt-mobile-nav svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bt-mobile-nav button{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:3px}
.bt-mobile-nav button svg{width:20px;height:20px}
