/*
 * МДЛ Цибалаб — визуална тема.
 * Структурата и компонентите следват концепцията (lis-web-site/src/conecpt, Tabler 1.4).
 * Цветовете следват бранда на оригиналния сайт: червеното от логото (#E31E24).
 */
:root,
[data-bs-theme="light"] {
  --brand-primary: #e31e24;
  --brand-primary-rgb: 227, 30, 36;
  --brand-primary-dark: #b8151a;
  --brand-soft: #fdf1f1;
  --brand-soft-2: #fbe4e5;
  --brand-ink: #2a2e35;
  --brand-ink-rgb: 38, 24, 26;
  --brand-surface-alt: #faf7f7;

  /* Tabler theme: primary = brand red */
  --tblr-primary: var(--brand-primary);
  --tblr-primary-rgb: var(--brand-primary-rgb);
  --tblr-primary-fg: #fff;
  --tblr-primary-darken: #cc1b20;
  --tblr-primary-lt: #fce9ea;
  --tblr-primary-lt-rgb: 252, 233, 234;
  --tblr-primary-text-emphasis: #5b0c0e;
  --tblr-primary-bg-subtle: #f9d2d3;
  --tblr-primary-border-subtle: #f4a5a7;
  --tblr-link-color: var(--brand-primary);
  --tblr-link-color-rgb: var(--brand-primary-rgb);
  --tblr-link-hover-color: var(--brand-primary-dark);
  --tblr-link-hover-color-rgb: 184, 21, 26;
  --tblr-focus-ring-color: rgba(var(--brand-primary-rgb), .25);
}


html { min-width: 320px; }
body { background: #fff; }

.site-header {
  min-height: 76px;
  background: #fff;
  border-bottom: 1px solid var(--tblr-border-color);
  box-shadow: 0 1px 3px rgba(24, 36, 51, .04);
}

.navbar-brand { padding: .8rem 0; }
.navbar-brand img { display: block; width: 205px; height: auto; }
.navbar-nav { gap: .2rem; }
.navbar .nav-link {
  position: relative;
  min-height: 75px;
  padding: 0 .85rem;
  display: flex;
  align-items: center;
  gap: .45rem;
  color: #626b7a;
  font-size: .95rem;
  white-space: nowrap;
}
.navbar .nav-link:hover,
.navbar .nav-item.active > .nav-link { color: var(--brand-primary); }
.nav-link-icon { margin: 0 !important; font-size: 1.3rem; }
.product-menu-toggle { border: 0; background: transparent; }
.resources-menu-toggle { border: 0; background: transparent; }
.submenu-caret { margin-left: -.15rem; font-size: .9rem; transition: transform .15s ease; }
.product-menu-toggle[aria-expanded="true"] .submenu-caret { transform: rotate(180deg); }
.product-menu-item { position: relative; }
.resources-menu-item { position: relative; }
.product-dropdown { top: calc(100% - 1px); left: 50%; width: 460px; padding: .65rem; transform: translateX(-50%); }
.product-menu-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 .5rem; }
.product-menu-column { min-width: 0; }
.product-dropdown .dropdown-item { display: flex; align-items: center; gap: .55rem; margin: 0; padding: .45rem .55rem; border-radius: var(--tblr-border-radius); font-size: .9rem; line-height: 1.25; }
.product-item-icon { flex: 0 0 auto; color: #7a8392; font-size: 1.1rem; }
.product-dropdown .dropdown-item.active { color: var(--brand-primary); background: rgba(var(--brand-primary-rgb), .08); }
.product-dropdown .dropdown-item.active .product-item-icon { color: inherit; }
.resources-dropdown { top: calc(100% - 1px); left: 50%; width: 260px; padding: .65rem; transform: translateX(-50%); }
.resources-dropdown .dropdown-item { display: flex; align-items: center; gap: .55rem; margin: 0; padding: .5rem .6rem; border-radius: var(--tblr-border-radius); font-size: .9rem; line-height: 1.25; }
.resources-dropdown .dropdown-item.active { color: var(--brand-primary); background: rgba(var(--brand-primary-rgb), .08); }
.resources-dropdown .dropdown-item.active .product-item-icon { color: inherit; }
.page-body { margin-top: 3rem; }
.cms-content { padding-bottom: 4rem; }
.cms-content > :first-child { margin-top: 0; }
.cms-content h1 { margin-bottom: 1.5rem; font-size: 2rem; line-height: 1.2; }
.cms-content p { max-width: 760px; color: var(--tblr-secondary-color); font-size: 1rem; line-height: 1.7; }
.home-intro { padding-bottom: 0; }
.hero-demo-section { margin-top: 2rem; }
.recent-posts-section { margin: 3rem 0 4rem; }
.recent-posts-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.recent-posts-header h2 { margin: 0; font-size: 1.5rem; }
.recent-posts-header > a { display: inline-flex; align-items: center; gap: .3rem; flex: 0 0 auto; text-decoration: none; }
.recent-posts-grid { align-items: stretch; }
.recent-post-card { overflow: hidden; }
.recent-post-card .card-body { display: flex; flex-direction: column; }
.recent-post-date { display: flex; align-items: center; gap: .35rem; margin-bottom: .8rem; font-size: .8rem; }
.recent-post-title { margin: 0 0 .75rem; font-size: 1.2rem; line-height: 1.35; }
.recent-post-title a { color: var(--tblr-body-color); text-decoration: none; }
.recent-post-title a:hover { color: var(--brand-primary); }
.cms-content .recent-post-excerpt { max-width: none; margin: 0; font-size: .9rem; line-height: 1.6; }
.recent-post-card .card-footer { padding-top: .8rem; padding-bottom: .8rem; background: transparent; }
.recent-post-link { display: inline-flex; align-items: center; gap: .3rem; font-size: .875rem; font-weight: 500; text-decoration: none; }
.site-footer { margin-top: auto; border-top: 1px solid var(--tblr-border-color); background: var(--tblr-bg-surface-secondary, #f6f8fb); }
.site-footer-inner { padding-top: 2rem; padding-bottom: 1rem; }
.site-footer-grid { display: grid; grid-template-columns: minmax(280px, 2fr) repeat(2, minmax(150px, 1fr)); gap: clamp(2rem, 6vw, 5rem); padding-bottom: 1.75rem; }
.site-footer-brand { max-width: 420px; }
.site-footer-logo { display: inline-block; }
.site-footer-logo img { display: block; width: 180px; height: auto; }
.site-footer-brand p { max-width: 390px; margin: 1rem 0 0; color: var(--tblr-secondary-color); font-size: .9rem; line-height: 1.65; }
.site-footer-nav h2 { margin: 0 0 1rem; color: var(--tblr-secondary-color); font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.site-footer-nav ul { display: grid; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.site-footer-nav a { color: var(--tblr-body-color); font-size: .9rem; text-decoration: none; }
.site-footer-nav a:hover { color: var(--brand-primary); }
.site-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: .9rem; border-top: 1px solid var(--tblr-border-color); }
.site-footer-bottom p { margin: 0; color: var(--tblr-secondary-color); font-size: .8rem; }
.site-footer-bottom p:last-child { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; }
.site-footer-bottom a { color: inherit; }
.hero-component { position: relative; width: 100%; overflow: hidden; border: 1px solid var(--tblr-border-color); border-radius: var(--tblr-border-radius-lg); background: var(--brand-soft); box-shadow: var(--tblr-box-shadow-card); }
.hero-carousel-slides { position: relative; }
.hero-carousel-slides,
.hero-slide { height: var(--hero-height, 560px); }
.hero-slide { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .92fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); padding: clamp(2.25rem, 5vw, 5rem); overflow: hidden; background: var(--hero-background-color, transparent); }
.hero-slide[hidden] { display: none; }
.hero-image-left .hero-content { order: 2; }
.hero-image-left .hero-media { order: 1; }
.hero-no-media { grid-template-columns: 1fr; }
.hero-content { position: relative; z-index: 2; max-width: 660px; }
.hero-content h2 { margin: 0; color: var(--brand-ink); font-size: clamp(2.25rem, 4.2vw, 4.25rem); font-weight: 700; letter-spacing: -.035em; line-height: 1.08; text-wrap: balance; }
.hero-content p { max-width: 650px; margin: 1.35rem 0 0; color: #5a6879; font-size: clamp(1rem, 1.35vw, 1.25rem); line-height: 1.65; }
.hero-content .hero-note { display: flex; align-items: center; gap: .4rem; margin-top: .75rem; color: var(--tblr-secondary-color); font-size: .875rem; line-height: 1.45; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.hero-actions .btn { min-width: 9.5rem; }
.hero-media { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; min-width: 0; }
.hero-media img { display: block; width: min(100%, 620px); height: auto; max-height: 430px; object-fit: contain; filter: drop-shadow(0 20px 30px rgba(16, 45, 77, .13)); }
.hero-compact .hero-slide { gap: 2rem; padding: 2rem 3rem; }
.hero-compact .hero-content h2 { font-size: clamp(2rem, 3.4vw, 3.25rem); }
.hero-compact .hero-content p { margin-top: 1rem; font-size: 1rem; line-height: 1.55; }
.hero-compact .hero-content .hero-note { margin-top: .55rem; font-size: .8rem; }
.hero-compact .hero-actions { margin-top: 1.25rem; }
.hero-compact .hero-media img { max-height: 310px; }
.hero-background { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-overlay { display: none; }
.hero-has-background-image { color: #fff; }
.hero-has-background-image .hero-overlay { position: absolute; z-index: -1; inset: 0; display: block; background: linear-gradient(90deg, rgba(var(--brand-ink-rgb), .88) 0%, rgba(var(--brand-ink-rgb), .7) 48%, rgba(var(--brand-ink-rgb), .25) 100%); }
.hero-has-background-image.hero-align-center .hero-overlay { background: rgba(var(--brand-ink-rgb), .68); }
.hero-has-background-image .hero-content h2 { color: #fff; }
.hero-has-background-image .hero-content p { color: rgba(255, 255, 255, .86); }
.hero-has-background-image .btn-primary { border-color: #fff; background: #fff; color: var(--brand-primary); }
.hero-has-background-image .btn-primary:hover { border-color: var(--brand-soft); background: var(--brand-soft); color: var(--brand-primary); }
.hero-has-background-image .btn-outline-primary { border-color: rgba(255, 255, 255, .75); color: #fff; }
.hero-has-background-image .btn-outline-primary:hover { border-color: #fff; background: rgba(255, 255, 255, .12); color: #fff; }
.hero-align-center { text-align: center; }
.hero-align-center .hero-content { justify-self: center; max-width: 880px; }
.hero-align-center .hero-content p { margin-right: auto; margin-left: auto; }
.hero-align-center .hero-actions { justify-content: center; }
.hero-carousel-indicators { position: absolute; z-index: 4; right: 0; bottom: 1.5rem; left: 0; display: flex; justify-content: center; gap: .55rem; padding: 0 1rem; }
.hero-carousel-toggle { position: absolute; z-index: 5; top: 1rem; right: 1rem; display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; padding: 0; border: 1px solid rgba(31, 42, 55, .14); border-radius: 50%; color: var(--tblr-secondary-color); background: rgba(255, 255, 255, .78); box-shadow: none; backdrop-filter: blur(6px); }
.hero-carousel-toggle:hover { color: var(--brand-primary); background: #fff; }
.hero-carousel-on-background .hero-carousel-toggle { border-color: rgba(255, 255, 255, .45); color: #fff; background: rgba(0, 0, 0, .25); }
.hero-carousel-on-background .hero-carousel-toggle:hover { background: rgba(0, 0, 0, .4); }
.hero-carousel-indicators button { width: 3.25rem; height: .25rem; padding: 0; border: 0; border-radius: 1rem; background: rgba(25, 42, 61, .3); box-shadow: none; transition: width .18s ease, background-color .18s ease; }
.hero-carousel-indicators button:hover { background: rgba(var(--brand-primary-rgb), .58); }
.hero-carousel-indicators button.active { width: 4rem; background: var(--brand-primary); }
.hero-carousel-on-background .hero-carousel-indicators button { background: rgba(255, 255, 255, .42); }
.hero-carousel-on-background .hero-carousel-indicators button:hover,
.hero-carousel-on-background .hero-carousel-indicators button.active { background: #fff; }
.hero-carousel-indicators button:focus { box-shadow: none; }
.hero-carousel-indicators button:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.hero-carousel:focus-visible { outline: 3px solid rgba(var(--brand-primary-rgb), .35); outline-offset: 3px; }
.component-section { margin-top: 2.5rem; }
.support-page-header { margin-bottom: 2rem; }
.support-page-header h1 { margin-bottom: .5rem; }
.cms-content .support-page-header p { margin: 0; }
.support-options { margin-top: 2.5rem; }
.support-options .component-card-body { min-height: 120px; }
.support-options .component-card-footer { padding-top: .65rem; padding-bottom: .65rem; }
.location-page-header { margin-bottom: 2rem; }
.location-page-header h1 { margin-bottom: .5rem; }
.cms-content .location-page-header p { margin: 0; }
.location-map-frame { position: relative; overflow: hidden; border: 1px solid var(--tblr-border-color); border-radius: var(--tblr-border-radius-lg); background: var(--tblr-tertiary-bg); }
.location-map-canvas { width: 100%; height: var(--location-map-height, 480px); }
.location-map-status { position: absolute; z-index: 2; inset: 0; display: flex; align-items: center; justify-content: center; gap: .6rem; padding: 1rem; color: var(--tblr-secondary-color); background: rgba(255, 255, 255, .82); }
.location-map-error { color: var(--tblr-danger); background: rgba(255, 255, 255, .92); }
.location-groups { margin-top: 2.5rem; }
.location-group + .location-group { margin-top: 2.75rem; }
.location-group > h2 { margin: 0 0 1.1rem; font-size: 1.25rem; }
.location-group .component-card-body { min-height: 138px; }
.location-address { display: grid; gap: .2rem; margin: 0; color: var(--tblr-body-color); font-size: .9rem; font-style: normal; line-height: 1.45; }
.location-phone { display: inline-flex; align-items: center; gap: .35rem; width: fit-content; color: var(--tblr-body-color); text-decoration: none; }
.location-phone:first-of-type { margin-top: .45rem; }
.location-phone:hover { color: var(--brand-primary); }
.location-info-window { min-width: 190px; color: #1f2d3d; font-size: .85rem; line-height: 1.45; }
.location-info-window strong { display: block; margin-bottom: .35rem; font-size: .95rem; }
.product-index-page-header { margin-bottom: 2rem; }
.product-index-page-header h1 { margin-bottom: .5rem; }
.cms-content .product-index-page-header p { margin: 0; }
.product-index-component { min-width: 0; }
.product-index-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 1rem; margin-bottom: 1rem; }
.product-index-heading h2 { margin: 0; font-size: 1.35rem; }
.product-index-heading > span { font-size: .85rem; }
.product-index-status { display: flex; align-items: center; gap: .55rem; min-height: 80px; padding: 1rem; color: var(--tblr-secondary-color); border: 1px solid var(--tblr-border-color); border-radius: var(--tblr-border-radius-lg); }
.product-index-error { color: var(--tblr-danger); }
.product-index-navigation { display: grid; gap: .5rem; margin-bottom: 2.5rem; }
.product-index-alphabet { min-width: 0; overflow: hidden; border: 1px solid var(--tblr-border-color); border-radius: var(--tblr-border-radius); background: #fff; }
.product-index-letter-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(42px, 1fr)); }
.product-index-letter { display: flex; align-items: center; justify-content: center; min-width: 42px; min-height: 46px; padding: .45rem .25rem; border-right: 1px solid var(--tblr-border-color); color: var(--tblr-body-color); background: #fff; text-decoration: none; font-size: 1rem; font-weight: 500; }
.product-index-letter:last-child { border-right: 0; }
.product-index-letter:hover { color: #fff; background: var(--brand-primary); }
.product-index-letter:focus-visible { position: relative; z-index: 1; outline: 2px solid var(--brand-primary); outline-offset: -2px; }
.product-index-letter.disabled { color: var(--tblr-disabled-color, #a9b0bb); background: var(--tblr-tertiary-bg); cursor: default; }
.product-index-groups[data-flow="row"] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 3rem; align-items: start; }
.product-index-groups[data-flow="column"] { columns: 3 290px; column-gap: 3rem; }
.product-index-group { break-inside: avoid; margin: 0 0 2rem; scroll-margin-top: 1.5rem; }
.product-index-group h3 { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0 0 .55rem; padding-bottom: .25rem; border-bottom: 2px solid rgba(var(--brand-primary-rgb), .18); color: var(--brand-primary); font-size: 1.35rem; }
.product-index-back-to-top { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; margin: -.35rem -.35rem -.15rem 0; border-radius: var(--tblr-border-radius); color: var(--tblr-secondary-color); text-decoration: none; font-size: 1.05rem; }
.product-index-back-to-top:hover { color: var(--brand-primary); background: var(--tblr-active-bg); }
.product-index-back-to-top:focus-visible { outline: 2px solid rgba(var(--brand-primary-rgb), .45); outline-offset: 1px; }
.product-index-group ul { margin: 0; padding: 0; list-style: none; }
.product-index-item { display: flex; align-items: flex-start; justify-content: space-between; gap: .65rem; min-height: 38px; padding: .25rem 0; line-height: 1.35; }
.product-index-item + .product-index-item { border-top: 1px solid rgba(98, 105, 118, .1); }
.product-index-item-name { flex: 1 1 auto; min-width: 0; padding-top: .225rem; }
.product-index-item-meta { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: flex-end; gap: .1rem; min-height: 1.8rem; }
.product-index-action,
.product-index-indicator { display: inline-flex; align-items: center; justify-content: center; width: 1.8rem; height: 1.8rem; padding: 0; border: 0; border-radius: var(--tblr-border-radius); color: var(--tblr-secondary-color); background: transparent; font-size: 1rem; }
.product-index-action { cursor: pointer; }
.product-index-action:hover { color: var(--brand-primary); background: var(--tblr-active-bg); }
.product-index-action:focus-visible { outline: 2px solid rgba(var(--brand-primary-rgb), .45); outline-offset: 1px; }
.product-index-indicator { cursor: default; }
.product-index-price { min-width: 3.75rem; margin-left: .25rem; color: var(--tblr-body-color); text-align: right; font-size: .875rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
.product-index-source { max-width: none !important; margin: .5rem 0 0; padding-top: 1rem; border-top: 1px solid var(--tblr-border-color); font-size: .8rem !important; }
.product-offcanvas-open { overflow: hidden; }
.product-info-offcanvas { width: min(520px, 100vw) !important; }
.product-info-offcanvas[hidden],
.product-info-backdrop[hidden] { display: none !important; }
.product-info-offcanvas .offcanvas-header { align-items: flex-start; border-bottom: 1px solid var(--tblr-border-color); }
.product-info-offcanvas .offcanvas-title { margin: .15rem 0 0; font-size: 1.35rem; line-height: 1.3; }
.product-info-body { padding: 0; }
.product-info-section { padding: 1.5rem; }
.product-info-section:nth-child(even) { background: var(--brand-surface-alt); }
.product-info-section + .product-info-section { border-top: 1px solid var(--tblr-border-color); }
.product-info-section h3 { margin: 0 0 .75rem; color: var(--brand-primary); font-size: 1.2rem; }
.cms-content .product-info-section p { max-width: none; margin: 0; color: var(--tblr-body-color); font-size: .95rem; line-height: 1.65; }
.product-info-backdrop { position: fixed; z-index: 1040; inset: 0; background: #000; opacity: 0; transition: opacity .2s ease; }
.product-info-backdrop.show { opacity: .5; }
.product-browser-page-header { margin-bottom: 2rem; }
.product-browser-page-header h1 { margin-bottom: .5rem; }
.cms-content .product-browser-page-header p { margin: 0; }
.product-browser-layout { display: grid; grid-template-columns: minmax(220px, 260px) minmax(0, 1fr); gap: 2rem; align-items: start; }
.product-browser-master { min-width: 0; }
.product-browser-categories { position: sticky; top: 1.5rem; display: grid; gap: .25rem; }
.product-browser-category { display: grid; grid-template-columns: 1.35rem minmax(0, 1fr) auto; align-items: center; gap: .55rem; width: 100%; min-height: 42px; padding: .5rem .65rem; border: 0; border-radius: var(--tblr-border-radius); color: var(--tblr-secondary-color); background: transparent; text-align: left; }
.product-browser-category:hover { color: var(--tblr-body-color); background: var(--tblr-active-bg); }
.product-browser-category.active { color: var(--brand-primary); background: rgba(var(--brand-primary-rgb), .09); font-weight: 600; }
.product-browser-category i { font-size: 1.15rem; }
.product-browser-category .badge { min-width: 1.8rem; color: inherit; background: rgba(98, 105, 118, .1); font-weight: 500; }
.product-browser-category:focus-visible { outline: 2px solid rgba(var(--brand-primary-rgb), .45); outline-offset: 1px; }
.product-browser-child { min-width: 0; }
.product-browser-child-header { display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; }
.product-browser-child-header h2 { margin: 0; font-size: 1.35rem; }
.product-browser-category-trigger { display: none; align-items: center; gap: .4rem; min-height: 44px; }
.product-category-offcanvas { width: min(320px, 88vw) !important; }
.product-category-offcanvas[hidden],
.product-category-backdrop[hidden] { display: none !important; }
.product-category-offcanvas .offcanvas-header { border-bottom: 1px solid var(--tblr-border-color); }
.product-category-offcanvas .offcanvas-body { padding: .75rem; }
.product-category-offcanvas .product-browser-categories { position: static; display: grid; gap: .25rem; overflow: visible; padding: 0; }
.product-category-offcanvas .product-browser-category { width: 100%; }
.product-browser-table { overflow: hidden; border: 1px solid var(--tblr-border-color); border-radius: var(--tblr-border-radius-lg); background: #fff; }
.product-browser-table-head { display: grid; grid-template-columns: minmax(0, 1fr) 4rem; gap: .75rem; padding: .55rem 1rem; border-bottom: 1px solid var(--tblr-border-color); color: var(--tblr-secondary-color); background: var(--tblr-tertiary-bg); font-size: .75rem; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; }
.product-browser-table-head span:last-child { text-align: right; }
.product-browser-rows { margin: 0; padding: 0; list-style: none; }
.product-browser-rows .product-index-item { min-height: 44px; padding: .45rem 1rem; }
.product-browser-rows .product-index-item + .product-index-item { border-top-color: var(--tblr-border-color); }
.product-browser-empty { margin: 0; padding: 1.5rem; }
.product-search-page-header { margin-bottom: 1.75rem; }
.product-search-page-header h1 { margin-bottom: .5rem; }
.cms-content .product-search-page-header p { margin: 0; }
.product-search-component { width: 100%; }
.product-search-form { width: 100%; margin: 0 auto 1.5rem; }
.product-search-box { display: flex; align-items: center; gap: .35rem; min-height: 48px; padding: .25rem .3rem .25rem 1rem; border: 1px solid var(--tblr-border-color); border-radius: 2rem; background: #fff; box-shadow: 0 1px 5px rgba(24, 36, 51, .1); transition: border-color .15s ease, box-shadow .15s ease; }
.product-search-box:focus-within { border-color: rgba(var(--brand-primary-rgb), .45); box-shadow: 0 2px 10px rgba(24, 36, 51, .14); }
.product-search-box input { flex: 1 1 auto; min-width: 0; padding: .35rem 0; border: 0; outline: 0; color: var(--tblr-body-color); background: transparent; font-size: .95rem; }
.product-search-box .product-search-submit { flex: 0 0 40px; width: 40px; height: 40px; border: 0; border-radius: 50%; color: var(--tblr-secondary-color); background: transparent; box-shadow: none; font-size: 1.2rem; }
.product-search-box .product-search-submit:hover { color: var(--brand-primary); background: var(--tblr-active-bg); }
.product-search-box .product-search-submit:focus-visible { outline: 2px solid rgba(var(--brand-primary-rgb), .45); outline-offset: 1px; }
.product-search-results { width: 100%; }
.internal-loader { display: grid; width: min(100%, 320px); min-height: 260px; margin: 0 auto; place-content: center; text-align: center; }
.internal-loader .progress { width: min(280px, 70vw); }
.backend-state-page-header { margin-bottom: 1.75rem; }
.backend-state-page-header h1 { margin-bottom: .5rem; }
.cms-content .backend-state-page-header p { margin: 0; }
.backend-component-demo { width: 100%; }
.backend-state { --tblr-illustrations-primary: var(--brand-primary); --tblr-illustrations-secondary: var(--brand-soft-2); --tblr-illustrations-tertiary: #9aabc0; min-height: 360px; padding: 2.5rem 1rem; }
.backend-state .empty-img { width: min(300px, 74vw); height: auto; margin-bottom: .75rem; }
.backend-state .empty-img svg { display: block; width: 100%; height: auto; }
.backend-state-code { margin: -.35rem 0 .35rem; color: var(--brand-primary); font-size: .85rem; font-weight: 700; letter-spacing: .12em; }
.cms-content .backend-state .empty-title { margin: 0; color: var(--tblr-body-color); font-size: 1.35rem; font-weight: 600; }
.cms-content .backend-state .empty-subtitle { max-width: 34rem; margin: 0; }
.backend-error-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(100%, 620px); margin: 1.75rem auto 0; padding: 0; border-top: 1px solid var(--tblr-border-color); border-bottom: 1px solid var(--tblr-border-color); text-align: left; }
.backend-error-details > div { min-width: 0; padding: .85rem 1rem; }
.backend-error-details dt { margin-bottom: .2rem; color: var(--tblr-secondary-color); font-size: .72rem; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; }
.backend-error-details dd { margin: 0; overflow-wrap: anywhere; color: var(--tblr-body-color); font-family: var(--tblr-font-monospace); font-size: .85rem; }
.cms-content .backend-error-help { max-width: 34rem; margin: 1rem auto 0; font-size: .85rem; }
.equipment-gallery-page-header { margin-bottom: 1.75rem; }
.equipment-gallery-page-header h1 { margin-bottom: .5rem; }
.cms-content .equipment-gallery-page-header p { margin: 0; }
.equipment-gallery-component { width: 100%; }
.equipment-gallery-summary { margin-bottom: 1rem; font-size: .85rem; }
.equipment-gallery-card { height: 100%; overflow: hidden; }
.equipment-gallery-open { display: block; width: 100%; padding: 0; border: 0; color: inherit; background: transparent; text-align: left; cursor: zoom-in; }
.equipment-gallery-open:focus-visible { position: relative; z-index: 1; outline: 3px solid rgba(var(--brand-primary-rgb), .55); outline-offset: -3px; }
.equipment-gallery-image { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--tblr-bg-surface-secondary, #f4f6fa); }
.equipment-gallery-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.equipment-gallery-open:hover .equipment-gallery-image img { transform: scale(1.025); }
.equipment-gallery-card .card-body { padding: 1rem; }
.equipment-gallery-card .card-title { margin: 0 0 .35rem; font-size: 1rem; }
.cms-content .equipment-gallery-card p { margin: 0; font-size: .85rem; line-height: 1.5; }
.equipment-gallery-pagination { display: flex; justify-content: center; margin-top: 2rem; }
.equipment-gallery-pagination .pagination { gap: .15rem; margin: 0; }
.equipment-gallery-pagination .page-link { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px; padding: .45rem .65rem; border-radius: var(--tblr-border-radius); box-shadow: none; }
.equipment-gallery-pagination .page-item.active .page-link { pointer-events: none; }
.equipment-lightbox-open { overflow: hidden; }
.equipment-lightbox[hidden] { display: none; }
.equipment-lightbox { position: fixed; z-index: 1100; inset: 0; display: grid; padding: 1.5rem; place-items: center; }
.equipment-lightbox-backdrop { position: absolute; inset: 0; background: rgba(17, 24, 39, .86); backdrop-filter: blur(4px); }
.equipment-lightbox-dialog { position: relative; display: grid; width: min(1120px, 100%); min-height: min(760px, calc(100vh - 3rem)); padding: 1rem 4.5rem; place-items: center; border-radius: var(--tblr-border-radius-lg); background: #0d1624; box-shadow: 0 24px 72px rgba(0, 0, 0, .4); }
.equipment-lightbox-dialog figure { width: 100%; margin: 0; text-align: center; }
.equipment-lightbox-dialog figure img { display: block; max-width: 100%; max-height: calc(100vh - 12rem); margin: 0 auto; border-radius: var(--tblr-border-radius); object-fit: contain; }
.equipment-lightbox-dialog figcaption { display: grid; gap: .2rem; margin-top: 1rem; color: #fff; }
.equipment-lightbox-dialog figcaption .text-secondary { color: rgba(255, 255, 255, .68) !important; }
.equipment-lightbox-counter { color: rgba(255, 255, 255, .62); font-size: .75rem; letter-spacing: .08em; }
.equipment-lightbox-close { position: absolute; z-index: 2; top: 1rem; right: 1rem; border-color: rgba(255, 255, 255, .2); color: #fff; background: rgba(255, 255, 255, .08); }
.equipment-lightbox-close:hover,
.equipment-lightbox-nav:hover { color: #fff; background: rgba(255, 255, 255, .16); }
.equipment-lightbox-nav { position: absolute; z-index: 2; top: 50%; border-color: rgba(255, 255, 255, .2); color: #fff; background: rgba(255, 255, 255, .08); transform: translateY(-50%); }
.equipment-lightbox-prev { left: 1rem; }
.equipment-lightbox-next { right: 1rem; }
.api-form-page-header { margin-bottom: 2rem; }
.api-form-page-header h1 { margin-bottom: .5rem; }
.cms-content .api-form-page-header p { margin: 0; }
.api-form-component { width: 100%; max-width: 960px; }
.api-form-header { margin-bottom: 1rem; }
.api-form-header .page-pretitle { margin-bottom: .35rem; color: var(--brand-primary); }
.cms-content .api-form-header h2 { margin: 0; font-size: 1.6rem; }
.cms-content .api-form-header p { max-width: 720px; margin: .5rem 0 0; color: var(--tblr-secondary-color); }
.api-form-markdown { max-width: 720px; margin-bottom: 1.5rem; }
.api-form-markdown > :last-child { margin-bottom: 0; }
.api-form-feedback { outline: 0; }
.api-form-feedback:not(:empty) { margin-bottom: 1rem; }
.api-form-feedback .alert { display: flex; align-items: flex-start; gap: .65rem; margin: 0; }
.api-form-feedback .alert > i { flex: 0 0 auto; margin-top: .1rem; font-size: 1.25rem; }
.api-form { max-width: 900px; }
.api-form-workflow { width: 100%; }
.api-form-steps { margin-bottom: 2rem; }
.api-form-steps .steps { margin: 0; }
.api-form-step-panels { min-width: 0; }
.api-form-step-panel { min-width: 0; margin: 0; padding: 0; border: 0; outline: 0; }
.api-form-step-heading { margin-bottom: 1.25rem; }
.cms-content .api-form-step-heading h3 { margin: 0; font-size: 1.25rem; }
.cms-content .api-form-step-heading p { margin: .35rem 0 0; color: var(--tblr-secondary-color); }
.api-form-workflow-vertical { display: grid; grid-template-columns: minmax(180px, 240px) minmax(0, 1fr); gap: 2rem; }
.api-form-workflow-vertical .api-form-steps { margin: 0; }
.api-form-review { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0 0 1.5rem; padding: 0; border-top: 1px solid var(--tblr-border-color); border-bottom: 1px solid var(--tblr-border-color); }
.api-form-review > div { min-width: 0; padding: .8rem 1rem .8rem 0; }
.api-form-review dt { margin-bottom: .2rem; color: var(--tblr-secondary-color); font-size: .72rem; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; }
.api-form-review dd { margin: 0; overflow-wrap: anywhere; color: var(--tblr-body-color); }
.api-form-field .form-label { margin-bottom: .45rem; }
.api-form-field .form-hint { margin-top: .35rem; }
.api-form-checkbox-field { padding-top: .35rem; }
.api-form-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 1.5rem; }
.api-form-actions .btn { display: inline-flex; align-items: center; gap: .45rem; min-width: 150px; justify-content: center; }
.api-form-required-note { font-size: .8rem; }
.product-search-summary { margin-bottom: .65rem; color: var(--tblr-secondary-color); font-size: .85rem; }
.product-search-list { border-top: 1px solid var(--tblr-border-color); }
.product-search-result { padding: 1.35rem 0 1.5rem; border-bottom: 1px solid var(--tblr-border-color); }
.product-search-route { display: flex; align-items: center; gap: .25rem; margin-bottom: .35rem; color: var(--tblr-secondary-color); font-size: .78rem; }
.product-search-route > i:first-child { margin-right: .15rem; color: var(--brand-primary); font-size: 1rem; }
.product-search-route .ti-chevron-right { font-size: .75rem; }
.product-search-result h2 { margin: 0 0 .45rem; font-size: 1.25rem; font-weight: 500; line-height: 1.35; }
.product-search-result-link { display: inline; padding: 0; border: 0; color: var(--brand-primary); background: transparent; text-align: left; font: inherit; text-decoration: none; cursor: pointer; }
.product-search-result-link:hover { color: var(--brand-primary-dark); text-decoration: underline; }
.product-search-result-link:focus-visible { outline: 2px solid rgba(var(--brand-primary-rgb), .45); outline-offset: 3px; border-radius: 2px; }
.cms-content .product-search-result p { max-width: none; margin: 0; color: var(--tblr-body-color); font-size: .925rem; line-height: 1.6; }
.product-search-result mark,
.product-search-route mark { padding: 0 .08em; border-radius: 2px; color: inherit; background: #fff1a8; }
.product-search-result-meta { display: flex; align-items: center; gap: .1rem; min-height: 1.8rem; margin-top: .55rem; }
.product-search-result-price { margin-left: .35rem; color: var(--tblr-body-color); font-size: .875rem; font-variant-numeric: tabular-nums; }
.product-search-empty { display: grid; justify-items: center; gap: .5rem; padding: 3rem 1rem; color: var(--tblr-secondary-color); text-align: center; }
.product-search-empty > i { font-size: 2rem; }
.cms-content .product-search-empty p { margin: 0; }
.product-search-empty-state { --tblr-illustrations-primary: var(--brand-primary); --tblr-illustrations-secondary: var(--brand-soft-2); --tblr-illustrations-tertiary: #9aabc0; min-height: 320px; padding: 2rem 1rem; }
.product-search-empty-state .empty-img { width: min(280px, 72vw); height: auto; margin-bottom: .5rem; }
.product-search-empty-state .empty-img svg { display: block; width: 100%; height: auto; }
.cms-content .product-search-empty-state .empty-title { margin: 0; color: var(--tblr-body-color); font-size: 1.25rem; font-weight: 600; }
.cms-content .product-search-empty-state .empty-subtitle { max-width: 34rem; margin: 0; }
.product-search-limit { margin: 1rem 0 0; font-size: .85rem !important; }
.product-search-pagination { display: flex; justify-content: center; margin-top: 1.5rem; }
.product-search-pagination .pagination { gap: .15rem; margin: 0; }
.product-search-pagination .page-link { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px; padding: .45rem .65rem; border-radius: var(--tblr-border-radius); box-shadow: none; }
.product-search-pagination .page-item.active .page-link { pointer-events: none; }
.product-search-pagination .page-item.disabled .page-link { color: var(--tblr-disabled-color, #a9b0bb); }
.virtual-page-component { width: 100%; }
.virtual-page-back { display: inline-flex; align-items: center; gap: .4rem; margin-bottom: 2rem; color: var(--tblr-secondary-color); text-decoration: none; }
.virtual-page-back:hover { color: var(--brand-primary); }
.virtual-page-header { margin-bottom: 1.75rem; }
.virtual-page-header .page-pretitle { margin-bottom: .45rem; color: var(--brand-primary); }
.cms-content .virtual-page-header h1 { margin: 0; font-size: clamp(2rem, 4vw, 3rem); }
.cms-content .virtual-page-subtitle { margin: .45rem 0 0; color: var(--tblr-secondary-color); font-size: 1.1rem; }
.virtual-page-badges { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.virtual-page-badges .badge { display: inline-flex; align-items: center; gap: .35rem; padding: .45rem .6rem; font-weight: 500; }
.virtual-page-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 0 2.5rem; padding: 0; border-top: 1px solid var(--tblr-border-color); border-bottom: 1px solid var(--tblr-border-color); }
.virtual-page-facts > div { min-width: 0; padding: 1rem 1.25rem 1rem 0; }
.virtual-page-facts dt { margin-bottom: .25rem; color: var(--tblr-secondary-color); font-size: .75rem; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; }
.virtual-page-facts dd { margin: 0; color: var(--tblr-body-color); font-size: .95rem; line-height: 1.45; }
.virtual-page-markdown { max-width: 960px; }
.virtual-page-markdown > h2 { margin-top: 2.75rem; padding-bottom: .55rem; border-bottom: 1px solid var(--tblr-border-color); font-size: 1.6rem; }
.virtual-page-markdown > h3 { margin-top: 2rem; font-size: 1.25rem; }
.virtual-page-markdown p { max-width: 820px; }
.virtual-page-markdown blockquote { max-width: 820px; margin: 1.5rem 0; padding: .25rem 0 .25rem 1.25rem; border-left: 3px solid var(--brand-primary); color: var(--tblr-secondary-color); }
.virtual-page-markdown blockquote p { margin: 0; }
.virtual-page-markdown .table-responsive { max-width: 820px; margin: 1.25rem 0 1.75rem; }
.virtual-page-markdown .table { margin: 0; }
.virtual-page-markdown pre { max-width: 820px; }
@keyframes product-browser-category-in {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  .internal-loader .progress-bar-indeterminate { animation: none; transform: translateX(0); }
  .equipment-gallery-image img { transition: none; }
}
.product-browser-child.is-category-changing [data-product-browser-category-title],
.product-browser-child.is-category-changing .product-browser-table { animation: product-browser-category-in .42s cubic-bezier(.2, .7, .2, 1) both; }
.product-browser-child.is-category-changing .product-browser-table { animation-delay: .05s; }
.component-section > h2 { margin: 0 0 1.25rem; font-size: 1.35rem; }
.component-flow { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-flow: row; gap: 1.25rem; align-items: stretch; }
.component-card { grid-column: 1 / -1; display: flex; flex-direction: column; min-width: 0; height: 100%; overflow: hidden; border: 1px solid var(--tblr-border-color); border-radius: var(--tblr-border-radius-lg); background: #fff; box-shadow: var(--tblr-box-shadow-card); }
.component-card-header { display: flex; align-items: center; gap: .65rem; min-height: 52px; padding: .6rem .85rem; border-bottom: 1px solid var(--tblr-border-color); }
.component-card-header h3 { margin: 0; font-size: 1.05rem; line-height: 1.3; }
.component-card-image { flex: 0 0 32px; width: 32px; height: 32px; object-fit: contain; }
.component-card-title-icon { flex: 0 0 auto; color: var(--brand-primary); font-size: 1.35rem; }
.component-card-body { flex: 1 1 auto; padding: 1rem; }
.cms-content .component-card-body p { max-width: none; margin: 0; font-size: .925rem; line-height: 1.55; }
.component-card-body ul { margin: .75rem 0 0; padding-left: 1.25rem; }
.component-card-body li + li { margin-top: .25rem; }
.component-card-footer { display: flex; flex-wrap: wrap; gap: .5rem; padding: .75rem 1rem; border-top: 1px solid var(--tblr-border-color); }
.component-action { display: inline-flex; align-items: center; gap: .35rem; border-color: transparent; background: transparent; box-shadow: none; transition: background-color .15s ease; }
.component-action:not(.component-action-icon) { padding-right: .5rem; padding-left: .5rem; }
.component-action:hover { border-color: transparent; background: var(--tblr-active-bg); box-shadow: none; }
.component-action-normal,
.component-action-normal:hover { color: var(--tblr-secondary); }
.component-action-success,
.component-action-success:hover { color: var(--tblr-success); }
.component-action-warning,
.component-action-warning:hover { color: var(--tblr-warning); }
.component-action-error,
.component-action-error:hover { color: var(--tblr-danger); }
.component-action-info,
.component-action-info:hover { color: var(--tblr-info); }
.component-action:focus { box-shadow: none; }
.component-action:focus-visible { outline: 2px solid rgba(var(--brand-primary-rgb), .45); outline-offset: 2px; }
.component-action-icon { width: 2rem; padding-right: 0; padding-left: 0; }
.news-layout { max-width: 920px; }
.news-page-header { margin-bottom: 1.5rem; }
.news-page-header h1 { margin-bottom: .5rem; }
.tag-filter { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 2rem; }
.tag-badge { padding: .45rem .65rem; color: var(--tblr-secondary-color); background: var(--tblr-tertiary-bg); text-decoration: none; font-weight: 500; }
.tag-badge:hover { color: var(--brand-primary); background: var(--tblr-active-bg); }
.tag-badge.active { color: #fff; background: var(--brand-primary); }
.post-list { border-top: 1px solid var(--tblr-border-color); }
.post-summary { padding: 1.75rem 0; border-bottom: 1px solid var(--tblr-border-color); }
.post-summary.has-image { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 1.5rem; }
.post-summary-image { display: block; overflow: hidden; border-radius: var(--tblr-border-radius-lg); background: var(--tblr-tertiary-bg); }
.post-summary-image img { display: block; width: 100%; height: 150px; object-fit: cover; }
.post-summary-content { min-width: 0; }
.post-meta { display: flex; flex-wrap: wrap; gap: .45rem 1rem; margin-bottom: .75rem; font-size: .8rem; }
.post-meta span { display: inline-flex; align-items: center; gap: .3rem; }
.post-summary-title { margin: 0 0 .65rem; font-size: 1.4rem; }
.post-summary-title a { color: var(--tblr-body-color); text-decoration: none; }
.post-summary-title a:hover { color: var(--brand-primary); }
.cms-content .post-excerpt { max-width: 780px; margin: 0 0 .9rem; line-height: 1.6; }
.post-tags { display: flex; flex-wrap: wrap; gap: .4rem; }
.post-read-more { display: inline-flex; align-items: center; gap: .25rem; margin-top: 1rem; font-size: .9rem; font-weight: 500; text-decoration: none; }
.post-detail-layout { max-width: 920px; }
.post-back-link { display: inline-flex; align-items: center; gap: .3rem; margin-bottom: 2rem; text-decoration: none; }
.post-detail { max-width: 800px; }
.post-hero { margin: 0 0 2rem; overflow: hidden; border-radius: var(--tblr-border-radius-lg); background: var(--tblr-tertiary-bg); }
.post-hero img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.post-detail-header { margin-bottom: 2rem; padding-bottom: 2rem; border-bottom: 1px solid var(--tblr-border-color); }
.post-detail-header h1 { margin: .75rem 0 1rem; font-size: clamp(2rem, 5vw, 3rem); letter-spacing: -.025em; }
.cms-content .post-detail-excerpt { max-width: 760px; margin: 0; color: var(--tblr-secondary-color); font-size: 1.1rem; line-height: 1.65; }
.post-content { max-width: 760px; color: var(--tblr-body-color); font-size: 1.02rem; line-height: 1.75; }
.cms-content .post-content p { max-width: none; margin: 0 0 1.25rem; color: inherit; font-size: inherit; line-height: inherit; }
.post-content h2 { margin: 2.25rem 0 .85rem; font-size: 1.5rem; }
.post-detail-footer { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; max-width: 760px; margin-top: 2.5rem; padding-top: 1.25rem; border-top: 1px solid var(--tblr-border-color); }
.post-related { max-width: 800px; margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--tblr-border-color); }
.post-related h2 { margin: 0 0 1rem; font-size: 1.25rem; }
.related-post-list { display: grid; gap: .35rem; }
.related-post-list a { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .65rem .75rem; border-radius: var(--tblr-border-radius); color: var(--tblr-body-color); text-decoration: none; }
.related-post-list a:hover { color: var(--brand-primary); background: var(--tblr-active-bg); }

@media (min-width: 1200px) {
  .component-card[data-columns="1"] { grid-column: span 12; }
  .component-card[data-columns="2"] { grid-column: span 6; }
  .component-card[data-columns="3"] { grid-column: span 4; }
  .component-card[data-columns="4"] { grid-column: span 3; }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .component-card[data-columns="1"] { grid-column: span 12; }
  .component-card[data-columns="2"],
  .component-card[data-columns="3"],
  .component-card[data-columns="4"] { grid-column: span 6; }
}

@media (min-width: 768px) {
  .product-search-form { width: 66.666667%; }
}

@media (min-width: 992px) {
  .site-header .navbar-collapse,
  .site-header .navbar-nav,
  .site-header .nav-item { align-self: stretch; }
  .site-header .nav-item > .nav-link { top: 8px; }
  .product-search-form { width: 50%; }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .navbar-brand img { width: 155px; }
  .navbar .nav-link { padding-right: .45rem; padding-left: .45rem; font-size: .82rem; gap: .3rem; }
  .nav-link-icon { font-size: 1.1rem; }
}

@media (max-width: 991.98px) {
  .site-header { min-height: 68px; }
  .navbar-brand img { width: 175px; }
  .navbar-collapse { width: 100%; border-top: 1px solid var(--tblr-border-color); }
  .navbar-nav { padding: .5rem 0 .75rem; }
  .navbar .nav-link { min-height: 44px; padding: .5rem 0; }
  .product-menu-item { display: block; }
  .resources-menu-item { display: block; }
  .product-dropdown { position: static; width: 100%; margin: 0; padding: .25rem 0 .5rem 1.75rem; border: 0; background: transparent; box-shadow: none; transform: none; }
  .product-menu-grid { grid-template-columns: 1fr; gap: 0; }
  .product-dropdown .dropdown-item { padding: .5rem .75rem; }
  .resources-dropdown { position: static; width: 100%; margin: 0; padding: .25rem 0 .5rem 1.75rem; border: 0; background: transparent; box-shadow: none; transform: none; }
  .resources-dropdown .dropdown-item { padding: .5rem .75rem; }
  .page-body { margin-top: 1.75rem; }
  .cms-content { padding-bottom: 2.5rem; }
  .cms-content h1 { font-size: 1.75rem; }
  .product-index-groups[data-flow="row"] { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2rem; }
  .product-browser-layout { grid-template-columns: 210px minmax(0, 1fr); gap: 1.25rem; }
}

@media (max-width: 767.98px) {
  .recent-posts-section { margin-top: 2.5rem; }
  .recent-posts-header { align-items: flex-start; flex-direction: column; gap: .4rem; }
  .site-footer-inner { padding-top: 1.75rem; }
  .site-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 1.5rem; padding-bottom: 2rem; }
  .site-footer-brand { grid-column: 1 / -1; }
  .site-footer-bottom { align-items: flex-start; flex-direction: column; }
  .backend-error-details { grid-template-columns: 1fr; }
  .backend-error-details > div + div { border-top: 1px solid var(--tblr-border-color); }
  .equipment-lightbox { padding: .5rem; }
  .equipment-lightbox-dialog { min-height: calc(100vh - 1rem); padding: 3.5rem .75rem 5rem; }
  .equipment-lightbox-dialog figure img { max-height: calc(100vh - 13rem); }
  .equipment-lightbox-nav { top: auto; bottom: 1rem; transform: none; }
  .equipment-lightbox-prev { left: calc(50% - 3.25rem); }
  .equipment-lightbox-next { right: calc(50% - 3.25rem); }
  .api-form-actions { align-items: flex-start; flex-direction: column; }
  .api-form-workflow-vertical { grid-template-columns: 1fr; gap: 1.5rem; }
  .api-form-workflow-vertical .api-form-steps { margin-bottom: 0; }
  .api-form-review { grid-template-columns: 1fr; }
  .api-form-review > div + div { border-top: 1px solid var(--tblr-border-color); }
  .hero-demo-section { margin-top: 2rem; }
  .hero-carousel-slides,
  .hero-slide { height: var(--hero-height, 560px); }
  .hero-slide { grid-template-columns: 1fr; gap: 1rem; padding: 1.5rem 1.5rem 3.5rem; }
  .hero-content h2 { font-size: clamp(1.85rem, 8.5vw, 2.35rem); }
  .hero-content p { margin-top: .85rem; font-size: .92rem; line-height: 1.5; }
  .hero-content .hero-note { margin-top: .55rem; font-size: .8rem; }
  .hero-actions { gap: .5rem; margin-top: 1.25rem; }
  .hero-actions .btn { min-height: 40px; padding-top: .5rem; padding-bottom: .5rem; }
  .hero-media { align-self: end; }
  .hero-media img { max-height: 165px; }
  .hero-compact .hero-slide { gap: .65rem; padding: 1.2rem 1.25rem 2rem; }
  .hero-compact .hero-content h2 { font-size: 1.75rem; }
  .hero-compact .hero-content p { margin-top: .65rem; font-size: .84rem; line-height: 1.4; }
  .hero-compact .hero-content .hero-note { margin-top: .4rem; font-size: .74rem; }
  .hero-compact .hero-actions { margin-top: .75rem; }
  .hero-compact .hero-media img { max-height: 105px; }
  .hero-image-left .hero-content,
  .hero-image-left .hero-media { order: initial; }
  .hero-has-background-image { align-items: center; }
  .hero-has-background-image .hero-overlay { background: rgba(var(--brand-ink-rgb), .72); }
  .hero-actions .btn { flex: 1 1 10rem; }
  .hero-carousel-indicators { bottom: 1.25rem; }
  .hero-carousel-indicators button { width: 2rem; }
  .hero-carousel-indicators button.active { width: 2.75rem; }
  .location-map-canvas { height: 360px; }
  .location-groups { margin-top: 2rem; }
  .location-group + .location-group { margin-top: 2.25rem; }
  .product-index-heading { display: block; }
  .product-index-heading > span { display: block; margin-top: .35rem; }
  .product-index-navigation { margin-bottom: 2rem; }
  .product-index-alphabet { overflow-x: auto; scrollbar-width: thin; scroll-snap-type: x proximity; }
  .product-index-letter-list { display: flex; width: max-content; min-width: 100%; }
  .product-index-letter { flex: 0 0 46px; min-width: 46px; min-height: 46px; scroll-snap-align: start; }
  .product-index-groups[data-flow="row"] { grid-template-columns: 1fr; }
  .product-index-groups[data-flow="column"] { columns: 1; }
  .product-index-group { margin-bottom: 1.75rem; scroll-margin-top: .75rem; }
  .product-index-back-to-top { width: 2.75rem; height: 2.75rem; margin: -.6rem -.35rem -.4rem 0; }
  .product-index-item { gap: .4rem; }
  .product-index-item-name { padding-top: .7rem; }
  .product-index-item-meta { min-height: 2.75rem; }
  .product-index-action { width: 2.75rem; height: 2.75rem; }
  .product-index-indicator { width: 1.7rem; }
  .product-index-price { min-width: 3.5rem; margin-left: .1rem; }
  .product-info-section { padding: 1.25rem; }
  .product-browser-layout { grid-template-columns: 1fr; gap: 1.25rem; }
  .product-browser-master { display: none; }
  .product-browser-category-trigger { display: inline-flex; }
  .product-browser-child-header { align-items: flex-start; flex-direction: column; gap: .65rem; margin-bottom: .75rem; }
  .product-browser-category { min-height: 44px; }
  .product-browser-table-head { padding-right: .75rem; padding-left: .75rem; }
  .product-browser-rows .product-index-item { padding-right: .75rem; padding-left: .75rem; }
  .product-search-page-header { margin-bottom: 1.25rem; }
  .product-search-box { min-height: 48px; padding-left: .85rem; }
  .product-search-box .product-search-submit { flex-basis: 40px; min-width: 40px; }
  .product-search-result { padding: 1.15rem 0 1.25rem; }
  .product-search-pagination { margin-top: 1.25rem; }
  .virtual-page-back { margin-bottom: 1.5rem; }
  .virtual-page-facts { grid-template-columns: 1fr; }
  .virtual-page-facts > div { padding: .8rem 0; border-bottom: 1px solid var(--tblr-border-color); }
  .virtual-page-facts > div:last-child { border-bottom: 0; }
  .virtual-page-markdown > h2 { margin-top: 2.25rem; font-size: 1.45rem; }
  .component-flow { gap: 1rem; }
  .component-card { grid-column: 1 / -1 !important; }
  .component-section { margin-top: 2rem; }
  .post-summary { padding: 1.35rem 0; }
  .post-summary.has-image { grid-template-columns: 1fr; gap: 1rem; }
  .post-summary-image img { height: auto; aspect-ratio: 16 / 9; }
  .post-hero { margin-bottom: 1.5rem; }
  .post-detail-header { margin-bottom: 1.5rem; padding-bottom: 1.5rem; }
  .post-back-link { margin-bottom: 1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  .product-browser-child.is-category-changing [data-product-browser-category-title],
  .product-browser-child.is-category-changing .product-browser-table { animation: none; }
}

/* ---------- МДЛ Цибалаб: допълнения към концепцията ---------- */
.btn-primary {
  --tblr-btn-bg: var(--brand-primary);
  --tblr-btn-border-color: var(--brand-primary);
  --tblr-btn-hover-bg: var(--brand-primary-dark);
  --tblr-btn-hover-border-color: var(--brand-primary-dark);
  --tblr-btn-active-bg: var(--brand-primary-dark);
  --tblr-btn-active-border-color: var(--brand-primary-dark);
  --tblr-btn-color: #fff;
  --tblr-btn-hover-color: #fff;
  --tblr-btn-active-color: #fff;
}
.btn-outline-primary {
  --tblr-btn-color: var(--brand-primary);
  --tblr-btn-border-color: var(--brand-primary);
  --tblr-btn-hover-bg: var(--brand-primary);
  --tblr-btn-hover-border-color: var(--brand-primary);
  --tblr-btn-hover-color: #fff;
  --tblr-btn-active-bg: var(--brand-primary-dark);
  --tblr-btn-active-color: #fff;
}

.navbar-brand img,
.site-footer-logo img { width: auto; }
.navbar-brand img { height: 26px; }
.site-footer-logo img { height: 24px; }
.resources-menu-toggle[aria-expanded="true"] .submenu-caret { transform: rotate(180deg); }
.dropdown-item .nav-external { margin-left: auto; padding-left: .75rem; color: var(--tblr-secondary-color); font-size: .85rem; }

.home-section { margin-top: 3rem; }
.section-heading { margin: 0 0 1.25rem; font-size: 1.5rem; }

.quick-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.quick-link {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1rem;
  min-height: 96px; padding: 1.1rem 1.25rem;
  border: 1px solid var(--tblr-border-color); border-radius: var(--tblr-border-radius-lg);
  color: var(--tblr-body-color); background: #fff; box-shadow: var(--tblr-box-shadow-card);
  text-decoration: none; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.quick-link:hover { border-color: rgba(var(--brand-primary-rgb), .35); color: var(--tblr-body-color); box-shadow: 0 6px 18px rgba(24, 36, 51, .08); text-decoration: none; transform: translateY(-1px); }
.quick-link:focus-visible { outline: 2px solid rgba(var(--brand-primary-rgb), .45); outline-offset: 2px; }
.quick-link-icon { display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; border-radius: 50%; color: var(--brand-primary); background: var(--brand-soft); font-size: 1.5rem; }
.quick-link-title { display: block; font-size: 1.05rem; font-weight: 600; line-height: 1.3; }
.quick-link-text { display: block; margin-top: .2rem; color: var(--tblr-secondary-color); font-size: .875rem; line-height: 1.45; }
.quick-link-arrow { color: var(--tblr-secondary-color); font-size: 1.1rem; }
.quick-link:hover .quick-link-arrow { color: var(--brand-primary); }
@media (prefers-reduced-motion: reduce) { .quick-link { transition: none; } .quick-link:hover { transform: none; } }

.feed-state { padding: 1.25rem; border: 1px dashed var(--tblr-border-color); border-radius: var(--tblr-border-radius-lg); color: var(--tblr-secondary-color); }

.page-intro { margin-bottom: 2rem; }
.page-intro h1 { margin-bottom: .5rem; }
.cms-content .page-intro p { margin: 0; }
.cms-content .page-intro p + p { margin-top: .75rem; }
.page-pretitle { color: var(--brand-primary); }

.lis-source { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .75rem; margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--tblr-border-color); color: var(--tblr-secondary-color); font-size: .8rem; }
.lis-source i { color: var(--tblr-success); }
.lis-tabs { display: flex; flex-wrap: wrap; gap: .4rem; margin: -.5rem 0 1.75rem; }
.lis-tabs a { display: inline-flex; align-items: center; gap: .35rem; padding: .4rem .75rem; border: 1px solid var(--tblr-border-color); border-radius: 2rem; color: var(--tblr-secondary-color); background: #fff; font-size: .85rem; text-decoration: none; }
.lis-tabs a:hover { color: var(--brand-primary); border-color: rgba(var(--brand-primary-rgb), .35); }
.lis-tabs a[aria-current="page"] { color: #fff; border-color: var(--brand-primary); background: var(--brand-primary); }

.product-index-indicator.is-profile { color: var(--brand-primary); }
.product-search-result-meta .badge { margin-right: .35rem; }

.product-info-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding: 0; border-bottom: 1px solid var(--tblr-border-color); }
.product-info-facts > div { min-width: 0; padding: 1rem 1.5rem; }
.product-info-facts > div + div { border-left: 1px solid var(--tblr-border-color); }
.product-info-facts dt { margin-bottom: .2rem; color: var(--tblr-secondary-color); font-size: .72rem; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; }
.product-info-facts dd { margin: 0; color: var(--tblr-body-color); font-size: .95rem; }
.product-info-facts .product-info-price { font-size: 1.25rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.product-info-tests { margin: 0; padding-left: 1.15rem; columns: 2 200px; column-gap: 1.5rem; }
.product-info-tests li { break-inside: avoid; margin-bottom: .3rem; font-size: .9rem; line-height: 1.4; }
.product-info-more { display: inline-flex; align-items: center; gap: .35rem; font-weight: 500; }
.cms-content .product-info-disclaimer { margin: 0; padding: 1rem 1.5rem 1.5rem; color: var(--tblr-secondary-color); font-size: .8rem; font-style: italic; }

.location-hours { display: grid; gap: .1rem; margin-top: .6rem; color: var(--tblr-secondary-color); font-size: .82rem; line-height: 1.45; }
.location-note { margin-top: .5rem; color: var(--tblr-secondary-color); font-size: .8rem; }
.location-number { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-width: 1.6rem; height: 1.6rem; padding: 0 .35rem; border-radius: 1rem; color: #fff; background: var(--brand-primary); font-size: .75rem; font-weight: 700; }
.location-group .component-card { scroll-margin-top: 1.5rem; }
.location-group .component-card.is-focused { border-color: var(--brand-primary); box-shadow: 0 0 0 3px rgba(var(--brand-primary-rgb), .15); }
.location-map-component { scroll-margin-top: 1rem; }
.location-map-canvas { z-index: 1; }
.location-marker { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border: 2px solid #fff; border-radius: 50% 50% 50% 0; color: #fff; background: var(--brand-primary); box-shadow: 0 2px 6px rgba(0, 0, 0, .35); transform: rotate(-45deg); }
.location-marker span { font-size: 11px; font-weight: 700; transform: rotate(45deg); }
.location-marker.is-central { background: var(--brand-ink); }
.leaflet-container { font-family: inherit; }
.location-filter { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; margin: 2.5rem 0 0; }
.location-filter .product-search-box { flex: 1 1 320px; max-width: 520px; }
.location-filter + .location-groups { margin-top: 1.75rem; }

.embed-frame { overflow: hidden; border: 1px solid var(--tblr-border-color); border-radius: var(--tblr-border-radius-lg); background: var(--tblr-tertiary-bg); }
.embed-frame iframe { display: block; width: 100%; height: 360px; border: 0; }
.contact-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, 1fr); gap: 2.5rem; align-items: start; }
.contact-facts { display: grid; gap: 1.25rem; }
.contact-phone { font-size: 1.35rem; font-weight: 700; color: var(--tblr-body-color); text-decoration: none; }
.contact-phone:hover { color: var(--brand-primary); }

.legal-note { margin-top: 1.5rem; color: var(--tblr-secondary-color); font-size: .85rem; font-style: italic; }

@media (max-width: 1199.98px) {
  .quick-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
  .contact-layout { grid-template-columns: 1fr; }
  .navbar-brand img { height: 24px; }
}
@media (max-width: 767.98px) {
  .quick-links { grid-template-columns: 1fr; gap: .75rem; }
  .quick-link { min-height: 0; }
  .product-info-facts { grid-template-columns: 1fr; }
  .product-info-facts > div + div { border-top: 1px solid var(--tblr-border-color); border-left: 0; }
  .product-info-facts > div { padding: .85rem 1.25rem; }
}
.cms-content .recent-post-excerpt { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 5; line-clamp: 5; -webkit-box-orient: vertical; }
.product-index-action[title="Изследвания в пакета"] { color: var(--brand-primary); }
.btn:has(> .ti) { gap: .4rem; }
.btn > .ti { font-size: 1.15em; }
