    .gb-sidebar {
      font-family: "Inter Variable", sans-serif;
      --gb-accent: #ff510a;
      --gb-accent-hover: #e94806;
      --gb-text: #25272b;
      --gb-muted: #7e8490;
      --gb-stroke: #e7e8ed;
      --gb-surface: #f5f6f8;
      width: min(100%, 320px);
      min-width: 0;
      padding: 0;
      background: #fff;
      border: 0;
      border-radius: 0;
      box-shadow: none;
      color: var(--gb-text);
    }
    .gb-header { margin: 2px 0 22px; }
    .gb-title { font-size: 24px; line-height: 1.25; letter-spacing: -.025em; font-weight: 500; margin: 0 0 9px; }
    .gb-header p { color: #757a84; font-size: 13px; line-height: 1.5; margin: 0; max-width: 290px; }

    .gb-filter-box {
      padding: 0;
      border: 0;
      border-radius: 0;
      background: transparent;
      margin-bottom: 22px;
    }
    .gb-filter-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 14px;
      width: 100%;
      padding: 0;
      text-align: left;
      background: transparent;
      border: 0;
      color: inherit;
      cursor: default;
    }
    .gb-filter-heading { display: block; font-size: 16px; font-weight: 700; letter-spacing: -.01em; }
    .gb-filter-summary { display: none; font-size: 11px; line-height: 1.4; color: #787d87; margin-top: 4px; }
    .gb-toggle-right { display: flex; align-items: center; gap: 7px; }
    .gb-count-pill { display: none; color: var(--gb-accent); background: #ffeadf; border-radius: 100px; font-weight: 750; padding: 4px 7px; font-size: 11px; min-width: 22px; text-align: center; }
    .gb-filter-content { display: block; margin-top: 17px; }
    .gb-field + .gb-field { margin-top: 20px; }
    .gb-field-label { display: block; font-size: 16px; font-weight: 700; margin-bottom: 12px; line-height: 1.3; }
    .gb-field-helper { display: block; margin: -4px 0 9px; color: #89909b; font-size: 10px; line-height: 1.5; }

    .gb-star:focus-visible, .gb-mini-button:focus-visible,
    .gb-cta:focus-visible, .gb-reset:focus-visible,
    .gb-ring:focus-visible, .gb-dropdown-trigger:focus-visible,
    .gb-clear-rating:focus-visible { outline: 3px solid #ffbd99; outline-offset: 2px; }

    .gb-dropdown { position: relative; width: 100%; }

    .gb-single-job {
      display: flex; align-items: center; width: 100%; min-height: 54px;
      padding: 10px 15px; border: 1px solid var(--gb-accent); border-radius: 12px;
      background: #fff; color: #24262b;
    }
    .gb-dropdown-trigger {
      display: flex; align-items: center; justify-content: space-between; gap: 12px;
      width: 100%; min-height: 54px; padding: 10px 15px;
      border: 1px solid var(--gb-accent); border-radius: 12px;
      background: #fff; color: #24262b; text-align: left; cursor: pointer;
      transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
    }
    .gb-dropdown-trigger:hover { border-color: var(--gb-accent-hover); background: #fffdfb; }
    .gb-dropdown-trigger[aria-expanded="true"] {
      border-color: var(--gb-accent); background: #fff; box-shadow: 0 0 0 3px #ff510a14;
    }
    .gb-dropdown-current { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
    .gb-dropdown-value { font-size: 16px; line-height: 1.3; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .gb-dropdown-subline { font-size: 12px; line-height: 1.3; color: #8e949d; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .gb-dropdown-arrow {
      display: block; flex: 0 0 18px; width: 18px; height: 18px; margin-right: 1px;
      color: #6e7480; transition: transform .18s ease;
    }
    .gb-dropdown-trigger[aria-expanded="true"] .gb-dropdown-arrow { transform: rotate(180deg); color: var(--gb-accent); }
    .gb-dropdown-menu {
      position: absolute; top: calc(100% + 7px); left: 0; right: 0;
      z-index: 20; padding: 6px; max-height: min(340px, 54dvh); overflow-y: auto;
      overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #d4d7de transparent;
      border: 1px solid #e6e7ec; border-radius: 15px;
      background: #fff; box-shadow: 0 15px 38px #1f293721, 0 3px 9px #1f29370b;
    }
    .gb-dropdown.is-up .gb-dropdown-menu { top: auto; bottom: calc(100% + 7px); }
    .gb-dropdown-option {
      display: flex; align-items: center; gap: 10px; justify-content: space-between;
      width: 100%; padding: 11px 17px 11px 13px; border: 0; border-radius: 10px;
      color: #33363e; background: transparent; text-align: left; cursor: pointer;
      transition: background .12s ease, color .12s ease;
    }
    .gb-dropdown-option:hover, .gb-dropdown-option:focus-visible { background: #f5f6f8; outline: none; }
    .gb-dropdown-option[aria-selected="true"] { background: #fff0e8; color: #e44b0e; }
    .gb-dropdown-option[aria-selected="true"]:hover, .gb-dropdown-option[aria-selected="true"]:focus-visible { background: #ffe9dd; }
    .gb-dropdown-option:disabled { opacity: .47; cursor: not-allowed; }
    .gb-dropdown-option:disabled:hover { background: transparent; }
    .gb-dropdown-option:disabled .gb-dropdown-option-meta { color: #8e949d; }
    .gb-dropdown-option-copy { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
    .gb-dropdown-option-name { font-size: 15px; font-weight: 500; line-height: 1.35; overflow-wrap: anywhere; }
    .gb-dropdown-option-meta { font-size: 12px; font-weight: 500; line-height: 1.3; color: #90959f; }
    .gb-dropdown-option[aria-selected="true"] .gb-dropdown-option-meta { color: #c77b57; }
    .gb-dropdown-check { flex: 0 0 18px; width: 18px; height: 18px; margin-right: 2px; color: var(--gb-accent); visibility: hidden; }
    .gb-dropdown-option[aria-selected="true"] .gb-dropdown-check { visibility: visible; }
    .gb-ratings { display: flex; align-items: center; gap: 3px; }
    .gb-star { border: none; background: transparent; padding: 2px; color: #d3d6dc; font-size: 27px; line-height: 1; transition: color .12s; }
    .gb-star.is-active { color: #ff8e39; }
    .gb-clear-rating { margin-left: auto; color: #90949d; background: none; border: 0; font-size: 11px; padding: 5px 0 5px 10px; }
    .gb-clear-rating:hover { color: var(--gb-accent); }
    .gb-checkbox-list { display: grid; gap: 13px; }
    .gb-check { display: flex; align-items: flex-start; gap: 11px; font-size: 16px; font-weight: 500; line-height: 1.4; cursor: pointer; }
    .gb-check input { appearance: none; width: 20px; height: 20px; min-width: 20px; margin: 0; border: 1.5px solid #d5d8de; border-radius: 5px; background: white; cursor: pointer; display: grid; place-items: center; }
    .gb-check input:checked { border-color: var(--gb-accent); background: var(--gb-accent); }
    .gb-check input:checked::after { content: ''; width: 7px; height: 4px; border: solid white; border-width: 0 0 2px 2px; transform: rotate(-45deg) translate(1px,-1px); }
    .gb-check input:focus-visible { outline: 3px solid #ffbd99; outline-offset: 2px; }
    .gb-reset { border: none; background: transparent; color: #de4a17; font-size: 11px; font-weight: 750; padding: 4px 0; }
    .gb-reset:hover { color: #ae2f05; }
    .gb-calc-title { margin: 0 0 4px; font-size: 16px; font-weight: 700; letter-spacing: -.01em; }
    .gb-calc-desc { font-size: 11.5px; line-height: 1.5; color: var(--gb-muted); margin: 0; }
    .gb-dial-area { display: flex; flex-direction: column; align-items: center; padding: 11px 0 14px; }
    .gb-dial { width: 230px; height: 230px; position: relative; flex-shrink: 0; }
    .gb-ring { display: block; width: 100%; height: 100%; touch-action: none; user-select: none; cursor: grab; outline: none; border-radius: 50%; }
    .gb-ring:active { cursor: grabbing; }
    .gb-ring-track { fill: none; stroke: #edeef2; stroke-width: 15; stroke-linecap: round; }
    .gb-ring-progress { fill: none; stroke: var(--gb-accent); stroke-width: 15; stroke-linecap: round; }
    .gb-ring-hit { fill: none; stroke: transparent; stroke-width: 37; stroke-linecap: round; }
    .gb-ring-mark { stroke: #dcdee4; stroke-width: 2; stroke-linecap: round; }
    .gb-ring-knob { fill: var(--gb-accent); stroke: white; stroke-width: 4; filter: drop-shadow(0 2px 4px rgba(151, 52, 0, .23)); pointer-events: none; }
    .gb-dial-center { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; pointer-events: none; padding-top: 7px; }
    .gb-shift-input { pointer-events: auto; background: transparent; border: 0; color: var(--gb-text); font-weight: 850; font-size: 53px; width: 108px; line-height: 1; text-align: center; padding: 1px 0; outline-offset: 2px; appearance: textfield; -moz-appearance: textfield; }
    .gb-shift-input::-webkit-inner-spin-button, .gb-shift-input::-webkit-outer-spin-button { appearance: none; -webkit-appearance: none; margin: 0; }
    .gb-shift-caption { color: #7e838d; font-size: 12px; margin-top: 1px; }
    .gb-dial-limit { color: #aaaeb7; font-size: 10px; margin-top: 9px; }
    .gb-adjust { display: flex; gap: 20px; justify-content: center; align-items: center; margin-top: -7px; }
    .gb-mini-button { width: 37px; height: 37px; display: grid; place-items: center; border-radius: 12px; background: #f3f4f6; color: #2b2d32; border: 1px solid #e7e8ed; font-size: 21px; font-weight: 450; line-height: 1; }
    .gb-mini-button:hover:enabled { background: #ffe6d9; color: var(--gb-accent); border-color: #ffd0ba; }
    .gb-mini-button:disabled { opacity: .35; }
    .gb-adjust-note { font-size: 10.5px; color: #a1a5ad; }

    .gb-result {
      background: #f2f4f7;
      border: none;
      border-radius: 20px;
      padding: 16px 14px;
    }
    .gb-result-label { color: #5e6673; font-size: 11.5px; font-weight: 750; }
    .gb-result-amount { display: block; margin: 7px 0 3px; font-size: 28px; line-height: 1.25; font-weight: 850; letter-spacing: -.04em; font-variant-numeric: tabular-nums; white-space: nowrap; color: #26272b; }

    .gb-approx-marker { color: #747b87; font-size: .83em; font-weight: 800; letter-spacing: 0; padding-right: 2px; }
    .gb-range-separator { white-space: pre; color: #26272b; font-weight: 700; letter-spacing: 0; }
    .gb-result-comment { font-size: 11px; color: #7e8490; line-height: 1.4; }
    .gb-result-separator { border: none; border-top: 1px solid #dfe3e9; margin: 16px 0 13px; }
    .gb-result-line { display: flex; justify-content: space-between; gap: 6px 10px; flex-wrap: wrap; align-items: baseline; margin-top: 12px; }
    .gb-result-line > span { font-size: 12px; color: #737b88; font-weight: 500; }
    .gb-result-line strong { font-size: 12px; text-align: right; font-weight: 750; font-variant-numeric: tabular-nums; white-space: nowrap; margin-left: auto; }
    .gb-result-line strong .gb-approx-marker { font-size: .9em; }
    .gb-result-line strong .gb-range-separator { color: #26272b; }
    .gb-no-results-note { background: #fff; border: 1px solid #dfe2e9; padding: 11px 12px; font-size: 11px; color: #5d6674; line-height: 1.45; border-radius: 11px; margin-top: 12px; }
    .gb-disclaimer { color: #a1a5ad; margin: 11px 3px 17px; font-size: 10px; line-height: 1.5; }

    .gb-cta {
      border: 1.5px solid var(--gb-accent); background: var(--gb-accent); color: #fff; display: flex;
      align-items: center; justify-content: center; gap: 8px; width: 100%; border-radius: 14px;
      min-height: 49px; padding: 10px 13px; font-size: 16px; font-weight: 500; line-height: 1.3;
      box-shadow: none;
    }
    .gb-cta:hover:not(:disabled) { background: var(--gb-accent-hover); }
    .gb-cta svg { width: 16px; height: 16px; flex-shrink: 0; }

    .gb-cta:disabled, .gb-cta:disabled:hover {
      background: #aeb3bb; border-color: #aeb3bb; color: #fff; box-shadow: none; cursor: not-allowed;
      line-height: 1.35; padding: 9px 12px; text-align: center;
    }

    .gb-cta-outline {
      margin-top: 10px; background: #fff; color: var(--gb-accent);
      border: 1.5px solid var(--gb-accent); box-shadow: none;
    }
    .gb-cta-outline:hover:not(:disabled) { background: #fff5ef; color: var(--gb-accent-hover); border-color: var(--gb-accent-hover); }
    .gb-results { margin-top: 15px; border: 1px solid #e7e8ee; background: #fbfbfc; border-radius: 16px; padding: 14px; }
    .gb-results-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 9px; gap: 8px; }
    .gb-results-heading strong { font-size: 12px; }
    .gb-results-close { border: none; background: none; color: #8b9098; font-size: 20px; line-height: 1; }
    .gb-results-info { color: #8b9098; font-size: 10px; margin: 0 0 8px; line-height: 1.5; }
    .gb-preview-row { display: grid; gap: 4px; padding: 10px 0; border-bottom: 1px solid #e8e9ee; }
    .gb-preview-row:last-child { border-bottom: none; }
    .gb-preview-row-name { font-size: 11.5px; font-weight: 700; line-height: 1.35; }
    .gb-preview-row-meta { color: #8a9099; font-size: 10.5px; }
    .gb-preview-row-price { color: #d64a0c; font-weight: 800; }
    .gb-hidden { display: none !important; }
    @media (max-width: 600px) {
      .gb-sidebar { width: 100%; max-width: 100%; border: 0; border-radius: 0; padding: 0; box-shadow: none; }
      .gb-header { margin-bottom: 17px; }
      .gb-filter-summary, .gb-count-pill { display: block; }
      .gb-filter-box { padding: 0; margin-bottom: 22px; }

      .gb-result-amount { font-size: 28px; }
    }

    @media (prefers-reduced-motion: reduce) {
      .gb-sidebar *, .gb-sidebar *::before, .gb-sidebar *::after { transition: none !important; animation: none !important; }
    }

.gb-field-helper { margin:7px 0 0; }
.catalog-layout { grid-template-columns:320px minmax(0,1fr); }
.catalog-sidebar { position:static; }
.gb-sidebar { max-width:100%; }
.filter-toggle { display:none; }
@media(max-width:1100px) and (min-width:901px) { .cards-grid { grid-template-columns:minmax(0,1fr); } }
@media(max-width:900px) { .catalog-sidebar { order:0; } .catalog-results { order:1; } .gb-sidebar { margin:0; } }
@media(max-width:600px) { .gb-sidebar { padding:0; } }

/* Catalog column: 320 px (Sergey, H#47468); selected type can occupy two lines. */
#gbTypeValue {
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  white-space:normal;
  overflow-wrap:anywhere;
  overflow:hidden;
}
@media(min-width:601px) { #gbSearch { display:none; } }

#gbReset:not(.gb-hidden) { display:block; margin:0 0 12px auto; }

@media(max-width:340px) {
  .gb-result-line { column-gap:5px; }
  .gb-result-line > span, .gb-result-line strong { font-size:11px; }
}
