/* BUMWERK / shared visual language. Public layouts and customer account.
   Functional controls keep their layout, states and handlers. */
:root {
  --bw-red:#b10101; --bw-red-hover:#920101; --bw-ink:#181d20;
  --bw-night:#131a22; --bw-paper:#f4f0e9; --bw-white:#fff;
  --bw-line:#d9d5ce; --bw-muted:#64676b; --bw-radius:5px;
  --bw-font:IBMPlexSans,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --bw-cut:linear-gradient(to top right,#fff 0 49%,transparent 51%),linear-gradient(to bottom left,#080808 0 49%,transparent 51%);
}
.bw-brand {
  --blue:var(--bw-red); --bg-blue:#b101010d; --btn-primary:var(--bw-red);
  --hover-blue:var(--bw-red-hover); --hover-btn:var(--bw-red-hover);
  --bg-primary:var(--bw-paper); --bg-secondary:var(--bw-night);
  --text-primary:var(--bw-ink); --text-secondary:var(--bw-muted);
  --error:#ae1717; --overlay:var(--bw-night); --font-plex:var(--bw-font);
  --paper:var(--bw-paper); --ink:var(--bw-ink); --red:var(--bw-red);
  color:var(--bw-ink); background:var(--bw-paper); font-family:var(--bw-font);
  -webkit-font-smoothing:antialiased;
}
.bw-brand ::selection {background:#b10101;color:#fff}
.bw-brand :where(button,input,select,textarea) {font-family:var(--bw-font)}
.bw-brand :where(a,button,input,textarea,select,summary,[tabindex]):focus-visible {outline:2px solid var(--bw-red);outline-offset:4px}
.bw-brand :where(input[type=checkbox],input[type=radio]) {accent-color:var(--bw-red)}
.bw-brand :where(h1,h2,h3,.section-title) {letter-spacing:-.035em}
.bw-brand :where(.section-title) {text-transform:none;font-weight:500}
.bw-brand :where(.header--black,.cabinet-sidebar,.cabinet-tabbar) {background:var(--bw-paper)}
.bw-brand :where(.footer,.header.active,.header__menu.active) {background:var(--bw-night)}
.bw-brand :where(.header--black .header__inner,.header--black .header__menu) {border-color:var(--bw-line)}

/* Approved CTA “Срез”: white lower-left / black upper-right, modest radius.
   Background layers avoid colliding with spinners and existing pseudo icons. */
.bw-brand :is(.btn,.link-btn,.repair-btn,.tu-button,.si-button,.bw-booking__submit,.bw-careers__button,.bw-careers__header-cta,.cabinet-main__callback,.bw-cta),
.bw-brand.bw-careers-v2 :is(.button,.header__contact),
.bw-brand .bw-site-chat-submit {
  background-color:var(--bw-red)!important;
  background-image:var(--bw-cut)!important;
  background-position:left bottom,right top!important;
  background-size:31px 25px,43px 39px!important;
  background-repeat:no-repeat!important;
  border:1px solid #ffffffa8!important; border-radius:var(--bw-radius)!important;
  color:#fff!important; font-family:var(--bw-font);font-weight:500;
  text-align:center;justify-content:center;gap:10px;
  min-height:54px;padding:15px 38px 15px 32px;
  line-height:1.4;text-decoration:none!important;white-space:normal;
  box-shadow:0 5px 16px #00000012;cursor:pointer;
  transition:background-color .2s,box-shadow .2s,border-color .2s;transform:none;
}
.bw-brand :is(.btn,.link-btn,.repair-btn,.tu-button,.si-button,.bw-booking__submit,.bw-careers__button,.bw-careers__header-cta,.cabinet-main__callback,.bw-cta):hover,
.bw-brand.bw-careers-v2 :is(.button,.header__contact):hover,
.bw-brand .bw-site-chat-submit:hover {background-color:var(--bw-red-hover)!important;box-shadow:0 6px 20px #00000024;transform:none}
.bw-brand :is(.btn,.link-btn,.repair-btn,.tu-button,.si-button,.bw-booking__submit,.bw-cta):focus-visible,
.bw-brand.bw-careers-v2 :is(.button,.header__contact):focus-visible,
.bw-brand .bw-site-chat-submit:focus-visible {outline:2px solid var(--bw-ink);outline-offset:3px;box-shadow:0 0 0 2px #fff}
.bw-brand :is(.btn,.link-btn,.repair-btn,.tu-button,.si-button,.bw-booking__submit,.bw-cta):disabled,
.bw-brand .bw-site-chat-submit:disabled {opacity:.48;cursor:not-allowed;box-shadow:none}
.bw-brand :is(.header__btn,.footer__callback,.repair-btn-small,.tu-button-small),
.bw-brand.bw-careers-v2 :is(.header__contact,.mobile-bar .button) {
  min-height:44px;padding:10px 27px 10px 23px;font-size:13px;
  background-size:22px 18px,28px 25px!important;
}
.bw-brand .bw-booking__submit>span {font-size:inherit;line-height:inherit}
.bw-brand .bw-site-chat-submit {min-height:44px;padding:10px 23px;background-size:18px 14px,23px 20px!important}
/* Secondary actions remain quiet, distinguishable from submitting a form. */
.bw-brand :is(.btn--gray,.btn--transparent,.link-btn--transparent,.btn-form_outline) {
  background:transparent!important;border:1px solid currentColor!important;color:inherit!important;box-shadow:none;
}
.bw-brand :is(.btn--gray,.btn--transparent,.link-btn--transparent,.btn-form_outline):hover {background:#88888818!important}
.bw-brand .header--black .header__btn {color:var(--bw-ink)}
.bw-brand :is(.repair-checks li)::before {content:'+'}

/* Neutral, legible forms; red is reserved for actions, focus and selected state. */
.bw-brand :is(.form__input,.popup__input input,.profile-field__input,.si-form input:not([type=checkbox]),.si-form select,.si-form textarea,.bw-booking input:not([type=checkbox]),.bw-booking select,.bw-booking textarea) {
  border:1px solid #bdbab4;border-radius:var(--bw-radius);background:#fff;color:var(--bw-ink);
  min-height:48px;padding:12px 14px;font-family:var(--bw-font);font-size:16px;line-height:1.5;
}
.bw-brand :is(.form__input,.profile-field__input,.si-form input,.si-form select,.si-form textarea,.bw-booking input,.bw-booking select,.bw-booking textarea):focus {border-color:var(--bw-red);outline:2px solid #b1010126;outline-offset:1px}
.bw-brand :is(.si-form,.bw-booking__form,.popup__inner,.content-widget-schedule,.popup-param) {border-radius:8px;border-color:var(--bw-line)}
.bw-brand .footer__btns {padding:8px;gap:8px;background:var(--bw-night)}
.bw-brand .footer__btns:after {display:none}
.bw-brand .footer__btn {flex:1;border-radius:5px;background:var(--bw-red)}
.bw-brand :is(.call-animation .circle) {background:var(--bw-red);border-radius:8px}
.bw-brand .call-animation .circle:nth-child(2) {background:#b1010122}
.bw-brand .call-animation .circle:nth-child(3) {background:#b101010d}
.bw-brand .qs-datepicker-container {border-color:var(--bw-line);border-radius:8px}
.bw-brand .qs-datepicker .qs-square.qs-range-date-middle {background:#b1010114}
.bw-brand .qs-datepicker .qs-event:after {background:var(--bw-red)}
.bw-brand .bw-booking__slots button {border-radius:5px;background:#fff;border-color:var(--bw-line);color:var(--bw-ink)}
.bw-brand .bw-booking__slots button.is-selected {background:var(--bw-red);border-color:var(--bw-red);color:#fff}
.bw-brand .bw-booking__slots button:disabled {background:#eeeae4;color:#777;text-decoration:line-through;opacity:.6}
.bw-brand .bw-booking__selection {background:#ede8e1;border-radius:5px}
.bw-brand .bw-booking__consent input {accent-color:var(--bw-red)}

/* Shared marketing typography / section surfaces. 3D scenes keep their sizing. */
.bw-brand :is(.repair-page,.tuning-page,.si-page,.bw-booking,.models-page) {font-family:var(--bw-font);--paper:var(--bw-paper);--red:var(--bw-red)}
.bw-brand :is(.si-page,.bw-booking,.models-page,.repair-love,.repair-stock) {background:var(--bw-paper)}
.bw-brand :is(.si-hero,.si-focus,.repair-services,.repair-contact,.repair-cabinet,.tu-contact) {background:var(--bw-night)}
.bw-brand :is(.si-card,.si-hub-card,.si-focus,.si-consequences li,.si-form,.repair-workshop,.repair-stock-photo img,.repair-cabinet-preview) {border-radius:8px}
.bw-brand :is(.si-card-code,.si-page .si-card-code) {color:#e9ddd2}
.bw-brand :is(.si-hub-card,.si-links a) {border-color:var(--bw-line);border-radius:5px}
.bw-brand .si-hub-card:hover {background:#ebe5dc}
.bw-brand .si-consequences li {background:#ebe5dc;border-left-color:var(--bw-red)}
.bw-brand .repair-page em {color:var(--bw-red)}
.bw-brand :is(.repair-contact,.repair-services,.repair-cabinet,.tu-contact) em {color:#f17965}
.bw-brand :is(.repair-love,.repair-stock) em,
.bw-brand.bw-careers-v2 :is(.intro,.story,.work,.conditions) em {font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic}
.bw-brand :is(.repair-hero h1,.si-hero h1,.tu-chapter h1) {font-weight:500}
.bw-brand :is(.repair-page,.si-page,.tuning-page,.bw-booking) button {font-family:var(--bw-font)}
.bw-brand :is(.repair-mobile-cta,.tu-mobile-cta) {border-color:#ffffff26;background:var(--bw-night)}
.bw-brand.bw-careers-v2 .button-study--cut {width:318px;max-width:100%}
.bw-brand.bw-careers-v2 .header__contact {min-width:0}
.bw-brand.bw-careers-v2 :is(.terms,.story__photo img,.parts figure img) {border-radius:8px}
.bw-brand.bw-careers-v2 .eyebrow {color:var(--bw-red)}
.bw-brand.bw-careers-v2 :is(.hero,.respond,.parts) .eyebrow {color:#e4d7cc}

/* Customer account uses the same palette with quiet surfaces for data. */
.bw-brand.cabinet {background:var(--bw-paper)}
.bw-brand .cabinet-sidebar {border-color:var(--bw-line)}
.bw-brand .cabinet-sidebar__link {border-radius:5px}
.bw-brand .cabinet-sidebar__link.active {background:var(--bw-red);color:#fff}
.bw-brand .cabinet-tabbar {border-color:var(--bw-line);box-shadow:0 -5px 24px #181d2009}
.bw-brand :is(.cabinet-main__title,.cabinet-title) {font-weight:500;letter-spacing:-.04em}
.bw-brand :is(.cabinet-service__item,.cabinet-vehicle__info,.cabinet-profile .profile-form) {border-radius:8px}
.bw-brand .profile-field__input {font-size:16px}
.bw-brand .cabinet-sidebar__link:focus-visible {outline-offset:-3px}

/* Chat is delivered by the existing integration and inherits the site skin. */
.bw-brand .bw-site-chat-widget {font-family:var(--bw-font)}
.bw-brand .bw-site-chat-panel {border-color:var(--bw-line);border-radius:8px;box-shadow:0 12px 50px #0003}
.bw-brand .bw-site-chat-header {background:var(--bw-night);color:#fff}
.bw-brand .bw-site-chat-close {color:#fff}
.bw-brand .bw-site-chat-launch {background:var(--bw-red);border-radius:5px;border:1px solid #ffffff80}
.bw-brand .bw-site-chat-messages p {background:var(--bw-paper);border-radius:5px}
.bw-brand .bw-site-chat-messages p.out {background:#b101010d}
.bw-brand .bw-site-chat-input {border-radius:5px;border-color:var(--bw-line);font-family:var(--bw-font)}
@media(max-width:600px) {
  .bw-brand :is(.btn,.link-btn,.repair-btn,.tu-button,.si-button,.bw-booking__submit) {padding-inline:28px;min-height:50px;background-size:25px 20px,32px 29px!important}
  .bw-brand :is(.repair-btn-small,.tu-button-small,.header__btn) {min-height:42px;padding:10px 24px;font-size:12px;background-size:20px 16px,25px 23px!important}
  .bw-brand .bw-booking__submit {font-size:14px}
  .bw-brand.bw-careers-v2 .header__contact {padding-inline:21px;font-size:11px;min-height:42px;background-size:18px 14px,22px 20px!important}
}
@media(prefers-reduced-motion:reduce) {
  .bw-brand {scroll-behavior:auto}
  .bw-brand :is(.btn,.link-btn,.repair-btn,.tu-button,.si-button,.call-animation .circle,.bw-site-chat-launch) {animation:none;transition:none}
}
/* Existing service and shop templates share the same paper/graphite surfaces. */
.bw-brand :is(.mini-landing,.alignment) {background:var(--bw-paper);color:var(--bw-ink)}
.bw-brand .alignment {--align-accent:#f17965}
.bw-brand :is(.mini-landing__hero,.promotion-landing__card,.alignment__booking) {background:var(--bw-paper)}
.bw-brand :is(.mini-landing__brand,.alignment__hero,.alignment__studio,.home-alignment__inner) {background:var(--bw-night)}
.bw-brand :is(.mini-landing__card,.alignment__studio,.alignment__model,.alignment__booking) {border-radius:8px;border-color:var(--bw-line)}
.bw-brand :is(.mini-landing__card:hover,.alignment__model[aria-pressed=true]) {border-color:var(--bw-red);box-shadow:inset 0 0 0 1px var(--bw-red)}
.bw-brand .alignment__angle-buttons {border-radius:5px;border-color:#ffffff26}
.bw-brand .alignment__angle-buttons button {border-radius:5px}
.bw-brand .alignment__angle-buttons button[aria-pressed=true] {background:var(--bw-paper);color:var(--bw-ink)}
.bw-brand :is(.mini-landing,.alignment,.promotion-landing) :is(a,button,summary):focus-visible {outline-color:var(--bw-red)}
.bw-brand .bw-hiring {border-radius:8px;background:var(--bw-night)}
.bw-brand .bw-hiring a {background-color:var(--bw-red);background-image:var(--bw-cut);background-repeat:no-repeat;background-position:left bottom,right top;background-size:31px 25px,43px 39px;border-radius:5px;padding-inline:36px}
.bw-brand .descriptor:not(.descriptor--noshadow)::after {background:linear-gradient(90deg,#0c1014ee,#131a2294 60%,#131a221f)}
.bw-brand .descriptor__title {font-size:clamp(34px,4.8vw,70px);font-weight:500;line-height:1.08;letter-spacing:-.045em;text-transform:none;max-width:1100px}
.bw-brand .descriptor__content {line-height:1.65;max-width:860px}
.bw-brand :is(.advantages__item,.products__card-item,.why-work-card,.cabinet-appointment__form) {border-radius:8px}
.bw-brand .products__card-item {background:#fff;border:1px solid var(--bw-line);padding:12px;overflow:hidden}
.bw-brand .products__card-item .btn {min-width:0;font-size:14px;padding-inline:27px}
.bw-brand .products__input input {border-radius:5px;border-color:#bdbab4}
.bw-brand .auth-page>div {background:#fff;border:1px solid var(--bw-line);border-radius:8px;padding:clamp(22px,4vw,48px)}
.bw-brand .cabinet-wrapper {background:var(--bw-paper)}
.bw-brand .cabinet-wrapper :is(.tw\:uppercase,.tw\:uppercase\!) {text-transform:none!important;font-weight:500;letter-spacing:-.02em}
.bw-brand .alignment__model-select,
.bw-brand .alignment__expert a,
.bw-brand .alignment__booking-action>a,
.bw-brand .alignment__related a {color:var(--bw-red)}
@media(max-width:600px) {
  .bw-brand .descriptor__title {font-size:clamp(31px,8.4vw,45px)}
  .bw-brand .products__card-item {padding:8px}
  .bw-brand .products__card-item .btn {font-size:12px;padding-inline:22px;background-size:18px 14px,22px 20px!important}
}
.bw-brand .popup__title {text-transform:none;font-weight:500;letter-spacing:-.03em}
.bw-brand .popup-inner {border-radius:8px}
.bw-brand .footer__btn {background-image:var(--bw-cut);background-position:left bottom,right top;background-size:19px 15px,24px 21px;background-repeat:no-repeat;padding-inline:24px}
.bw-brand :is(.cabinet-sidebar__header,.cabinet-sidebar__nav) {background:var(--bw-paper)}
.bw-brand .cabinet-appointment__holder>h5 {text-transform:none;font-weight:500;letter-spacing:-.03em}
.bw-brand .qs-datepicker .qs-square {border-radius:4px}
.bw-brand .qs-datepicker .qs-square.qs-num:not(.qs-disabled):not(.qs-active) {background:#fff;color:var(--bw-red);border:1px solid #b1010133}
.bw-brand .qs-datepicker .qs-square.qs-num:not(.qs-disabled):hover,
.bw-brand .qs-datepicker .qs-square.qs-active {background:var(--bw-red);color:#fff}
.bw-brand .qs-datepicker .qs-square.qs-disabled {background:#f0ece6;color:#777}
.bw-brand .detail-schedule__color {border-radius:3px}
.bw-brand .detail-schedule__color[style*="var(--blue)"] {background:#fff!important;border:1px solid #b1010166}
.bw-brand .bw-booking :is(h1,h2,h3) {font-weight:500}
.bw-brand .bw-booking h1 em {font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;color:var(--bw-muted)}
.bw-brand .bw-booking__lead {font-weight:300}
.bw-brand :is(.bw-booking__card,.bw-booking__panel) {border-radius:8px;border-color:var(--bw-line)}
.bw-brand :is(.product__specifications dt,.product__label,.product__delivery dd) {color:var(--bw-ink)}
.bw-brand :is(.product__subtitle,.products__label,.catalog__title) {text-transform:none;font-weight:500}
.bw-brand .cart__total-inner {border-color:var(--bw-line);background:#fff;border-radius:8px;padding:24px}
.bw-brand :is(.cart__subtitle,.cart__item--title,.cart__name) {text-transform:none;font-weight:500;letter-spacing:-.02em}
.bw-brand :is(.cart__plus,.cart__minus) {border-radius:5px;border-color:var(--bw-line)}
.bw-brand .bw-panel {background:#fff;border:1px solid var(--bw-line)!important;border-radius:8px}
.bw-brand .bw-panel--dark {background:var(--bw-night)}
.bw-brand .cabinet-appointment__holder {background:#fff;border-color:var(--bw-line);border-radius:8px}
.bw-brand .si-catalog-tools {background:#eae5dd;border:1px solid var(--bw-line);border-radius:8px}
.bw-brand .si-catalog-tools :is(input,select,button) {border-color:#bdbab4;border-radius:5px;color:var(--bw-ink);font-weight:400}
.bw-brand .si-catalog-tools :focus-visible {outline-color:var(--bw-red)}
.bw-brand .si-content :is(h2,h3) {font-weight:500}
.bw-brand .si-focus .si-eyebrow {color:#e4d7cc}

/* One launcher for the existing chat and booking widgets. */
.bw-contact {position:fixed;right:20px;bottom:20px;z-index:2147482999;font-family:var(--bw-font)}
.bw-contact [hidden],.bw-contact[hidden] {display:none!important}
.bw-brand .bw-contact__toggle {display:flex;min-width:166px;font-size:15px}
.bw-contact__panel {position:absolute;right:0;bottom:calc(100% + 12px);width:320px;max-width:calc(100vw - 32px);padding:12px;background:var(--bw-paper);color:var(--bw-ink);border:1px solid var(--bw-line);border-radius:8px;box-shadow:0 12px 40px #0003}
.bw-contact__heading {margin:4px 8px 12px;font-size:18px;font-weight:500;letter-spacing:-.025em}
.bw-contact__option {display:flex;align-items:center;gap:13px;width:100%;min-height:76px;padding:14px 12px;border:1px solid var(--bw-line);border-radius:5px;background:#fff;color:var(--bw-ink);text-align:left;cursor:pointer;font:inherit}
.bw-contact__option+.bw-contact__option {margin-top:8px}
.bw-contact__option:hover {background:#f8f5f0;border-color:var(--bw-red)}
.bw-contact__option svg {width:27px;height:27px;flex:0 0 27px;color:var(--bw-red)}
.bw-contact__option strong {display:block;font-size:16px;font-weight:500;line-height:1.3}
.bw-contact__option small {display:block;margin-top:4px;font-size:12px;color:var(--bw-muted);line-height:1.4}
.bw-contact__status,.bw-contact__fallback {margin:12px 8px 4px;font-size:13px;line-height:1.5}
.bw-contact__status:empty {display:none}
.bw-contact__fallback a {display:block;color:var(--bw-red);text-decoration:underline}
.bw-contact-ready :is(.call-animation,.bw-site-chat-launch) {display:none!important}
.bw-contact-ready .widget-schedule:not(.widget-schedule_active) {pointer-events:none}
.bw-contact-ready .content-widget-schedule {width:390px;min-width:0;max-width:calc(100vw - 32px);max-height:calc(100dvh - 36px);overflow:auto;overscroll-behavior:contain}
@media(max-width:760px) {
  .bw-contact {right:12px;bottom:calc(84px + env(safe-area-inset-bottom))}
  .bw-brand .bw-contact__toggle {min-width:146px;min-height:48px;padding:12px 30px;font-size:14px;background-size:23px 18px,30px 27px!important}
  .bw-contact__panel {max-height:calc(100dvh - 170px);overflow:auto}
  .bw-contact-ready .widget-schedule {right:16px;bottom:calc(84px + env(safe-area-inset-bottom))}
  .bw-contact-ready .content-widget-schedule {max-height:calc(100dvh - 108px - env(safe-area-inset-bottom));padding:18px 14px}
}

/* Text links keep the surrounding color; the underline carries the affordance. */
.bw-brand :is(.checkbox a,.link-underline a,.link-underline span,.services-block__card-link,
 .alignment__expert a,.alignment__related a,.mini-landing__contact a,.text-link,.quiet-link,
 a[href$="/policy.pdf"],a[href$="/agreement.pdf"]) {
 color:inherit!important;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;border-bottom:0!important;
}
.bw-brand .services-block__card,.bw-brand .services-block__card:hover {color:#fff}
.bw-brand :is(.checkbox a,.link-underline a,.services-block__card-link,.text-link,.quiet-link):hover {color:inherit!important;text-decoration-thickness:2px}
