.bs-v2-comparison { --v2-ink: #133c34; --v2-teal: #126657; --v2-line: #cad9d0; --v2-paper: #f7f8f3; color: var(--v2-ink); background: var(--v2-paper); }
.bs-v2-comparison .bs-container { width: min(1280px, calc(100% - 48px)); }
.bs-v2-tool-intro { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(260px, .6fr); gap: 24px 70px; padding-block: clamp(8px, 2vw, 24px) 40px; }
.bs-v2-tool-intro .bs-eyebrow { grid-column: 1 / -1; }
.bs-v2-tool-intro h1 { max-width: 900px; margin: 0; font: 600 clamp(3rem, 5.4vw, 5.7rem)/1.02 Georgia, 'Times New Roman', serif; letter-spacing: -.055em; }
.bs-v2-tool-intro > p:not(.bs-eyebrow) { align-self: end; max-width: 38ch; margin: 0; color: #50675e; font-size: clamp(1rem, 1.3vw, 1.2rem); line-height: 1.6; }
.bs-v2-tool-facts { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 12px 28px; padding-top: 26px; border-top: 1px solid var(--v2-line); color: #49645a; font-size: 13px; font-weight: 750; }
.bs-v2-tool-facts span + span::before { content: '•'; margin-right: 28px; color: #8da89b; }
.bs-v2-compare-app { margin-bottom: clamp(60px, 7vw, 100px); overflow: hidden; border: 1px solid var(--v2-line); border-radius: 20px; background: #fff; box-shadow: 0 22px 50px #143d2c11; }
.bs-v2-compare-controls { display: grid; grid-template-columns: 1fr minmax(200px, 1fr) 190px auto; gap: 12px; align-items: end; padding: 24px; border-bottom: 1px solid var(--v2-line); }
.bs-v2-pet-filter { display: flex; flex-wrap: wrap; gap: 5px; min-width: 0; margin: 0; padding: 0; border: 0; }
.bs-v2-pet-filter legend, .bs-v2-search-label, .bs-v2-sort-label { margin-bottom: 7px; color: #476259; font-size: 12px; font-weight: 800; }
.bs-v2-pet-filter button, #bs-v2-reset { min-height: 44px; padding: 9px 14px; border: 1px solid var(--v2-line); border-radius: 8px; background: #fff; color: var(--v2-ink); cursor: pointer; font-size: 13px; font-weight: 750; }
.bs-v2-pet-filter button[aria-pressed='true'] { border-color: var(--v2-teal); background: #eaf3eb; color: #0d5447; }
.bs-v2-feature-filter { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 5px; margin: 0; padding: 10px 0 0; border: 0; }
.bs-v2-feature-filter legend { color: #476259; font-size: 12px; font-weight: 800; }
.bs-v2-feature-filter button { min-height: 44px; padding: 7px 12px; border: 1px solid var(--v2-line); border-radius: 8px; background: #fff; color: var(--v2-ink); cursor: pointer; font-size: 12px; font-weight: 750; }
.bs-v2-feature-filter button[aria-pressed='true'] { border-color: var(--v2-teal); background: #eaf3eb; color: #0d5447; }
.bs-v2-search-label, .bs-v2-sort-label { display: grid; gap: 6px; margin: 0; }
.bs-v2-search-label input, .bs-v2-sort-label select { width: 100%; min-height: 44px; padding: 9px 12px; border: 1px solid var(--v2-line); border-radius: 8px; background: #fff; color: var(--v2-ink); font-size: 15px; }
#bs-v2-reset { white-space: nowrap; }
.bs-v2-compare-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 26px 24px 8px; }
.bs-v2-compare-head h2, .bs-v2-compare-method h2 { margin: 0; font: 600 clamp(1.9rem, 3vw, 3rem)/1.1 Georgia, 'Times New Roman', serif; letter-spacing: -.035em; }
.bs-v2-compare-head p:last-child { color: #4d675e; font-size: 13px; font-weight: 750; }
.bs-v2-compare-note { max-width: 72ch; margin: 0; padding: 0 24px 21px; color: #5b6d63; font-size: 13px; line-height: 1.5; }
.bs-v2-product-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0 24px 24px; list-style: none; }
.bs-v2-product { display: flex; flex-direction: column; min-width: 0; padding: 20px; border: 1px solid var(--v2-line); border-radius: 12px; background: #fbfdf9; }
.bs-v2-product[hidden], #bs-v2-empty[hidden], #bs-v2-show-all[hidden] { display: none !important; }
.bs-v2-product-type { color: var(--v2-teal); font-size: 12px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.bs-v2-product h3 { margin: 12px 0 7px; color: var(--v2-ink); font: 700 20px/1.2 'Nunito Sans', system-ui, sans-serif; }
.bs-v2-product p { margin: 0 0 8px; color: #455e55; font-size: 14px; }
.bs-v2-product small { display: block; min-height: 20px; color: #668076; font-size: 12px; }
.bs-v2-product-data { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: auto; padding-top: 16px; font-size: 13px; }
.bs-v2-product-data span { display: grid; gap: 3px; }
.bs-v2-product-data b { color: #61776c; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; }
.bs-v2-product-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; padding-top: 12px; border-top: 1px solid #dce7de; }
.bs-v2-product-actions :is(a, .bs-v2-product-select) { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 36px; padding: 5px 12px; border: 1px solid var(--v2-teal); border-radius: 7px; background: var(--v2-teal); color: #fff; cursor: pointer; font-size: 12px; font-weight: 800; line-height: 1.2; text-align: center; text-decoration: none; }
.bs-v2-product-actions .bs-v2-product-select { display: none; }
.is-enhanced .bs-v2-product-actions .bs-v2-product-select { display: inline-flex; }
.bs-v2-product-select[aria-pressed='true'] { background: #eaf3eb; color: #0d5447; }
.bs-v2-product-actions :is(a, .bs-v2-product-select):hover { background: #0d5447; color: #fff; }
.bs-v2-product-actions .bs-v2-product-select[aria-pressed='true']:hover { background: #dceee2; color: #0d5447; }
.bs-v2-product-actions :is(a, .bs-v2-product-select):focus-visible { outline: 3px solid #123d37; outline-offset: 3px; }
#bs-v2-empty { margin: 0 24px 24px; padding: 25px; background: #f1f6f1; }
#bs-v2-show-all { display: block; width: calc(100% - 48px); min-height: 48px; margin: 0 24px 24px; border: 1px solid #126657; border-radius: 8px; background: #fff; color: #126657; cursor: pointer; font-weight: 800; }
.bs-v2-pair { margin: 4px 24px 24px; padding: 24px; border: 1px solid var(--v2-line); border-radius: 12px; background: #f7faf6; scroll-margin-top: 100px; }
.bs-v2-pair-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.bs-v2-pair-head h2 { margin: 0; font: 600 clamp(1.7rem, 2.6vw, 2.6rem)/1.1 Georgia, 'Times New Roman', serif; letter-spacing: -.035em; }
.bs-v2-pair-head p:last-child { max-width: 32ch; color: #526b60; font-size: 13px; }
.bs-v2-pair-scroll { max-width: 100%; overflow-x: auto; }
.bs-v2-pair table { width: 100%; min-width: 620px; border-collapse: collapse; background: #fff; text-align: left; }
.bs-v2-pair th, .bs-v2-pair td { padding: 15px 17px; border: 1px solid #dae6dc; font-size: 14px; line-height: 1.45; vertical-align: top; }
.bs-v2-pair thead th { background: #e8f2e9; color: #123c34; font-weight: 850; }
.bs-v2-pair tbody th { width: 25%; color: #4e665b; font-weight: 800; }
.bs-v2-pair-caveat { margin: 15px 0 0; color: #5b6e64; font-size: 12px; }
.bs-v2-compare-method { display: grid; grid-template-columns: .45fr 1fr; gap: 20px 70px; padding-bottom: 90px; }
.bs-v2-compare-method .bs-eyebrow { grid-column: 1 / -1; }
.bs-v2-compare-method h2 { max-width: 12ch; }
.bs-v2-compare-method p:not(.bs-eyebrow) { max-width: 72ch; margin: 0; color: #50675e; font-size: 16px; line-height: 1.7; }
.bs-v2-compare-method > a { grid-column: 2; font-weight: 800; }
.bs-v2-comparison :is(a, button, input, select):focus-visible { outline: 3px solid #d8ac68; outline-offset: 3px; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) { .bs-v2-product { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; } .bs-v2-product:hover { transform: translateY(-3px); border-color: #9fbfac; box-shadow: 0 13px 25px #143d2c10; } }
@media (max-width: 1020px) { .bs-v2-compare-controls { grid-template-columns: 1fr 1fr; } .bs-v2-product-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 650px) { .bs-v2-comparison .bs-container { width: min(100% - 32px, 1280px); } .bs-v2-tool-intro { display: block; padding-block: 43px 31px; } .bs-v2-tool-intro h1 { margin: 14px 0 20px; font-size: clamp(2.7rem, 11vw, 4rem); } .bs-v2-tool-facts { gap: 7px 18px; margin-top: 22px; } .bs-v2-tool-facts span + span::before { margin-right: 18px; } .bs-v2-compare-controls { grid-template-columns: 1fr; padding: 18px; } .bs-v2-compare-head { align-items: start; padding: 22px 18px 8px; } .bs-v2-compare-note { padding-inline: 18px; } .bs-v2-product-list { grid-template-columns: 1fr; gap: 8px; padding: 0 18px 18px; } .bs-v2-product { padding: 15px; } .bs-v2-product h3 { margin: 6px 0 3px; font-size: 18px; } .bs-v2-product p { margin: 0 0 5px; } .bs-v2-product small { min-height: 0; } .bs-v2-product-data { padding-top: 10px; } .bs-v2-product-actions { margin-top: 10px; padding-top: 8px; } #bs-v2-show-all { width: calc(100% - 36px); margin-inline: 18px; } .bs-v2-pair { margin: 0 18px 18px; padding: 16px; } .bs-v2-pair-head { display: block; } .bs-v2-pair-head p:last-child { margin-bottom: 0; } .bs-v2-compare-method { display: block; padding-bottom: 60px; } .bs-v2-compare-method h2 { margin: 10px 0 16px; } .bs-v2-compare-method > a { display: inline-block; margin-top: 18px; } }

@media (max-width: 650px) { .bs-v2-product-actions > :is(a, .bs-v2-product-select) { flex: 1 1 130px; min-height: 44px; } }

/* BS-POLISH-1: theme-token layer (light + dark follow the palette) and the spec table (all catalogue models) */
.bs-v2-comparison { --v2-ink: var(--ink); --v2-teal: var(--teal); --v2-line: var(--line); --v2-paper: var(--bg); }
.bs-v2-comparison .bs-v2-compare-app { background: var(--paper); box-shadow: var(--sh); }
.bs-v2-comparison :is(.bs-v2-pet-filter button, .bs-v2-feature-filter button, #bs-v2-reset, #bs-v2-more, .bs-v2-search-label input, .bs-v2-sort-label select, #bs-v2-show-all) { background: var(--paper); color: var(--ink); border-color: var(--line2); }
.bs-v2-comparison :is(.bs-v2-pet-filter button, .bs-v2-feature-filter button)[aria-pressed='true'] { background: var(--sage); border-color: var(--teal); color: var(--ink); }
.bs-v2-comparison :is(.bs-v2-pet-filter legend, .bs-v2-feature-filter legend, .bs-v2-search-label, .bs-v2-sort-label, .bs-v2-compare-head p:last-child, .bs-v2-compare-note, .bs-v2-pair-caveat, .bs-v2-pair-head p:last-child, .bs-v2-tool-intro > p:not(.bs-eyebrow), .bs-v2-compare-method p:not(.bs-eyebrow)) { color: var(--mut); }
.bs-v2-comparison .bs-v2-pair { background: var(--mist); border-color: var(--line); }
.bs-v2-comparison .bs-v2-pair table { background: var(--paper); }
.bs-v2-comparison .bs-v2-pair :is(th, td) { border-color: var(--line); color: var(--txt); }
.bs-v2-comparison .bs-v2-pair thead th { background: var(--mist); color: var(--ink); }
.bs-v2-comparison .bs-v2-pair tbody th { color: var(--mut); }
#bs-v2-empty { background: var(--mist); color: var(--txt); }
.bs-v2-spec-tools { display: flex; justify-content: flex-end; padding: 0 24px 10px; }
#bs-v2-more { min-height: 44px; padding: 9px 16px; border: 1px solid var(--line2); border-radius: 8px; cursor: pointer; font-size: 13px; font-weight: 750; }
.bs-v2-spec-wrap { margin: 0 24px 24px; overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; }
.bs-v2-spec { width: 100%; min-width: 880px; border-collapse: collapse; font-size: 14px; line-height: 1.4; color: var(--txt); }
.bs-v2-spec thead th { position: sticky; top: 0; padding: 12px 14px; background: var(--mist); color: var(--mut); font: 700 12px/1.2 ui-sans-serif, system-ui, sans-serif; letter-spacing: .06em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.bs-v2-spec td, .bs-v2-spec tbody th { padding: 12px 14px; border-top: 1px solid var(--line); text-align: left; vertical-align: top; font-weight: 400; }
.bs-v2-spec tbody th.m { min-width: 240px; }
.bs-v2-spec .bs-v2-product { display: table-row; min-width: 0; padding: 0; border: 0; border-radius: 0; background: none; transform: none; box-shadow: none; }
.bs-v2-spec .bs-v2-product:hover { background: var(--sage); transform: none; box-shadow: none; border: 0; }
.bs-v2-spec .bs-v2-product[hidden] { display: none !important; }
.bs-v2-spec .x { display: none; }
.bs-v2-spec.show-more .x { display: table-cell; }
.bs-v2-spec.show-more { min-width: 1500px; }
.bs-v2-spec tbody th.m { display: table-cell; }
.bs-v2-spec .m > .bs-v2-thumb { float: left; width: 52px; height: 52px; margin: 0 12px 0 0; border-radius: 8px; background: #ecf2e9 center / contain no-repeat; overflow: hidden; }
.bs-v2-spec .m > .bs-v2-thumb img { display: block; width: 100%; height: 100%; object-fit: contain; }
.bs-v2-spec .bs-v2-product-copy { display: block; overflow: hidden; }
.bs-v2-spec h3 { margin: 4px 0 2px; font: 700 16px/1.25 ui-sans-serif, system-ui, sans-serif; color: var(--ink); }
.bs-v2-spec small { min-height: 0; color: var(--mut); }
.bs-v2-spec .bs-v2-product-actions { display: flex; flex-direction: column; align-items: stretch; gap: 6px; margin: 0; padding: 0; border: 0; min-width: 150px; }
.bs-v2-spec .bs-v2-product-actions :is(a, .bs-v2-product-select) { min-height: 44px; border-color: var(--teal); background: var(--btn); color: var(--btnt); }
.bs-v2-spec .bs-v2-product-actions a:not(.shop) { background: transparent; color: var(--teal); }
.bs-v2-spec .bs-v2-product-actions .bs-v2-product-select[aria-pressed='true'] { background: var(--sage); color: var(--ink); }
.bs-v2-spec .bs-v2-product-actions :is(a, .bs-v2-product-select):hover { background: var(--btnh); color: var(--btnt); }
@media (max-width: 760px) {
  .bs-v2-spec-wrap { margin: 0 18px 18px; overflow: visible; border: 0; }
  .bs-v2-spec, .bs-v2-spec.show-more { min-width: 0; display: block; }
  .bs-v2-spec thead { display: none; }
  .bs-v2-spec tbody { display: grid; gap: 10px; }
  .bs-v2-spec .bs-v2-product { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
  .bs-v2-spec .bs-v2-product[hidden] { display: none !important; }
  .bs-v2-spec .bs-v2-product:hover { background: var(--paper); border: 1px solid var(--line); }
  .bs-v2-spec tbody th.m, .bs-v2-spec td.a { grid-column: 1 / -1; display: block; min-width: 0; }
  .bs-v2-spec td, .bs-v2-spec tbody th { padding: 6px 0; border-top: 0; }
  .bs-v2-spec td[data-label]::before { content: attr(data-label); display: block; color: var(--mut); font: 700 12px/1.2 ui-sans-serif, system-ui, sans-serif; letter-spacing: .06em; text-transform: uppercase; }
  .bs-v2-spec .x, .bs-v2-spec.show-more .x { display: none; }
  .bs-v2-spec.show-more td.x { display: block; grid-column: 1 / -1; }
  .bs-v2-spec .bs-v2-product-actions { flex-direction: row; flex-wrap: wrap; min-width: 0; margin-top: 6px; padding-top: 10px; border-top: 1px solid var(--line); }
  .bs-v2-spec .bs-v2-product-actions > :is(a, .bs-v2-product-select) { flex: 1 1 130px; min-height: 44px; }
  .bs-v2-spec-tools { padding: 0 18px 10px; }
}
/* BS-AUDIT-F1 F22: one row of actions on wide screens instead of three stacked buttons */
@media (min-width: 1100px) { .bs-v2-spec .bs-v2-product-actions { flex-direction: row; flex-wrap: wrap; gap: 8px; min-width: 230px; } }
