/* Self-contained specification UI; independent of legacy Jet Table layout rules. */
.bf-specs { --spec-ink:#222222; --spec-muted:#666666; --spec-paper:#F5F5F5; --spec-orange:#B53F22; --spec-line:#dedede; padding:72px 0; background:var(--spec-paper); color:var(--spec-ink); font:400 16px/1.6 'Poppins',sans-serif; }
.bf-specs *, .bf-specs *::before, .bf-specs *::after { box-sizing:border-box; }
.bf-specs [hidden] { display:none!important; }
.bf-specs-inner { max-width:calc(var(--bf-max) + 2 * var(--bf-gutter)); margin:auto; padding:0 var(--bf-gutter); min-width:0; }
.bf-specs .bf-specs-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:32px; }
.bf-specs .bf-spec-eyebrow { display:flex; align-items:center; gap:12px; margin:0 0 16px; color:var(--spec-muted); font-size:16px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.bf-spec-eyebrow::before { content:''; flex:0 0 24px; height:3px; background:var(--spec-orange); }
.bf-specs h2 { margin:0; font:400 clamp(36px,4vw,52px)/1.1 'Bakbak One',sans-serif; color:var(--spec-ink); }
.bf-specs .bf-specs-heading > p { max-width:350px; margin:0; color:var(--spec-muted); }
.bf-specs h3, [data-bf-product] .bf-specs h3 { font:400 26px/1.2 'Bakbak One',sans-serif; margin:0; color:var(--spec-ink); }
.bf-specs p { margin:0; }
.bf-specs a { color:var(--spec-ink); text-underline-offset:4px; }
.bf-spec-card { border:1px solid var(--spec-line); border-radius:4px; background:#fff; margin-bottom:24px; overflow:hidden; min-width:0; box-shadow:0 4px 18px #22222205; }
.bf-spec-card-head { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:28px 32px; }
.bf-spec-card-head p { max-width:580px; margin-top:8px; color:var(--spec-muted); font-size:16px; }
.bf-spec-views { display:flex; flex-shrink:0; align-self:center; gap:4px; padding:4px; background:var(--spec-paper); border-radius:4px; }
.bf-specs .bf-spec-views button { border:1px solid transparent; border-radius:5px; padding:10px 14px; min-height:44px; margin:0; font:600 16px/1.5 'Poppins',sans-serif; white-space:nowrap; color:var(--spec-muted); background:transparent; cursor:pointer; }
.bf-specs .bf-spec-views button:hover { color:var(--spec-ink); }
.bf-specs .bf-spec-views button[aria-pressed="true"] { color:var(--spec-ink); background:#fff; border-color:var(--spec-line); box-shadow:0 2px 4px #2222220b; }
.bf-specs :is(button,a,select,summary,[tabindex="0"]):focus-visible { outline:3px solid var(--spec-orange); outline-offset:3px; }
.bf-spec-scroll { width:100%; max-width:100%; overflow:auto; max-height:610px; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#999 var(--spec-paper); scroll-behavior:smooth; }
.bf-specs .bf-spec-table { display:table; width:100%; table-layout:fixed; min-width:var(--spec-table-width,580px); margin:0; border:0; border-collapse:separate; border-spacing:0; color:var(--spec-ink); font:400 16px/1.5 'Poppins',sans-serif; text-align:right; font-variant-numeric:tabular-nums; }
.bf-spec-table caption { position:absolute; width:1px; height:1px; padding:0; clip-path:inset(50%); overflow:hidden; white-space:nowrap; }
.bf-specs .bf-spec-table :is(th,td) { border:0; border-bottom:1px solid var(--spec-line); padding:18px 24px; vertical-align:middle; line-height:1.55; text-align:right; white-space:normal; overflow-wrap:break-word; background:#fff; }
.bf-specs .bf-spec-table thead th { position:sticky; top:0; z-index:3; height:64px; color:#fff; background:var(--spec-ink); border:0; font-size:16px; font-weight:600; }
.bf-specs .bf-spec-table :is(th,td):first-child { width:230px; text-align:left; }
.bf-specs .bf-spec-table tbody th[scope="row"] { position:sticky; left:0; z-index:1; font-weight:500; background:#fff; border-right:1px solid var(--spec-line); }
.bf-specs .bf-spec-table thead th:first-child { left:0; z-index:4; box-shadow:1px 0 0 #555; font-size:16px; color:#fff; }
.bf-specs .bf-spec-table tbody tr:not(.bf-spec-group):nth-child(even) > * { background:#fafafa; }
.bf-specs .bf-spec-table tbody tr:not(.bf-spec-group):hover > * { background:#f0f0f0; }
.bf-specs .bf-spec-table .bf-spec-group th { padding:12px 24px; background:#eee; color:var(--spec-muted); font-size:16px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; text-align:left; }
.bf-specs .bf-spec-table tbody:last-child tr:last-child > * { border-bottom:0; }
.bf-specs .bf-spec-table .bf-spec-confirm { font-size:16px; color:var(--spec-muted); text-align:left; }
.bf-spec-fallback { padding:12px 24px; border-top:1px solid var(--spec-line); color:var(--spec-muted); font-size:16px; }
/* Two choices, no nested scrolling. The full source table remains the no-JS fallback. */
.bf-spec-scroll--fit { max-height:none!important; overflow:visible; }
.bf-specs .bf-spec-scroll--fit .bf-spec-table { min-width:0; }
.bf-specs .bf-spec-scroll--fit .bf-spec-table :is(th,td) { position:static; }
.bf-spec-compare-pickers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; padding:0 32px 24px; }
.bf-spec-compare-pickers > div { min-width:0; }
.bf-spec-compare-pickers label { display:block; margin-bottom:8px; color:var(--spec-muted); font-size:16px; font-weight:600; }
.bf-specs .bf-spec-compare-pickers select { display:block; width:100%; max-width:100%; min-width:0; min-height:52px; border:1px solid #999; border-radius:6px; color:var(--spec-ink); background-color:#fff; font:600 16px/1.5 'Poppins',sans-serif; padding:12px 32px 12px 14px; text-overflow:ellipsis; cursor:pointer; }
.bf-specs .bf-spec-compare-pickers select:hover { border-color:var(--spec-ink); }
.bf-specs .bf-spec-table--pair :is(th,td) { text-align:left; }
.bf-specs .bf-spec-table--pair :is(th,td):first-child { width:34%; }
.bf-specs .bf-spec-table--pair tbody th[scope="row"] { border-right:0; color:var(--spec-muted); }
.bf-specs .bf-spec-table--pair td { border-left:1px solid var(--spec-line); font-weight:500; }
.bf-specs .bf-spec-table--pair thead th:first-child { box-shadow:none; }
.bf-spec-value-model { display:none; }
.bf-spec-notes { padding:20px 32px; border-top:1px solid var(--spec-line); background:#fafafa; color:var(--spec-muted); font-size:16px; }
.bf-spec-notes p + p { margin-top:6px; }
.bf-spec-single { padding:0 32px 28px; }
.bf-spec-picker { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 24px; background:var(--spec-paper); border-radius:4px; }
.bf-spec-picker label { font-size:16px; font-weight:500; }
.bf-specs .bf-spec-picker select { min-height:48px; width:auto; min-width:200px; max-width:100%; border:1px solid #aaa; border-radius:5px; background:#fff; color:var(--spec-ink); font:600 16px/1.5 'Poppins',sans-serif; padding:10px 40px 10px 14px; }
.bf-specs .bf-spec-model h4 { font:400 30px/1.2 'Bakbak One',sans-serif; margin:24px 0 12px; color:var(--spec-ink); }
.bf-specs .bf-spec-model h5 { margin:28px 0 8px; font:600 12px/1.5 'Poppins',sans-serif; text-transform:uppercase; letter-spacing:.08em; color:var(--spec-muted); }
.bf-spec-model dl { margin:0; }
.bf-spec-model dl > div { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:16px 0; border-bottom:1px solid var(--spec-line); }
.bf-spec-model dt { font-weight:400; color:var(--spec-muted); }
.bf-spec-model dd { margin:0; text-align:right; font-weight:500; font-variant-numeric:tabular-nums; }
.bf-spec-model .bf-spec-confirm { font-size:16px; color:var(--spec-muted); }
.bf-spec-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.bf-spec-options { margin:40px 0; }
.bf-spec-subhead { margin-bottom:20px; }
.bf-spec-subhead p { margin-top:8px; color:var(--spec-muted); font-size:16px; }
.bf-spec-options dl { margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.bf-spec-options dl > div { background:#fff; padding:20px 24px; border:1px solid var(--spec-line); border-radius:4px; }
.bf-spec-options dt { color:var(--spec-muted); font-size:16px; margin-bottom:12px; font-weight:500; }
.bf-spec-options dd { margin:0; font-size:16px; font-weight:500; }
.bf-spec-options dd span { display:block; }
.bf-spec-options dd span + span { margin-top:6px; }
.bf-spec-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0 0 24px; padding:24px 0; border-block:1px solid #ccc; }
.bf-spec-facts > div { padding:0 24px; border-right:1px solid #ccc; }
.bf-spec-facts > div:first-child { padding-left:0; }
.bf-spec-facts > div:last-child { border:0; }
.bf-spec-facts dt { color:var(--spec-muted); font-size:16px; margin-bottom:8px; }
.bf-spec-facts dd { margin:0; font:400 clamp(24px,3vw,32px)/1.2 'Bakbak One',sans-serif; }
.bf-spec-features { padding:0; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:12px 32px; }
.bf-spec-features li { padding-left:16px; border-left:3px solid var(--spec-orange); }
.bf-spec-download { margin-block:24px!important; }
.bf-spec-diagram { margin:24px 0; border-block:1px solid var(--spec-line); }
.bf-spec-diagram summary { padding:20px 0; min-height:60px; cursor:pointer; font-weight:600; }
.bf-spec-diagram img { display:block; max-width:100%; height:auto; margin:20px auto; border-radius:6px; }
.bf-spec-diagram a { display:inline-block; min-height:44px; padding:10px 0; }
.bf-spec-help { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:32px; margin-top:32px; background:#222; color:#fff; border-radius:4px; }
.bf-specs .bf-spec-help h3 { color:#fff; }
.bf-spec-help p { margin:10px 0; }
.bf-specs .bf-spec-help a { color:#fff; }
.bf-spec-help > div:last-child { flex-shrink:0; display:flex; flex-direction:column; align-items:center; }
.bf-specs .bf-spec-enquire { display:inline-flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 20px; min-height:52px; color:#fff; background:var(--spec-orange); font-size:16px; font-weight:600; border-radius:5px; text-decoration:none; }
.bf-specs .bf-spec-enquire:hover { color:var(--spec-ink); background:#fff; }
.bf-specs .bf-spec-demo { min-height:44px; padding:12px; font-size:16px; }
.bf-specs .bf-spec-help :focus-visible { outline-color:#fff; }
@media(max-width:1023px) {
 .bf-spec-card-head { display:block; padding:24px; }
 .bf-spec-views { width:max-content; max-width:100%; margin-top:20px; }
 .bf-spec-help { align-items:start; }
 .bf-spec-help > div:last-child { flex-shrink:1; }
 .bf-specs .bf-spec-enquire { font-size:16px; }
}
@media(max-width:767px) {
 .bf-specs { padding:40px 0; }
 .bf-specs-inner { padding:0 20px; }
 .bf-specs .bf-specs-heading { display:block; margin-bottom:24px; }
 .bf-specs .bf-specs-heading > p { margin-top:16px; }
 .bf-specs .bf-spec-eyebrow { font-size:16px; }
 .bf-spec-card-head { padding:22px 20px; }
 .bf-specs h3,[data-bf-product] .bf-specs h3 { font-size:24px; }
 .bf-spec-card-head p { font-size:16px; }
 .bf-spec-views { width:100%; }
 .bf-specs .bf-spec-views button { flex:1; padding-inline:6px; font-size:16px; white-space:normal; }
 .bf-spec-single { padding:0 20px 24px; }
 .bf-spec-picker { display:block; padding:16px; }
 .bf-spec-picker label { display:block; margin-bottom:8px; font-size:16px; }
 .bf-specs .bf-spec-picker select { width:100%; min-width:0; }
 .bf-specs .bf-spec-model h4 { font-size:28px; }
 .bf-spec-model dl > div { gap:16px; font-size:16px; }
 .bf-specs .bf-spec-table :is(th,td) { padding:15px 16px; font-size:16px; }
 .bf-specs .bf-spec-table :is(th,td):first-child { width:150px; }
 .bf-specs .bf-spec-table thead th { font-size:16px; }
 .bf-spec-scroll { max-height:540px; }
 .bf-spec-compare-pickers { padding:0 16px 20px; gap:12px; }
 .bf-specs .bf-spec-compare-pickers select { padding-left:10px; padding-right:24px; }
 .bf-specs .bf-spec-table--pair { display:block; }
 .bf-specs .bf-spec-table--pair thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 .bf-specs .bf-spec-table--pair tbody { display:block; border:0; }
 .bf-specs .bf-spec-table--pair tbody tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-bottom:1px solid var(--spec-line); padding:16px; gap:10px 0; }
 .bf-specs .bf-spec-table--pair tbody tr > :is(th,td) { width:auto; padding:0; border:0; background:transparent!important; text-align:left; font-size:16px; overflow-wrap:anywhere; }
 .bf-specs .bf-spec-table--pair tbody tr:nth-child(even) { background:#fafafa; }
 .bf-specs .bf-spec-table--pair tbody tr > th { grid-column:1 / -1; font-size:16px; font-weight:600; color:var(--spec-ink); }
 .bf-specs .bf-spec-table--pair tbody th[scope="row"] { width:auto; color:var(--spec-ink); }
 .bf-specs .bf-spec-table--pair tbody tr > td:nth-child(2) { padding-right:12px; }
 .bf-specs .bf-spec-table--pair tbody tr > td:last-child { border-left:1px solid var(--spec-line); padding-left:12px; }
 .bf-specs .bf-spec-table--pair tbody .bf-spec-group { padding:12px 16px; background:#eee; }
 .bf-specs .bf-spec-table--pair .bf-spec-group th { width:auto; padding:0; font-size:16px; color:var(--spec-muted); }
 .bf-specs .bf-spec-table--pair .bf-spec-confirm { font-size:16px; }
 .bf-spec-value-model { display:block; color:var(--spec-muted); font-size:16px; font-weight:400; margin-bottom:4px; }
 .bf-spec-value { display:block; }
 .bf-specs .bf-spec-table--pair tbody:last-child tr:last-child { border-bottom:0; }
 .bf-spec-notes { padding:18px 20px; }
 .bf-spec-options dl { grid-template-columns:1fr; }
 .bf-spec-options dl > div { padding:18px 20px; }
 .bf-spec-facts { grid-template-columns:1fr 1fr; gap:20px 0; }
 .bf-spec-facts > div:nth-child(odd) { padding-left:0; }
 .bf-spec-facts > div:nth-child(even) { border-right:0; }
 .bf-spec-features { grid-template-columns:1fr; font-size:16px; }
 .bf-spec-help { display:block; padding:24px; font-size:16px; overflow-wrap:anywhere; }
 .bf-spec-help > div:last-child { margin-top:20px; align-items:stretch; text-align:center; }
 .bf-specs .bf-spec-enquire { white-space:normal; }
 .bf-specs .bf-spec-card--simple .bf-spec-table { min-width:0; table-layout:fixed; }
 .bf-specs .bf-spec-card--simple .bf-spec-table th:first-child { width:62%; }
 .bf-specs .bf-spec-card--simple .bf-spec-table td { width:38%; }
}
@media(prefers-reduced-motion:reduce) { .bf-spec-scroll { scroll-behavior:auto; } }
@media print {
 .bf-specs { padding:0; background:#fff; }
 .bf-specs .bf-spec-views,.bf-specs .bf-spec-single,.bf-specs .bf-spec-help,.bf-specs .bf-spec-compare-pickers,.bf-specs .bf-spec-fallback { display:none!important; }
 .bf-specs .bf-spec-comparison[hidden] { display:block!important; }
 .bf-spec-scroll { overflow:visible; max-height:none; }
 .bf-specs .bf-spec-table { min-width:0; font-size:9px; }
 .bf-specs .bf-spec-table :is(th,td) { padding:6px; position:static!important; }
}
.bf-specs .bf-spec-table :is(th,td) { font-family:'Poppins',sans-serif; }
#models-specifications.bf-specs { scroll-margin-top:0; }
