

/* Start:/local/templates/aspro-priority_2021/components/bitrix/news/catalog/style.css?1673819740450*/
@media(max-width: 767px) {
    .catalog.detail .head .maxwidth-theme .row {display: flex;flex-direction: column-reverse;}
    .catalog.detail .head .item .info.wpadding {padding-top: 0;padding-bottom: 0;}
    .catalog.detail .head .item > .galery {padding-top: 40px;}
    .catalog.detail .head>.maxwidth-theme>.row>.item {padding-bottom: 46px;}
    .catalog.detail .detail_right_block {display: none;}
}
section.accessoires {
    margin-top: 70px;
}

/* End */


/* Start:/bitrix/components/bitrix/breadcrumb/templates/.default/style.css?1673819705585*/
.bx-breadcrumb {
	margin: 10px 0;
}
.bx-breadcrumb i {
	color: #b5bdc2;
	line-height: 13px;
	font-size: 12px;
	vertical-align: middle;
	margin-right: 5px;
}
.bx-breadcrumb .bx-breadcrumb-item {
	float: left;
	margin-bottom: 10px;
	white-space: nowrap;
	line-height: 13px;
	vertical-align: middle;
	margin-right: 10px;
}
.bx-breadcrumb .bx-breadcrumb-item span {
	font-family: "Open Sans", Arial, "Helvetica Neue", Helvetica, sans-serif;
	font-size: 13px;
	white-space: normal;
}
.bx-breadcrumb .bx-breadcrumb-item a {border-bottom: none;}
.bx-breadcrumb .bx-breadcrumb-item a:hover {}

/* End */


/* Start:/local/templates/aspro-priority_2021/components/bitrix/news.detail/catalog/style.css?17896002568022*/
body .banners-content{margin-bottom:0;}
body .catalog.detail .galery{padding:0 44px 0 0;width:100%;}
body .catalog.detail .head{border:0}
body .catalog.detail .head>.maxwidth-theme>.row>.item{display:flex;align-items:center;}
body h1 {
	margin-bottom:10px;
	font-size: 40px;
	font-style: normal;
	font-weight: 400;
	line-height: 47px;
	letter-spacing: 0em;
	text-align: left;
	color:#000;
}

.catalog.detail .head .price .price_new .price_val {
    font-family: Roboto;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 28px;
    letter-spacing: 0em;
    text-align: left;
}
.catalog.item-views.table .items{margin:0 -16px;}
body .wraps.goods-block .item-wrap.col-md-4 {width:25%;padding:16px;margin-bottom:10px;}

.goods .catalog.item-views.table .item .footer-button {opacity:1;visibility:visible;height:auto;padding: 0 25px;}
.goods .catalog.item-views.table .item .footer-button .btn{color:#FF6C2F;background:none;height:auto;line-height:33px;padding:0;
font-size: 14px;
font-weight: 500;
letter-spacing: 0em;
border-radius:0;
}
.goods .catalog.item-views.table .item .footer-button .btn:hover{
    color:#fff;
    background:#FF6C2F;
}
.goods .item-views.table .item{
border: 1px solid #9B9B9B;
}
html[xmlns] .goods .slice_price.clearfix {
    display: none;
}
body .catalog.item-views.table .items .item .footer-button .btn{padding:0;}
/* Интро-колонка карточки товара: абзацы И элементы списка.
   Раньше здесь был только `p`, поэтому <li> во вводном тексте не попадал
   ни под одно правило font-size и наследовал body (18px/22px), тогда как
   соседние абзацы прижаты к 14px/16px -- внутри одной колонки список
   оказывался на 4px крупнее вводящих его абзацев. Измерено на живой
   странице 2026-09-17: `.previewtext p` = 14px/16px, `.previewtext ol li`
   = 18px/22px, причём у <li> не совпадало НИ ОДНО правило с font-size.
   Из 58 активных товаров список во вводном тексте есть только у
   HART-монитора, он этот пробел и вскрыл; значения не новые -- это те же
   токены, что уже заданы для `p`, так что иерархия H1 -> интро -> список
   сохраняется, а будущие товары со списками получают её автоматически. */
body .catalog.detail .head .previewtext p,
body .catalog.detail .head .previewtext li{
    font-family: Roboto;
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 16px;
letter-spacing: 0em;
text-align: left;

}

body .catalog.detail .head .previewtext{margin:13px 0 47px; 0;}
body .catalog.detail .head .price{margin-bottom:0;}


.compare {display:table;clear:both;margin-top:30px;max-width:1030px;}
.compare .tr{display:table-row;}
.compare .td{width:33%;display:table-cell;padding:22px 25px;border-bottom:1px solid #BFC1BE;border-right:1px solid #BFC1BE;font-size: 14px;font-style: normal;font-weight: 500;line-height: 16px;letter-spacing: 0em;text-align: left;vertical-align: middle;}
.compare .td:last-child{border-right:0;}
.compare .tr:first-child .td:first-child{position:relative;min-height:106px;height: 105px;}
.compare .tr:first-child .td:first-child:before{
    content:"";
    position:absolute;top:0;bottom:0;left:0;right:0;z-index:0;
    display:block;
  width:100%;
  background: linear-gradient(to top right, #fff calc(50% - 1px), #BFC1BE, #fff calc(50% + 1px) )
}
.compare .tr:first-child .td:first-child > span {
    position:relative;
    z-index:1;
}
.compare .tr:first-child .td:first-child > span.tr{
    display:block;
    position:absolute;
    right:25px;
    top: 24px;
}
.compare .tr:first-child .td:first-child > span.ld{
  position:absolute;
  display:block;
  bottom: 18px;
}

body .panel-collapse .accordion-body{padding:33px 68px}
.accordion-body p {
font-family: Roboto;
font-size: 18px;
font-style: normal;
font-weight: 300;
line-height: 21px;
letter-spacing: 0em;
text-align: left;

}
.tab-content .content {max-width:890px;}
body .tabs .tab-content{padding-top:0px;}
body .catalog.detail .wrapper-block-btn .btn{height:40px;padding:0;line-height:40px;border-radius:0;}
body .catalog.detail .head .row>.item{padding-bottom:15px;}

body .detail .order-block{background:transparent;border:1px solid #FF6C2F; margin:0;}
.detail .order-block .text:before{content:none;}
.detail .order-block td{padding:22px 69px;}
.detail .order-block .text{padding:0;
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 16px;
letter-spacing: 0em;
text-align: left;
margin-bottom:29px;
}
.detail .order-block .price-description{
font-size: 24px;
font-style: normal;
font-weight: 500;
line-height: 28px;
letter-spacing: 0em;
text-align: left;
margin-bottom:10px;
}
.detail .order-block .prices .price{
font-size: 24px;
font-style: normal;
font-weight: 400;
line-height: 28px;
letter-spacing: 0em;
text-align: left;
}
.detail .order-block td .btns{text-align:left;
}

.detail .order-block td .btns>span{border-radius:0;}
.detail .order-block .btn.order{padding:12px 54px;height: 40px;border-radius: 0;}


.tabs .accordion-type-1 .item h2{
    font-family: Roboto;
font-size: 18px;
font-style: normal;
font-weight: 400;
line-height: 21px;
letter-spacing: 0em;
text-align: left;
color: #000000;

}
.tabs .accordion-body p{
    font-family: Roboto;
font-size: 18px;
font-style: normal;
font-weight: 400;
line-height: 21px;
letter-spacing: 0em;
text-align: left;

}
.accordion-type-1 {
 
    clear: both;
    margin-top: 30px;
}
.tabs .accordion-type-1 .item .accordion-head .arrow_open, 
.tabs .accordion-type-2 .item .accordion-head .arrow_open{
    top:15px;
}
.tabs .item.border{margin-bottom:2px;}
.catalog.detail .accordion-type-1 .item.opened, 
.tabs .catalog.detail .accordion-type-2 .item.opened{
    margin-bottom:7px;
}

.accordion-body .table-wrap {padding:0;}
.accordion-body .table-wrap table.table tr td,
.accordion-body .table-wrap table.table:not(.table-bordered) > tbody > tr:hover td:last-of-type,
.accordion-body .table-wrap table.table tr:hover td{
    padding:10px 15px;
    font-size:13px;
}
.accordion-body .table-wrap table.table > tbody > tr:hover td {
    padding-left: 15px !important;
}
table.table thead+tbody tr:last-of-type td{border-bottom: 1px solid #bfc0bf!important;}
.compare .td img{max-width:72px;max-height:58px;margin-right:15px;}



body  .accordion-body .docs-block .docs_wrap {padding:0;border: 0;}
body  .accordion-body .docs-block .blocks .inner-wrapper a.arrow_link,
body  .accordion-body .docs-block .previewtext{display:none;}
body  .accordion-body .docs-block .blocks .inner-wrapper .title a{
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 16px;
letter-spacing: 0em;
text-align: left;
margin-bottom:4px;
}
.accordion-body .docs-block .blocks .inner-wrapper:before{
    top: 1px;
}
body .accordion-body .docs-block .blocks {
    padding-bottom: 0px;
    margin-top: 0;
    margin-bottom: 12px;
    border-bottom:1px solid #B9B9B9;
}
body .accordion-body .docs-block .blocks .inner-wrapper{
    padding-left:41px;
}
body .accordion-body .docs-block .item:last-child .blocks{
    border:0;
    margin-bottom:0;
}
body .accordion-body .docs-block{
    margin-bottom:-10px;
}

html body.with_decorate section.page-top.maxwidth-theme {
    padding: 48px 0 20px;
}
body .catalog.detail{border:0;}
.bx-breadcrumb .bx-breadcrumb-item a{color:#000;}
.bx-breadcrumb .bx-breadcrumb-item a span {font-family: Roboto;
font-size: 14px;
font-style: normal;
font-weight: 400;
line-height: 16px;
letter-spacing: 0em;
}
.fa-angle-right:before{content:"–";color:#000;}
body .bx-breadcrumb .bx-breadcrumb-item{margin-right:5px;}
body .bx-breadcrumb i{margin-right:0;}
body .compare a {color:#000;}
/* End */


/* Start:/local/components/skbpa/product.materials/templates/.default/style.css?17894204928475*/
/* skbpa:product.materials — «Топ материалов прибора».

   A horizontal resource strip that sits between the product hero and the detail
   tabs. Namespaced and self-contained: it renders inside the Aspro product
   template, not inside the .skbpa-docs shell, so it declares its own tokens
   rather than inheriting ones that are not in scope.

   SPACING SCALE
   Deliberately a small fixed set, so the block reads as designed rather than as
   a pile of one-off margins:
     4px   icon/text micro gap
     8px   grid gutter, label to sub-label
     14px  card inner padding (vertical), head to grid
     20px  card inner padding (horizontal)
     28px  block separation from what sits above and below
   These match the theme's own 20px rhythm rather than importing a foreign one. */

.skbpa-mat {
  --mat-accent: #e36d38;
  --mat-accent-deep: #b14819;
  --mat-ink: #211d19;
  --mat-ink-soft: #5c564d;
  --mat-ink-faint: #918a7d;
  --mat-line: #e7e2da;
  --mat-line-soft: #f0ece6;
  --mat-surface: #fff;

  margin: 28px 0;
  color: var(--mat-ink);
}

/* --- head ------------------------------------------------------------- */

/* Title only. space-between and the wrapping gap existed for the auxiliary
   links that used to sit on the right; with those gone they would just be
   leftovers that do nothing. */
.skbpa-mat__head {
  margin: 0 0 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--mat-line);
}

.skbpa-mat__title {
  margin: 0;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0;
  text-transform: none;
  color: var(--mat-ink);
}

/* --- grid -------------------------------------------------------------
   Fixed column counts rather than auto-fit. With auto-fit the last row
   stretches its one or two survivors across the full width, which makes a
   7-item block look broken; fixed columns keep every card the same size and
   simply leave the tail row short, which reads as intentional. */

.skbpa-mat__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

/* Column count follows the number of entries so the tail row is never a single
   stranded card. Real counts in this catalogue are 5, 6 and 7:
     7 -> 4 + 3      6 -> 3 + 3      5 -> 3 + 2
   A fixed 4-track grid would give 4+1 for a five-item product, which reads as a
   mistake rather than a layout. */
/* Scoped to the desktop range on purpose. An attribute selector out-specifies
   the plain .skbpa-mat__grid rules in the media queries below, so leaving this
   unscoped pinned six-item products to three columns even on a 390px phone. */
@media (min-width: 1200px) {
  .skbpa-mat[data-count="5"] .skbpa-mat__grid,
  .skbpa-mat[data-count="6"] .skbpa-mat__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.skbpa-mat__item {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 62px;
  padding: 14px 20px 14px 14px;
  border: 1px solid var(--mat-line);
  border-radius: 8px;
  background: var(--mat-surface);
  color: var(--mat-ink);
  text-decoration: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.skbpa-mat__item:hover,
.skbpa-mat__item:focus-visible {
  border-color: var(--mat-accent);
  box-shadow: 0 2px 12px rgba(179, 72, 25, .10);
  color: var(--mat-ink);
  text-decoration: none;
}

.skbpa-mat__item:focus-visible {
  outline: 2px solid var(--mat-accent);
  outline-offset: 2px;
}

.skbpa-mat__icon {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: #fdf1ea;
  color: var(--mat-accent-deep);
}

.skbpa-mat__icon svg { width: 18px; height: 18px; }

/* The two always-present support routes are quieter than the documents. They
   are on every product, so making them as loud as a register map would train
   the eye to skip the whole strip. */
.skbpa-mat__item--support .skbpa-mat__icon {
  background: #eef1f6;
  color: #46536b;
}

.skbpa-mat__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.skbpa-mat__label {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  /* Up to two lines. Software entries are now named by what the file actually
     is («Настройка MACX MCR-S-MUX в PACTware»), and on a single nowrap line the
     longest of them were ellipsised — cutting exactly the words that make two
     software cards tell each other apart. Uneven text height is harmless here:
     grid items stretch to the tallest in the row. */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.skbpa-mat__second {
  font-size: 12px;
  line-height: 1.35;
  color: var(--mat-ink-faint);
  /* Two lines, not one nowrap line with an ellipsis. A document name cut at
     the card edge («Описание регистров протокола M…») costs the reader the
     word that identifies it and gives nothing back: the card is a fixed grid
     cell either way, and the row already stretches to its tallest item. */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* --- responsive -------------------------------------------------------- */

@media (max-width: 1199px) {
  .skbpa-mat__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .skbpa-mat__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .skbpa-mat { margin: 22px 0; }
  .skbpa-mat__head { margin-bottom: 12px; }
  .skbpa-mat__title { font-size: 16px; }
  /* Two columns stay on phones: these are short labelled targets, not reading
     content, and one per row would make the strip taller than the hero. */
  .skbpa-mat__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .skbpa-mat__item {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    min-height: 0;
    padding: 12px;
  }
  .skbpa-mat__icon { width: 30px; height: 30px; }
  .skbpa-mat__label { white-space: normal; }
  .skbpa-mat__second { display: none; }
}

/* --- all connection schemes, in one window ------------------------------ */
/* A <dialog> rather than a new page: the reader is choosing a document, not
   navigating away from the product they are reading about. */

.skbpa-schemes {
  width: min(640px, calc(100vw - 32px));
  max-height: min(78vh, 720px);
  padding: 0;
  border: none;
  border-radius: 14px;
  box-shadow: 0 24px 60px rgba(33, 29, 25, .28);
  overflow: hidden;
}
.skbpa-schemes::backdrop { background: rgba(33, 29, 25, .45); }

.skbpa-schemes__head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 16px;
  padding: 18px 20px 14px;
  border-bottom: 1px solid var(--mat-line, #e6e8ec);
}
.skbpa-schemes__title { margin: 0; font-size: 17px; line-height: 1.3; }
.skbpa-schemes__sub { margin: 3px 0 0; font-size: 13px; color: var(--mat-ink-faint, #6b7280); }
.skbpa-schemes__close {
  flex-shrink: 0; width: 30px; height: 30px; border: none; border-radius: 8px;
  background: transparent; font-size: 22px; line-height: 1; color: var(--mat-ink-faint, #6b7280);
  cursor: pointer;
}
.skbpa-schemes__close:hover { background: #f2f4f7; }

.skbpa-schemes__list {
  margin: 0; padding: 6px 0; list-style: none;
  max-height: min(56vh, 460px); overflow-y: auto;
}
.skbpa-schemes__row {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  padding: 11px 20px;
}
.skbpa-schemes__row + .skbpa-schemes__row { border-top: 1px solid #f0f2f5; }
.skbpa-schemes__name { font-size: 14px; line-height: 1.4; }
.skbpa-schemes__open {
  flex-shrink: 0; font-size: 13px; font-weight: 600; white-space: nowrap;
}
.skbpa-schemes__note {
  margin: 0; padding: 12px 20px 16px; font-size: 12px;
  color: var(--mat-ink-faint, #6b7280); border-top: 1px solid var(--mat-line, #e6e8ec);
}

@media (max-width: 560px) {
  .skbpa-schemes__row { flex-direction: column; align-items: flex-start; gap: 5px; }
}

/* The theme decorates every <li> with a dash pseudo-element. Inside this
   dialog that dash is noise, and because it takes width in a space-between
   row it also pushed the scheme names off the left edge. */
.skbpa-schemes__list li::before,
.skbpa-schemes__list li::marker {
  content: none !important;
  display: none !important;
}
.skbpa-schemes__row { padding-left: 20px; }
.skbpa-schemes__name { flex: 1 1 auto; text-align: left; }

/* End */


/* Start:/local/components/skbpa/product.assistant/templates/.default/style.css?178942049211814*/
/* skbpa:product.assistant — «Онлайн-помощь».

   A compact support window, not a full-screen modal. On desktop it docks to the
   bottom-right in the shape people already read as "live help", leaving the
   product page visible behind it; on phones it takes the viewport because
   anything smaller is unusable with a keyboard open.

   Visual register is deliberately industrial-professional: one restrained
   accent, no gradients, no avatars, no "AI" glow. It should look like SKB
   technical support, not a consumer messenger. */

.skbpa-as {
  --as-accent: #e36d38;
  --as-accent-deep: #b14819;
  --as-ink: #211d19;
  --as-ink-soft: #5c564d;
  --as-ink-faint: #918a7d;
  --as-line: #e7e2da;
  --as-surface: #fff;
  --as-surface-2: #f7f5f2;
  --as-bot: #f4f2ef;

  position: fixed;
  inset: auto 24px 24px auto;
  width: 400px;
  max-width: calc(100vw - 32px);
  height: 560px;
  max-height: calc(100vh - 48px);
  margin: 0;
  padding: 0;
  border: 1px solid var(--as-line);
  border-radius: 12px;
  background: var(--as-surface);
  color: var(--as-ink);
  box-shadow: 0 18px 48px rgba(24, 20, 16, .20);
  overflow: hidden;

  /* NO display here. A bare `display: flex` on the element overrides the UA
     rule `dialog:not([open]) { display: none }`, so the panel rendered inline
     in the page even while closed — and at mobile widths, where it is
     inset:0, that invisible-but-present box covered the viewport and
     swallowed the very click meant to open it. Only [open] gets a display. */
  flex-direction: column;
  font-size: 14px;
  line-height: 1.5;
}

.skbpa-as[open] { display: flex; }

/* Barely-there backdrop: the point of a docked support window is that the page
   behind it stays readable — you are usually looking something up ON it. At .18
   the page was noticeably greyed out, which made the panel read as a blocking
   modal instead of a companion. */
.skbpa-as::backdrop { background: rgba(24, 20, 16, .06); }

/* --- head -------------------------------------------------------------- */

.skbpa-as__head {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 14px 14px 16px;
  border-bottom: 1px solid var(--as-line);
  background: var(--as-surface-2);
}

.skbpa-as__head-main {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
  flex: 1 1 auto;
}

.skbpa-as__mark {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 9px;
  background: #fdf1ea;
  color: var(--as-accent-deep);
}

.skbpa-as__mark svg { width: 19px; height: 19px; }

.skbpa-as__head-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.skbpa-as__title {
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.25;
}

/* The product name is the whole point of a contextual assistant — it says
   "I already know what you are looking at". */
.skbpa-as__subject {
  font-size: 12px;
  color: var(--as-ink-faint);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.skbpa-as__close {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--as-ink-faint);
  cursor: pointer;
}

.skbpa-as__close svg { width: 17px; height: 17px; }

.skbpa-as__close:hover,
.skbpa-as__close:focus-visible {
  background: rgba(0, 0, 0, .06);
  color: var(--as-ink);
}

/* --- body -------------------------------------------------------------- */

.skbpa-as__body {
  flex: 1 1 auto;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.skbpa-as__body:focus { outline: none; }
.skbpa-as__body:focus-visible { outline: 2px solid var(--as-accent); outline-offset: -2px; }

.skbpa-as__msg {
  max-width: 92%;
  padding: 11px 13px;
  border-radius: 10px;
  font-size: 13.5px;
}

.skbpa-as__msg p { margin: 0 0 7px; }
.skbpa-as__msg p:last-child { margin-bottom: 0; }

.skbpa-as__msg--bot {
  align-self: flex-start;
  background: var(--as-bot);
  border-bottom-left-radius: 3px;
}

.skbpa-as__msg--user {
  align-self: flex-end;
  background: #fdf1ea;
  border: 1px solid #f3ddd0;
  border-bottom-right-radius: 3px;
}

.skbpa-as__msg-note { color: var(--as-ink-soft); font-size: 12.5px; }

/* Labels a reply that is NOT a settled answer. Non-negotiable: a knowledge gap
   or a source conflict must be visibly a different kind of thing from an
   answer, or the visitor reads the surrounding prose as one anyway. A plain
   answer carries no badge — the sources under it are its credential. */
.skbpa-as__badge {
  display: inline-block;
  margin: 0 0 7px;
  padding: 2px 8px;
  border-radius: 999px;
  background: #eef1f6;
  color: #46536b;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .02em;
}

.skbpa-as__badge--gap { background: #f3efe6; color: #7a6432; }
.skbpa-as__badge--conflict { background: #fbeceb; color: #9a3b32; }
.skbpa-as__badge--clarify { background: #eaf1f5; color: #38596b; }

/* The clarifying question itself, set apart from the sentence that leads to
   it — it is the thing the visitor is being asked to act on. */
.skbpa-as__ask {
  margin-top: 8px;
  font-weight: 600;
}

/* --- sources ------------------------------------------------------------ */

.skbpa-as__sources {
  margin-top: 10px;
  padding-top: 9px;
  border-top: 1px solid var(--as-line);
}

.skbpa-as__sources-head {
  margin: 0 0 6px;
  font-size: 11.5px;
  color: var(--as-ink-faint);
}

/* ONE source, ONE card.
   The kind and the title used to sit side by side inside the chip — a small
   uppercase pill, then the document name — and read as two separate links to
   the same page. Stacked, they read as what they are: which kind of document,
   then which document. Both halves stay inside the single <a>, so the whole
   card is one click and the deep link is unchanged. */
.skbpa-as__sources .skbpa-as__chips {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* Scoped under .skbpa-as__sources on purpose: the base .skbpa-as__chip rule is
   declared LATER in this file, so at equal specificity it wins and the card
   went back to align-items:center — the label sat centred over a left-aligned
   title. Measured, not eyeballed. The action chips outside this block keep the
   base styling. */
.skbpa-as__sources .skbpa-as__chip--source {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  width: 100%;
  max-width: 100%;
  border-radius: 9px;
  padding: 8px 11px;
  font-size: 12.5px;
  line-height: 1.35;
  text-align: left;
}

.skbpa-as__sources .skbpa-as__chip-kind {
  /* Not uppercase any more: it now reads «Руководство по эксплуатации», and
     a whole line of capitals is a shout, not a label. */
  color: var(--as-ink-faint);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .02em;
}

.skbpa-as__sources .skbpa-as__chip-title {
  width: 100%;
  color: inherit;
  font-size: 12.5px;
  line-height: 1.35;
}

.skbpa-as__sources .skbpa-as__chip--source:hover .skbpa-as__chip-kind,
.skbpa-as__sources .skbpa-as__chip--source:focus-visible .skbpa-as__chip-kind {
  color: var(--as-accent-deep);
}

/* A product named in the answer is a link to its catalogue page. Underlined
   rather than coloured-only: inside a paragraph of technical prose, colour
   alone is easy to miss and impossible for some readers to see at all. */
.skbpa-as__product-link {
  color: var(--as-accent-deep);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
}

.skbpa-as__product-link:hover,
.skbpa-as__product-link:focus-visible {
  text-decoration-thickness: 2px;
}

/* --- pending ------------------------------------------------------------ */

/* Retrieval plus a verified answer takes a few seconds, and correctness is
   worth more than streaming here (§31) — so the wait needs to look deliberate
   rather than broken. */
.skbpa-as__typing {
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 14px 13px;
}

.skbpa-as__typing i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--as-ink-faint);
  animation: skbpa-as-pulse 1.1s ease-in-out infinite;
}

.skbpa-as__typing i:nth-child(2) { animation-delay: .18s; }
.skbpa-as__typing i:nth-child(3) { animation-delay: .36s; }

@keyframes skbpa-as-pulse {
  0%, 60%, 100% { opacity: .28; transform: translateY(0); }
  30% { opacity: .85; transform: translateY(-2px); }
}

@media (prefers-reduced-motion: reduce) {
  .skbpa-as__typing i { animation: none; opacity: .5; }
}

.skbpa-as__input:disabled,
.skbpa-as__send:disabled {
  opacity: .55;
  cursor: default;
}

.skbpa-as__send:disabled:hover { background: var(--as-accent); }

/* --- quick actions ------------------------------------------------------ */

.skbpa-as__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.skbpa-as__chips--inline { margin-top: 9px; }

.skbpa-as__chip {
  display: inline-flex;
  align-items: center;
  padding: 7px 12px;
  border: 1px solid var(--as-line);
  border-radius: 999px;
  background: var(--as-surface);
  color: var(--as-ink);
  font-size: 13px;
  line-height: 1.25;
  text-decoration: none;
  transition: border-color .15s ease, background .15s ease;
}

.skbpa-as__chip:hover,
.skbpa-as__chip:focus-visible {
  border-color: var(--as-accent);
  background: #fdf6f2;
  color: var(--as-accent-deep);
  text-decoration: none;
}

.skbpa-as__chip:focus-visible {
  outline: 2px solid var(--as-accent);
  outline-offset: 2px;
}

/* --- input -------------------------------------------------------------- */

.skbpa-as__form {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 12px 10px;
  border-top: 1px solid var(--as-line);
  background: var(--as-surface);
}

.skbpa-as__input {
  flex: 1 1 auto;
  min-width: 0;
  height: 38px;
  padding: 0 12px;
  border: 1px solid var(--as-line);
  border-radius: 999px;
  background: var(--as-surface-2);
  color: var(--as-ink);
  font-size: 13.5px;
}

.skbpa-as__input:focus {
  outline: none;
  border-color: var(--as-accent);
  background: var(--as-surface);
}

.skbpa-as__send {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--as-accent);
  color: #fff;
  cursor: pointer;
}

.skbpa-as__send svg { width: 17px; height: 17px; }
.skbpa-as__send:hover { background: var(--as-accent-deep); }
.skbpa-as__send:focus-visible { outline: 2px solid var(--as-accent-deep); outline-offset: 2px; }

.skbpa-as__disclaimer {
  flex: 0 0 auto;
  margin: 0;
  padding: 0 14px 11px;
  font-size: 11px;
  line-height: 1.35;
  color: var(--as-ink-faint);
  background: var(--as-surface);
}

.skbpa-as__sr {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* --- mobile ------------------------------------------------------------- */

@media (max-width: 600px) {
  .skbpa-as {
    inset: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    border: 0;
    border-radius: 0;
    /* dvh keeps the input reachable when the on-screen keyboard appears; the
       vh fallback above matters for browsers without it. */
    height: 100dvh;
    max-height: 100dvh;
  }
  .skbpa-as__msg { max-width: 100%; }
}

/* Cloudflare challenge, shown inline in the conversation only when the server
   asks for one. Centred so it does not read as part of an answer. */
.skbpa-as__turnstile {
    display: flex;
    justify-content: center;
    padding: 8px 0;
}

/* End */
/* /local/templates/aspro-priority_2021/components/bitrix/news/catalog/style.css?1673819740450 */
/* /bitrix/components/bitrix/breadcrumb/templates/.default/style.css?1673819705585 */
/* /local/templates/aspro-priority_2021/components/bitrix/news.detail/catalog/style.css?17896002568022 */
/* /local/components/skbpa/product.materials/templates/.default/style.css?17894204928475 */
/* /local/components/skbpa/product.assistant/templates/.default/style.css?178942049211814 */
