/* Mobile only: desktop templates and third-party form contents stay intact. */
.bf-mobile-header { display:none; }
@media (max-width:767px) {
  :root { --bf-mobile-gutter:20px; }
  .elementor-location-header > .e-parent { display:none !important; }
  .bf-mobile-header { display:block; background:#222; color:#fff; font-family:'Poppins',sans-serif; position:relative; z-index:10001; }
  .bf-mobile-header * { box-sizing:border-box; }
  .bf-mobile-header__bar { display:flex; align-items:center; gap:8px; padding:10px 16px; min-height:64px; }
  .bf-mobile-logo { display:flex; align-items:center; flex:1; min-width:0; }
  .bf-mobile-logo img { width:100%; max-width:190px; height:auto; border-radius:0; }
  .bf-mobile-header a { color:inherit; }
  .bf-mobile-call, .bf-mobile-menu > summary { min-height:44px; display:flex; align-items:center; justify-content:center; padding:8px 12px; font-size:15px; font-weight:600; border:1px solid #777; border-radius:3px; cursor:pointer; }
  .bf-mobile-call { background:#b53f22; border-color:#b53f22; text-decoration:none; }
  .bf-mobile-menu > summary { list-style:none; }
  .bf-mobile-menu > summary::-webkit-details-marker { display:none; }
  .bf-mobile-menu[open] > summary { background:#fff; color:#222; }
  .bf-mobile-menu nav { position:absolute; top:64px; left:0; right:0; max-height:calc(100dvh - 80px); overflow-y:auto; background:#222; padding:12px 20px 24px; box-shadow:0 12px 20px #2223; }
  .bf-mobile-menu ul { list-style:none; padding:0; margin:0; }
  .bf-mobile-menu li { border-bottom:1px solid #ffffff26; }
  .bf-mobile-menu li a, .bf-mobile-menu li summary, .bf-mobile-contact > a { display:flex; align-items:center; min-height:48px; padding:10px 4px; text-decoration:none; font-size:16px; line-height:1.5; }
  .bf-mobile-menu li summary { display:list-item; margin-left:18px; cursor:pointer; }
  .bf-mobile-menu li ul { padding-left:16px; }
  .bf-mobile-contact { margin-top:16px; overflow-wrap:anywhere; }
  .bf-mobile-social { display:flex; flex-wrap:wrap; gap:8px 16px; }
  .bf-mobile-social a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; }
  .bf-mobile-promo { background:#0d6c38; color:#fdb316; padding:0 16px; }
  .bf-mobile-promo > summary { cursor:pointer; min-height:44px; padding:10px 0; font-size:13px; line-height:1.5; }
  .bf-mobile-promo > summary span { white-space:nowrap; }
  .bf-mobile-promo p { padding:8px 0 16px; margin:0; font-size:15px; line-height:1.6; }
  .bf-mobile-header :focus-visible, .bf-table-scroll:focus-visible { outline:3px solid #fdb316; outline-offset:3px; }
  /* Natural wrapping fixes container overflow rather than concealing it. */
  .elementor .e-con, .elementor .e-con-inner, .elementor-widget, .jet-listing-grid__item { min-width:0; }
  [data-elementor-type='wp-page'] > .e-parent, [data-elementor-type='single-post'] > .e-parent, .elementor-location-footer > .e-parent { --padding-left:20px; --padding-right:20px; --padding-top:32px; --padding-bottom:32px; }
  .elementor .elementor-heading-title { overflow-wrap:anywhere; }
  .elementor-widget-text-editor { overflow-wrap:anywhere; }
  .elementor .bf-page-hero { --min-height:0px; --padding-top:28px; --padding-bottom:28px; }
  .elementor .bf-page-hero .elementor-heading-title { font-size:clamp(32px,9vw,42px); line-height:1.12; }
  .bf-page-hero .elementor-widget-text-editor p { font-size:17px; line-height:1.5; margin-bottom:0; }
  .bf-page-hero .elementor-absolute { display:none; } /* Empty decorative outline only. */
  .elementor .elementor-button { min-height:48px; display:inline-flex; align-items:center; justify-content:center; white-space:normal; line-height:1.4; padding:12px 20px; }
  .elementor .elementor-button-content-wrapper { min-width:0; }
  .elementor .elementor-button-text { overflow-wrap:anywhere; }
  .elementor .elementor-widget-video, .elementor .elementor-widget-image img { max-width:100%; }
  .elementor .jet-listing-grid__items { --columns:1; }
  .elementor .jet-listing-grid__item { max-width:100%; }
  .elementor-location-footer .elementor-nav-menu a, .elementor-location-footer .elementor-icon-list-item a { min-height:44px; display:flex; align-items:center; }
  .elementor .bf-form-section .e-con { --padding-left:0px; --padding-right:0px; }
  .elementor .bf-form-section { --padding-left:20px; --padding-right:20px; }
  .bf-table-scroll { width:100%; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; margin:12px 0 24px; }
  .bf-table-scroll table { width:100%; min-width:560px; margin:0; }
  .bf-table-scroll td, .bf-table-scroll th { white-space:normal; }
  .bf-table-hint { font-size:14px; line-height:1.5; margin:12px 0 4px; }
  main.page, main.site-main { overflow-wrap:anywhere; }
  main.site-main:not(:has(.elementor)) { padding:24px 20px; }
  main.site-main:not(:has(.elementor)) h1 { font-size:36px; line-height:1.15; }
  /* Machinery leads the homepage hero; all copy remains available below. */
  /* Hidden slides must not reserve the tallest slide's height on phones. */
  .bf-carousel__slide { display:none; }
  .bf-carousel__slide.is-active { display:block; }
  .bf-carousel .bf-launch__inner { padding:18px 20px 80px; gap:16px; }
  .bf-launch__product { order:-1; padding:0; }
  .bf-launch__product img { aspect-ratio:1100/460; object-fit:contain; }
  .bf-launch h1 { font-size:36px; }
  .bf-launch .bf-launch__badge { margin-bottom:8px; }
  .bf-launch .bf-launch__benefit { font-size:18px; margin-top:12px; }
  .bf-launch__actions { margin-top:16px; gap:8px; }
  .bf-launch__copy { display:flex; flex-direction:column; }
  .bf-launch__description { order:2; }
  .bf-launch__reassurance { order:3; }
  .bf-carousel .bf-carousel__image { position:relative; display:block; height:220px; object-fit:cover; }
  .bf-carousel .bf-carousel__banner-inner { padding:18px 20px 80px; min-height:0; }
  .bf-carousel__banner-copy { padding:0; background:none; }
  .bf-carousel__banner-copy h2 { font-size:32px; margin-bottom:12px; }
  .bf-carousel__banner-copy p { font-size:18px; margin:0; }
  .bf-carousel a.bf-carousel__explore { margin-top:16px; }
  /* Keep the Generation II photo and action together, without repeated copy. */
  .bf-carousel .bf-launch--photo .bf-carousel__image { height:clamp(180px,50vw,220px); }
  .bf-launch--photo h1 { font-size:32px; }
  .bf-launch--photo .bf-launch__benefit { font-size:17px; line-height:1.4; }
  .bf-launch--photo .bf-launch__desktop-text,
  .bf-launch--photo .bf-launch__description,
  .bf-launch--photo .bf-launch__reassurance { display:none; }
  .bf-launch--photo .bf-launch__mobile-text { display:inline; }
}
@media (max-width:767px) {
  .elementor .e-con.bf-page-hero { --min-height:0px !important; --padding-top:28px !important; --padding-bottom:28px !important; background-color:#222; }
  .elementor .bf-page-hero .elementor-heading-title { font-size:clamp(32px,9vw,42px) !important; line-height:1.12 !important; }
  .elementor .bf-page-hero .elementor-widget-heading { padding-left:0; }
  .elementor .bf-page-hero .elementor-widget-text-editor p { font-size:17px !important; }
}
.bf-product-actions { display:none; }
@media (max-width:767px) {
  .bf-product-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; padding:16px 20px; background:#f5f5f3; }
  .bf-product-actions a { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:10px 14px; font:600 15px/1.5 'Poppins',sans-serif; color:#222; }
  .bf-product-actions a:first-child { background:#b53f22; color:#fff; border-radius:3px; text-decoration:none; }
  .bf-product-actions a:focus-visible { outline:3px solid #222; outline-offset:3px; }
  .elementor-widget-theme-post-content, .elementor-widget-theme-post-content a { overflow-wrap:anywhere; }
  #bf-product-overview { scroll-margin-top:20px; }
  #ob2 .hero h1 { font-size:40px; line-height:1.1; }
  #ob2 .hero .benefit { font-size:18px; line-height:1.5; margin-top:12px; }
  #ob2 .hero .inner { display:flex; flex-direction:column; }
  #ob2 .hero .line { order:2; }
  #ob2 .hero .tag { order:3; }
  #ob2 .cta { margin-top:16px; }
}
@media (max-width:767px) {
  .elementor .elementor-icon-list-text { min-width:0; overflow-wrap:anywhere; }
  .elementor .elementor-icon-list-item > a { min-width:0; max-width:100%; }
}

/* Keep the homepage product introduction and its cards together on phones. */
@media (max-width:767px) {
  .home #product-range {
    --min-height:0px;
    --content-width:100%;
    --padding-top:28px;
    --padding-bottom:0px;
    --padding-left:20px;
    --padding-right:20px;
    --gap:0px;
  }
  .home #product-range > .e-con-inner { gap:0; }
  .home #product-range .elementor-element-dc6b1c9 { --width:100%; --gap:12px; }
  .home #product-range .elementor-element-8e9402c { --min-height:48px; }
  .home #product-range .elementor-element-7f223a5 { top:50%; bottom:auto; transform:translateY(-50%); pointer-events:none; }
  .home #product-range .elementor-element-17c5352 { display:none; }
  .home #product-range .elementor-element-f5fb6ab { text-transform:none; }
  .home #product-range .elementor-element-f5fb6ab p { margin:0; }
  .home .elementor-element.elementor-element-64ca8d1 {
    --content-width:100%;
    --margin-top:0px;
    --padding-top:20px;
    --padding-bottom:28px;
    --padding-left:20px;
    --padding-right:20px;
    background:var(--e-global-color-primary);
  }
  .home .elementor-element.elementor-element-542d46c .slick-initialized {
    display:grid !important; /* Override the carousel plugin's block layout. */
    grid-template-columns:48px 48px minmax(0,1fr);
    gap:16px 12px;
  }
  .home .elementor-element.elementor-element-542d46c .slick-list { grid-column:1 / -1; grid-row:1; min-width:0; }
  .home .elementor-element.elementor-element-542d46c .jet-listing-grid__slider-icon {
    position:static;
    transform:none;
    grid-row:2;
    width:48px;
    height:48px;
    margin:0;
    background:#fff;
    color:var(--e-global-color-primary);
  }
  .home .elementor-element.elementor-element-542d46c .prev-arrow { grid-column:1; }
  .home .elementor-element.elementor-element-542d46c .next-arrow { grid-column:2; }
  .home .elementor-element.elementor-element-542d46c .next-arrow svg { transform:rotate(180deg); }
  .home .elementor-element.elementor-element-542d46c .jet-listing-grid__slider-icon:focus-visible { outline:3px solid #fff; outline-offset:4px; }
}
