/* Targeted refinements for the existing Elementor export. */
:root { --bf-orange:#D14D2C; --bf-ink:#222222; --bf-grey:#666666; --bf-paper:#F5F5F5; --bf-header-height:112px; }
html { scroll-padding-top:var(--bf-header-height); }
body { color:var(--bf-ink); }
.bf-ux-header *, .bf-range *, .bf-enquiry *, .bf-product-support *, .bf-ux-stories * { box-sizing:border-box; }
.bf-ux-wrap { max-width:1280px; padding:0 40px; margin:auto; width:100%; }
.bf-ux-header { position:sticky; top:0; z-index:200; background:var(--bf-ink); color:#fff; font:400 14px/1.5 'Poppins',sans-serif; }
.bf-ux-header a { color:#fff; text-decoration:none; }
.bf-ux-header__inner { display:flex; align-items:center; gap:28px; min-height:80px; padding:12px 40px; max-width:1520px; margin:auto; }
.bf-ux-logo { display:flex; flex-shrink:0; align-items:center; min-height:44px; }
.bf-ux-logo img { width:220px; height:auto; border-radius:0; }
.bf-ux-nav { display:flex; align-items:center; gap:22px; margin-left:auto; }
.bf-ux-nav > a, .bf-ux-nav summary { display:flex; align-items:center; min-height:44px; cursor:pointer; white-space:nowrap; }
.bf-ux-header a:hover { text-decoration:underline; text-underline-offset:5px; }
.bf-ux-products > summary { gap:10px; list-style:none; }
.bf-ux-products > summary::after { content:'⌄'; }
.bf-ux-products > summary::-webkit-details-marker { display:none; }
.bf-ux-products { position:relative; }
.bf-ux-dropdown { position:absolute; top:calc(100% + 12px); left:-24px; width:560px; padding:24px; background:#fff; color:var(--bf-ink); border-top:3px solid var(--bf-orange); box-shadow:0 12px 32px #2223; }
.bf-ux-header .bf-ux-dropdown a { color:var(--bf-ink); display:flex; align-items:center; min-height:48px; }
.bf-ux-dropdown ul { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; padding:12px 0 0; list-style:none; margin:12px 0 0; border-top:1px solid #ddd; }
.bf-ux-all { font-weight:600; justify-content:space-between; }
.bf-ux-header__actions { display:flex; align-items:center; gap:20px; }
.bf-ux-dealer { min-height:44px; display:flex; align-items:center; white-space:nowrap; }
.bf-ux-button, .bf-ux-header .bf-ux-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 20px; background:var(--bf-orange); color:#fff; font-size:16px; font-weight:600; border:2px solid transparent; border-radius:3px; text-decoration:none; white-space:nowrap; }
.bf-ux-header .bf-ux-button:hover { background:#fff; color:var(--bf-ink); text-decoration:none; }
.bf-ux-utility { display:flex; justify-content:flex-end; align-items:center; gap:24px; padding:0 40px; min-height:32px; max-width:1520px; margin:auto; border-top:1px solid #ffffff26; font-size:12px; }
.bf-ux-utility a { display:inline-flex; align-items:center; min-height:32px; }
.bf-ux-menu, .bf-ux-header .bf-ux-call { display:none; }
.bf-ux-skip { position:fixed; top:8px; left:16px; padding:12px 20px; background:#fff; color:#222!important; transform:translateY(-200%); z-index:220; }
.bf-ux-skip:focus { transform:none; }
#bf-main { scroll-margin-top:var(--bf-header-height); }
.bf-ux-header :focus-visible { outline:3px solid #fff; outline-offset:4px; }
.bf-ux-dropdown :focus-visible { outline-color:var(--bf-orange); }
body :is(a,button,input,select,textarea,summary,[tabindex="0"]):focus-visible { outline:3px solid var(--bf-orange); outline-offset:4px; }
body .bf-ux-header :focus-visible { outline-color:#fff; }
body .bf-ux-dropdown :focus-visible { outline-color:var(--bf-orange); }
.bf-ux-campaign { padding:20px; text-align:center; background:var(--bf-paper); color:var(--bf-grey); font:400 13px/1.7 'Poppins',sans-serif; }
.bf-ux-campaign a { color:var(--bf-ink); text-decoration:underline; text-underline-offset:3px; display:inline-block; padding:6px 0; }
.elementor-8107, #elementor-popup-modal-8107 { display:none!important; }
/* Machinery has a stable place on the page; no carousel, overlays or decorative frame. */
.bf-range { background:var(--bf-paper); padding:72px 0; color:var(--bf-ink); font:400 16px/1.65 'Poppins',sans-serif; }
.bf-range-heading { display:flex; justify-content:space-between; align-items:end; gap:48px; margin-bottom:32px; }
.bf-range h2,.bf-ux-stories h2,.bf-product-support h2,.bf-enquiry h2 { font:400 clamp(32px,3.3vw,46px)/1.12 'Bakbak One',sans-serif; color:var(--bf-ink); margin:0; }
.bf-ux-eyebrow { text-transform:uppercase; letter-spacing:.12em; font:600 12px/1.5 'Poppins',sans-serif; color:var(--bf-grey); margin:0 0 14px; display:flex; align-items:center; gap:12px; }
.bf-ux-eyebrow::before { content:''; width:24px; height:3px; background:var(--bf-orange); flex-shrink:0; }
.bf-range-heading > p { max-width:390px; margin:0; color:var(--bf-grey); }
.bf-range-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.bf-range-card { background:#fff; display:flex; flex-direction:column; min-width:0; border:1px solid #ddd; border-radius:3px; overflow:hidden; }
.bf-range-photo { aspect-ratio:3/2; display:block; overflow:hidden; background:var(--bf-paper); }
.bf-range-photo img { width:100%; height:100%; object-fit:cover; border-radius:0; transition:transform .2s; }
.bf-range-card:hover .bf-range-photo img { transform:scale(1.025); }
.bf-range-copy { display:flex; flex:1; flex-direction:column; align-items:start; padding:24px; }
.bf-range h3 { font:400 27px/1.2 'Bakbak One',sans-serif; margin:0 0 12px; color:var(--bf-ink); }
.bf-range-copy p { margin:0 0 24px; color:var(--bf-grey); }
.bf-range-link { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; margin-top:auto; min-height:48px; border-top:2px solid var(--bf-orange); padding-top:14px; font-weight:600; font-size:14px; color:var(--bf-ink); text-decoration:none; }
.bf-range-link:hover { color:var(--bf-ink); text-decoration:underline; text-underline-offset:4px; }
.bf-range-link span { font-size:22px; color:var(--bf-orange); }
.bf-ux-stories { padding:72px 0; background:#fff; font:400 16px/1.65 'Poppins',sans-serif; }
.bf-ux-stories-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin:32px 0; }
.bf-ux-stories article { border-bottom:1px solid #ddd; }
.bf-ux-stories article img { width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:3px; }
.bf-ux-stories article > div { padding:24px 0; }
.bf-ux-stories h3 { font:400 26px/1.2 'Bakbak One',sans-serif; margin:0 0 16px; }
.bf-ux-stories a { color:var(--bf-ink); text-underline-offset:4px; }
.bf-ux-stories p:not(.bf-ux-eyebrow) { color:var(--bf-grey); }
/* Product refinements are scoped to the machinery pages, preserving other Elementor templates. */
[data-bf-product] .elementor { --e-global-color-primary:#D14D2C; }
[data-bf-product] .bf-page-hero { --min-height:240px!important; --padding-top:56px!important; --padding-bottom:56px!important; }
[data-bf-product] .bf-page-hero h1 { font:400 clamp(40px,5vw,64px)/1.08 'Bakbak One',sans-serif!important; text-transform:none!important; }
[data-bf-product] .bf-page-hero .elementor-absolute, [data-bf-product] [data-elementor-type="wp-page"] .elementor-widget-image:has(img[src*="logomark"]), .home main .elementor-widget-image:has(img[src*="logomark"]) { display:none!important; }
[data-bf-product] [data-elementor-type="wp-page"] .elementor-heading-title { font-family:'Bakbak One',sans-serif; line-height:1.2; }
[data-bf-product] [data-elementor-type="wp-page"] h2.elementor-heading-title { font-size:clamp(30px,3vw,42px); }
[data-bf-product] [data-elementor-type="wp-page"] h3 { font-size:24px; line-height:1.3; }
[data-bf-product] [data-elementor-type="wp-page"] .elementor-widget-text-editor { font-family:'Poppins',sans-serif; line-height:1.75; }
[data-bf-product] [data-elementor-type="wp-page"] .elementor-widget-text-editor p { max-width:75ch; }
[data-bf-product] .elementor-button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; font:600 16px/1.5 'Poppins',sans-serif; border-radius:3px; }
[data-bf-product] .elementor-button[href="#enquire"] { background:var(--bf-orange)!important; color:#fff!important; border-color:var(--bf-orange)!important; }
.bf-product-nav { background:#fff; border-bottom:1px solid #ddd; font:500 14px/1.5 'Poppins',sans-serif; }
.bf-product-nav .bf-ux-wrap { display:flex; align-items:center; flex-wrap:wrap; gap:8px 36px; padding-top:12px; padding-bottom:12px; }
.bf-product-nav a, #ob2 .bf-product-nav a { display:inline-flex; align-items:center; min-height:44px; color:var(--bf-ink); text-decoration:none; border-bottom:2px solid transparent; }
.bf-product-nav a:hover, #ob2 .bf-product-nav a:hover { border-color:var(--bf-orange); }
.bf-product-nav a:last-child, #ob2 .bf-product-nav a:last-child { margin-left:auto; font-weight:600; }
:is(#bf-product-overview,#models-specifications,#in-action,#product-support,#enquire,#gen-ii-specifications,#sales-enquiry) { scroll-margin-top:16px; }
.bf-product-support { padding:56px 0; background:var(--bf-paper); font:400 16px/1.65 'Poppins',sans-serif; }
.bf-product-support .bf-ux-wrap { display:grid; grid-template-columns:2fr 1fr; gap:64px; align-items:center; }
.bf-product-support p:not(.bf-ux-eyebrow) { color:var(--bf-grey); margin:20px 0 0; max-width:600px; }
.bf-support-links { display:flex; flex-direction:column; gap:8px; }
.bf-support-links a { display:flex; align-items:center; justify-content:space-between; min-height:48px; color:var(--bf-ink); text-decoration:none; border-bottom:1px solid #ccc; }
.bf-support-links a:hover { text-decoration:underline; }
.bf-enquiry { padding:72px 0; background:#fff; font:400 16px/1.7 'Poppins',sans-serif; }
.bf-enquiry-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:64px; align-items:start; }
.bf-enquiry-intro > p:not(.bf-ux-eyebrow) { margin:24px 0 0; color:var(--bf-grey); }
.bf-enquiry-intro a { color:var(--bf-ink); font-weight:600; text-underline-offset:4px; }
.bf-enquiry-context { padding:16px 20px; background:var(--bf-paper); border-left:3px solid var(--bf-orange); }
.bf-enquiry-context strong { color:var(--bf-ink); }
.bf-enquiry-form { min-width:0; border:1px solid #ddd; border-radius:3px; padding:28px; }
[data-enquiry-loading] { padding:20px; background:var(--bf-paper); color:var(--bf-grey); }
[data-enquiry-failure] { padding:20px; border-left:3px solid var(--bf-orange); background:var(--bf-paper); color:var(--bf-ink); }
[data-enquiry-failure] button { padding:0; border:0; background:transparent; color:inherit; font:inherit; text-decoration:underline; cursor:pointer; }
[data-enquiry-failure] a { color:var(--bf-ink); text-decoration:underline; }
[data-bf-enquiry] [hidden] { display:none!important; }
.bf-table-scroll { max-width:100%; overflow:auto; overscroll-behavior-x:contain; }
.bf-table-scroll table { margin:0; }
.bf-table-hint { color:var(--bf-grey); font:400 14px/1.5 'Poppins',sans-serif; }
.bf-table-hint[hidden] { display:none; }
.bf-testimonials:has(figure:only-child) { grid-template-columns:minmax(0,1fr); max-width:850px; margin-inline:auto; }
#ob2 { --orange:#D14D2C; --action:#D14D2C; --ink:#222222; --muted:#666666; --paper:#F5F5F5; }
#ob2 .btn-p { font-size:16px; }
#ob2 .bf-sales-enquiry { display:grid; grid-template-columns:1.3fr 1fr; gap:48px; align-items:center; }
#ob2 .bf-sales-enquiry .cta { flex-direction:column; align-items:stretch; margin:0; }
@media(max-width:1200px) {
 .bf-ux-header__inner { padding-inline:24px; gap:20px; }
 .bf-ux-logo img { width:185px; }
 .bf-ux-nav { gap:16px; }
 .bf-ux-header__actions { gap:16px; }
 .bf-ux-nav > a[href="/contact/"] { display:none; }
}
@media(max-width:1023px) {
 :root { --bf-header-height:80px; }
 .bf-ux-nav,.bf-ux-utility,.bf-ux-header .bf-ux-dealer { display:none; }
 .bf-ux-header__inner { gap:12px; padding:12px 24px; }
 .bf-ux-logo { margin-right:auto; }
 .bf-ux-header .bf-ux-call { display:flex; align-items:center; justify-content:center; min-height:44px; padding:8px 12px; border:1px solid #666; border-radius:3px; }
 .bf-ux-menu { display:block; }
 .bf-ux-menu > summary { list-style:none; cursor:pointer; padding:10px 12px; border:1px solid #666; min-height:44px; border-radius:3px; }
 .bf-ux-menu > summary::-webkit-details-marker { display:none; }
 .bf-ux-menu > summary::after { content:' +'; }
 .bf-ux-menu[open] > summary::after { content:' −'; }
 .bf-ux-menu nav { position:absolute; top:100%; left:0; right:0; background:var(--bf-ink); padding:12px 24px 24px; max-height:calc(100dvh - var(--bf-header-height)); overflow:auto; border-top:1px solid #666; }
 .bf-ux-menu nav a,.bf-ux-menu nav summary { display:flex; align-items:center; min-height:48px; border-bottom:1px solid #ffffff26; padding:10px 4px; font-size:16px; cursor:pointer; }
 .bf-ux-menu nav summary::after { content:' +'; margin-left:auto; }
 .bf-ux-menu nav ul { margin:0; padding:0 0 0 20px; list-style:none; }
 .bf-range-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .bf-range-heading { align-items:start; gap:24px; }
 .bf-enquiry-grid { gap:32px; grid-template-columns:1fr 1.2fr; }
 .bf-enquiry-form { padding:20px; }
 .bf-product-nav .bf-ux-wrap { gap:8px 20px; }
}
@media(max-width:767px) {
 .bf-ux-wrap { padding-inline:20px; }
 .bf-ux-header__inner { display:grid; grid-template-columns:1fr auto; gap:6px 12px; padding:10px 16px; }
 .bf-ux-logo { grid-column:1; grid-row:1; min-height:34px; }
 .bf-ux-logo img { width:178px; }
 .bf-ux-menu { grid-column:2; grid-row:1; }
 .bf-ux-menu > summary { padding:8px 12px; }
 .bf-ux-header__actions { grid-column:1/-1; grid-row:2; display:flex; gap:10px; }
 .bf-ux-header .bf-ux-call { flex:1; }
 .bf-ux-header .bf-ux-quote { flex:2; min-height:44px; padding:8px 12px; font-size:16px; }
 .bf-range,.bf-ux-stories,.bf-enquiry { padding:44px 0; }
 .bf-range-heading { display:block; margin-bottom:24px; }
 .bf-range-heading > p { margin-top:20px; }
 .bf-range-grid { gap:20px; }
 .bf-range-copy { padding:20px; }
 .bf-range h3 { font-size:25px; }
 .bf-ux-stories-grid { grid-template-columns:1fr; }
 .bf-product-nav .bf-ux-wrap { gap:0 18px; padding-block:8px; }
 .bf-product-nav a:last-child { margin-left:0; }
 [data-bf-product] .bf-page-hero { --min-height:0!important; --padding-top:32px!important; --padding-bottom:32px!important; }
 [data-bf-product] .bf-page-hero h1 { font-size:40px!important; }
 .bf-product-support .bf-ux-wrap,.bf-enquiry-grid,#ob2 .bf-sales-enquiry { grid-template-columns:1fr; gap:28px; }
 .bf-product-support { padding:40px 0; }
 .bf-enquiry-form { padding:16px 10px; }
 #ob2 .bf-product-nav .bf-ux-wrap { padding-inline:20px; }
}
@media(max-width:540px) { .bf-range-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .bf-range-photo img { transition:none; } }
/* Override Elementor's generic link colour for readable text on white. */
.bf-range .bf-range-link, .bf-ux-stories a, .bf-enquiry a, .bf-product-support a { color:#222222; }
.bf-ux-header .bf-ux-button, [data-bf-product] .elementor-button[href="#enquire"], #ob2 .btn-p, #ob2 .cta .btn-p { font-size:19px; font-weight:700; }
#ob2 .eyebrow, #ob2 .kicker { color:#666666; }
#ob2 .dark-sec .eyebrow { color:#fff; }
#ob2 a:not(.btn):not(.call-link):not(.ob360-hero-link), #ob2 .ob360-hero-link { color:#222222; }
#ob2 .ft a:not(.btn), #ob2 .dark-sec a:not(.btn) { color:#fff; }
.bf-range h1 { font:400 clamp(32px,3.3vw,46px)/1.12 'Bakbak One',sans-serif; margin:0; color:#222; }
.bf-spec-disclosure { background:#fff; border:1px solid #ddd; border-radius:3px; margin:16px 0; color:#222; width:100%; }
.bf-spec-disclosure > summary { cursor:pointer; padding:16px 20px; min-height:56px; font:600 17px/1.5 'Poppins',sans-serif; }
.bf-spec-disclosure[open] > summary { border-bottom:1px solid #ddd; }
.bf-spec-disclosure .jet-toggle__content-inner { padding:16px; }
.bf-spec-disclosure .e-parent { --padding-left:0px; --padding-right:0px; }
/* Long dealer contact details must wrap at tablet widths as well as on phones. */
.elementor .elementor-icon-list-item > a { min-width:0; max-width:100%; }
.elementor .elementor-icon-list-text { min-width:0; overflow-wrap:anywhere; }


#ob2 [id] { scroll-margin-top:20px; }
.bf-range-photo[href="/omnibin-generation-ii/"] img { object-position:50% 70%; }
#ob2 .ft .bf-ux-campaign a { color:#222222; }
