/* Storefront navigation, catalogue and purchase controls. */
.nav-trigger {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .7rem .8rem;
  border: 0;
  border-radius: .8rem;
  background: transparent;
  color: #e9fff2;
  font: inherit;
  font-size: .9rem;
  font-weight: 700;
  cursor: pointer;
}
.nav-trigger::after { content: ''; width: 7px; height: 7px; border-right: 2px solid; border-bottom: 2px solid; transform: rotate(45deg) translateY(-2px); }
.nav-trigger[aria-expanded="true"]::after { transform: rotate(225deg) translate(-2px, -1px); }
.nav-trigger:hover, .nav-trigger[aria-expanded="true"] { background: rgba(201,255,226,.14); }
.nav-menu .menu-has-children > ul[hidden], #mobile-nav ul[hidden] { display: none !important; }
.nav-menu .menu-has-children > ul:not([hidden]) { display: block; }
.nav-trigger:focus-visible, .catalog-shortcuts a:focus-visible, .home-services a:focus-visible,
.purchase-actions a:focus-visible, .bot-configurator summary:focus-visible, .product-tech summary:focus-visible,
.mobile-nav__close:focus-visible, #mobile-nav-toggle:focus-visible, #mobile-nav a:focus-visible {
  outline: 3px solid #218f6b;
  outline-offset: 4px;
}
#mobile-nav { color: #edfdf5; border: 0; border-radius: 0 16px 16px 0; }
#mobile-nav:not([open]) { display: none; }
#mobile-nav[open] {
  position: fixed;
  inset: 0 auto 0 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  width: min(360px, 90vw);
  max-width: 100vw;
  height: 100dvh;
  max-height: 100dvh;
  padding: 1rem;
  background: #083d2e;
  transform: none;
  overflow-y: auto;
  overscroll-behavior: contain;
}
#mobile-nav::backdrop { background: rgba(3,17,14,.64); }
.mobile-nav__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; font-size: 1.1rem; font-weight: 700; }
.mobile-nav__close { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex-shrink: 0; border: 1px solid #729b8a; border-radius: 12px; color: #fff; background: transparent; cursor: pointer; }
#mobile-nav .mobile-nav__list { padding: 0; margin: 0; list-style: none; }
#mobile-nav .nav-trigger { width: 100%; justify-content: space-between; padding: .9rem; font-size: 1rem; }
#mobile-nav .menu-has-children > ul:not([hidden]) { display: block; margin: .2rem 0 .7rem; padding: .25rem .5rem; list-style: none; background: #062e23; border-radius: 12px; }
#mobile-nav li > a { display: block; padding: .8rem .9rem; color: #e6faef; text-decoration: none; border-radius: 10px; }
#mobile-nav li > a:hover { background: #145841; }
#mobile-nav a:focus-visible, #mobile-nav button:focus-visible { outline-color: #9affc8; }
.has-consent-banner #vk_community_messages, .mobile-nav-active #vk_community_messages { display: none !important; }
.has-consent-banner .back-to-top { visibility: hidden; }

.catalog-intro { padding-top: 2.3rem; padding-bottom: 1rem; text-align: center; }
.catalog-intro h1 { margin: 0 auto .8rem; max-width: 850px; font-family: Montserrat, sans-serif; font-size: clamp(1.8rem, 3.4vw, 2.75rem); line-height: 1.18; font-weight: 700; letter-spacing: -.025em; color: #102620; text-wrap: balance; }
.catalog-intro > p { max-width: 680px; margin: 0 auto; line-height: 1.65; color: #425950; }
.catalog-shortcuts { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin-top: 1.4rem; }
.catalog-shortcuts a { padding: .65rem 1rem; border: 1px solid #87a596; border-radius: 999px; color: #164f3b; font-weight: 700; font-size: .9rem; text-decoration: none; }
.catalog-shortcuts a:hover { background: #d9efe3; }
.catalog-section .section-header { padding-bottom: 0; }
.catalog-section .section-title { font-size: clamp(1.5rem, 2.5vw, 2rem); }
.catalog-section .section-description { margin-bottom: 0; padding-bottom: 0; }
.products-row--showcase .product-card__body {
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "title title" "description description" "price action" "note note";
  gap: .65rem 1rem;
}
.products-row--showcase .product-card__eyebrow { display: none; }
.product-card__price { grid-area: price; display: block; margin-top: .35rem; color: #f5fff9; font-weight: 700; font-size: 1.5rem; line-height: 1.25; }
.product-card__price-note { grid-area: note; display: block; color: #cbe8d8; font-size: .8rem; line-height: 1.5; }
.products-row--showcase .product-card__cta { margin-top: .35rem; }
.home-services { display: grid; grid-template-columns: 1.1fr 1fr; align-items: start; gap: 3rem; padding: 2.25rem; background: #fff; border-radius: 16px; }
.home-services h2 { margin: 0 0 1rem; font-family: Montserrat, sans-serif; font-size: clamp(1.5rem, 2.4vw, 2rem); line-height: 1.25; font-weight: 700; color: #102620; text-wrap: balance; }
.home-services p { max-width: 58ch; margin: 0 0 1.5rem; line-height: 1.65; color: #425950; }
.home-services nav { display: grid; }
.home-services nav a { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid #d9e5de; font-weight: 600; color: #164f3b; text-decoration: none; }
.home-services nav a:first-child { padding-top: .2rem; }
.home-services nav a:hover { color: #0b7851; }

.bot-purchase-panel .lsp-buy-panel__title { font-size: clamp(1.65rem, 2.5vw, 2.15rem); line-height: 1.2; text-wrap: balance; }
.bot-purchase-panel .lsp-buy-panel__lead { margin-bottom: 1.1rem; font-size: 1rem; line-height: 1.6; }
.bot-purchase-panel .lsp-buy-panel__price-row { margin: 0 0 .7rem; }
.purchase-included { font-size: .9rem; color: #385648; line-height: 1.55; margin: 0 0 1rem; }
.purchase-actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.purchase-actions .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .75rem .95rem; font-size: .9rem; text-decoration: none; }
.purchase-demo { color: #175b40; background: #e5f1e9; border: 1px solid #7fa991; }
.purchase-demo:hover { color: #103f2d; background: #d2e8db; }
.purchase-note { margin: .8rem 0; font-size: .84rem; line-height: 1.55; color: #405b4e; }
.purchase-note a, .lsp-field-help a, .product-tech a { color: #145b3d; text-decoration: underline; text-underline-offset: 3px; }
.bot-configurator, .product-tech { margin-top: 1rem; border-top: 1px solid #b7d0c2; }
.bot-configurator summary, .product-tech summary { padding: 1rem 0; color: #194d37; font-weight: 700; line-height: 1.5; cursor: pointer; }
.bot-configurator__body { padding-bottom: .25rem; }
.bot-configurator fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.bot-configurator legend { margin-bottom: .6rem; font-size: .9rem; color: #405b4e; }
.bot-configurator__option { display: grid; grid-template-columns: 20px 1fr auto; gap: .6rem; align-items: start; margin: 0; padding: .65rem 0; cursor: pointer; color: #213f31; font-size: .9rem; line-height: 1.5; }
.bot-configurator__option input { width: 18px; height: 18px; margin: .15rem 0 0; accent-color: #13794f; }
.bot-configurator__option strong { white-space: nowrap; font-weight: 700; }
.bot-configurator__total { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: baseline; gap: .6rem; margin: .6rem 0 1rem; padding: 1rem 0; border-top: 1px solid #b7d0c2; color: #234531; }
.bot-configurator__total output { font-size: 1.5rem; font-weight: 700; white-space: nowrap; }
.bot-configurator__request-label { display: block; margin-bottom: .5rem; font-size: .9rem; font-weight: 600; color: #213f31; }
.bot-configurator textarea { display: block; width: 100%; min-height: 145px; margin: 0 0 .8rem; padding: .75rem; border: 1px solid #83a28e; border-radius: 10px; color: #213f31; background: #fff; font: inherit; font-size: .85rem; line-height: 1.6; resize: vertical; }
.bot-configurator textarea:focus, .lsp-buy-panel__field input:focus { outline: 2px solid #1d8057; outline-offset: 2px; }
.bot-configurator__status { margin: .65rem 0 0; font-size: .85rem; color: #175c3e; line-height: 1.5; }
.bot-configurator__status:empty { display: none; }
.product-tech > p { margin: 0 0 1rem; font-size: .88rem; line-height: 1.65; color: #385648; }
.lsp-buy-panel__field > label { display: block; margin-bottom: .45rem; font-size: .9rem; font-weight: 700; color: #244633; }
.lsp-field-help { margin: .5rem 0 0; color: #405b4e; font-size: .83rem; line-height: 1.5; }
.lsp-field-error { margin: .5rem 0 0; color: #a02020; font-size: .85rem; line-height: 1.5; }
.lsp-field-error:empty { display: none; }
.lsp-buy-panel__field input[aria-invalid="true"] { border-color: #a02020; }
.purchase-license-note { margin: 1rem 0; color: #385648; font-size: .84rem; line-height: 1.6; }
.btn[aria-busy="true"] { cursor: wait; opacity: .75; }
.lsp-buy-panel .purchase-included, .lsp-buy-panel .purchase-note,
.lsp-buy-panel .purchase-license-note, .lsp-buy-panel .lsp-field-help,
.lsp-buy-panel .product-tech > p, .lsp-buy-panel .bot-configurator legend { color: #cbe0d5; }
.lsp-buy-panel .product-tech summary, .lsp-buy-panel .bot-configurator summary,
.lsp-buy-panel .bot-configurator__option, .lsp-buy-panel .bot-configurator__total,
.lsp-buy-panel .bot-configurator__request-label, .lsp-buy-panel__field > label { color: #f0fff7; }
.lsp-buy-panel .purchase-note a, .lsp-buy-panel .purchase-license-note a,
.lsp-buy-panel .product-tech a, .lsp-buy-panel .bot-configurator__status { color: #b6ffcf; }
.purchase-license-note a { text-decoration: underline; text-underline-offset: 3px; }
.lsp-buy-panel .lsp-field-error { color: #ffb9b9; }
.lsp-buy-panel .product-tech, .lsp-buy-panel .bot-configurator,
.lsp-buy-panel .bot-configurator__total { border-color: #567667; }
.field-optional { color: #cbe0d5; font-weight: 400; }
/* Product rows follow their content; supporting facts have their own row. */
.lsp-hero-shell:not(.autodonat-hero) > .row { align-items: flex-start; }
.lsp-hero-shell .lsp-buy-panel, .lsp-hero-shell .lsp-showcase-card { min-height: 0; }
.lsp-hero-stack { display: grid; gap: 1.25rem; }
.license-showcase--compact { height: auto; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: start; gap: 1.5rem; }
.license-showcase__identity, .license-showcase__details { display: grid; align-content: start; gap: .8rem; min-width: 0; }
.license-showcase--compact .license-showcase__topline { flex-wrap: wrap; gap: .5rem; }
.license-showcase--compact .license-showcase__text { margin: 0; }
.license-showcase--compact .license-showcase__meta { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.license-showcase--compact .license-showcase__meta-item { min-width: 0; }
.license-showcase--compact .license-showcase__meta-item--version span { color: #d6ffea; }
.lsp-info-shell > .license-showcase--compact { margin-bottom: 1.25rem; }
.product-facts { margin-top: 1.25rem; }
.product-facts--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.product-facts--6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bot-options-panel { margin-top: 1.25rem; }
.bot-options-panel .bot-configurator { margin: 0; border: 0; }
.bot-options-panel .bot-configurator summary { padding: .2rem 0; }
.bot-options-panel .bot-configurator[open] summary { padding-bottom: 1.1rem; }
@media (min-width: 992px) {
  #lsp .lsp-hero-shell > .row { align-items: stretch; }
  #lsp_action { height: 100%; justify-content: space-between; }
  #lsp .lsp-hero-stack { height: 100%; grid-template-rows: minmax(min-content, 1fr) auto; }
  #lsp .lsp-hero-stack > .lsp-showcase-card { min-height: 0; }
  #lsp .lsp-showcase-card__media--terminal { display: flex; flex: 1 0 auto; }
  #lsp .lsp-showcase-card__media--terminal .slider { display: flex; flex-direction: column; width: 100%; }
  #lsp .lsp-showcase-card__media--terminal .slider__wrapper { flex: 1 0 auto; }
  #lsp .lsp-showcase-card__media--terminal .slider article img { height: 100%; object-fit: contain; }
  .bot-module-section > .row { align-items: center !important; }
  .bot-options-panel .bot-configurator fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2rem; }
  .bot-options-panel .bot-configurator legend { grid-column: 1 / -1; }
}
@media (max-width: 991px) {
  .product-facts--4, .product-facts--6 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .lsp-hero-shell:not(.autodonat-hero) > .row > .col-lg-5,
  .lsp-hero-shell:not(.autodonat-hero) > .row > .col-lg-7 { flex-basis: 50%; max-width: 50%; }
  .bot-module-section > .row { display: grid; grid-template-columns: minmax(0, 1fr); }
  .lsp-hero-shell.bot-module-section > .row > .col-lg-5,
  .lsp-hero-shell.bot-module-section > .row > .col-lg-7 { width: 100%; max-width: 100%; }
}
@media (max-width: 767px) {
  .catalog-intro { padding-top: 1.5rem; }
  .catalog-shortcuts { gap: .5rem; }
  .catalog-shortcuts a { font-size: .82rem; padding: .65rem .8rem; }
  .home-services { grid-template-columns: 1fr; gap: 1.5rem; padding: 1.4rem; }
  .home-services .btn { white-space: normal; }
  .bot-purchase-panel { padding: 1.3rem; }
  .bot-purchase-panel .lsp-buy-panel__title { font-size: 1.65rem; }
  .purchase-actions .btn { flex: 1 1 145px; }
  .product-card__price { font-size: 1.35rem; }
  .license-showcase--compact { grid-template-columns: 1fr; gap: 1rem; }
  .license-showcase--compact .license-showcase__meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-facts--4, .product-facts--6 { grid-template-columns: 1fr; }
  #consent-banner .consent-text { min-width: 0; }
  #consent-banner .consent-inner { padding: 14px; gap: 12px; }
  #consent-banner .consent-actions { width: 100%; }
  #consent-banner .consent-actions button { flex: 1 1 auto; min-height: 44px; padding: 10px 12px; }
}
@media (max-width: 360px) {
  .products-row--showcase .product-card__body { grid-template-columns: 1fr; grid-template-areas: "title" "description" "price" "note" "action"; }
  .bot-configurator__option { grid-template-columns: 20px 1fr; }
  .bot-configurator__option strong { grid-column: 2; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  #mobile-nav { transition: none; }
}
